[FFmpeg-devel] [PATCH v4 0/7] APV support

Mark Thompson sw at jkqxz.net
Sat Apr 26 23:49:31 EEST 2025


v4: minor changes from previous version reflecting review comments.

This seems to be converging so will consider pushing soon and then working on top of it (the patches from Dawid Kozinski for ISOBMFF support will also apply on top of this).

My next thoughts here are around improving the entropy decoding because with the optimised transquant it is taking >90% of the decoder time at the highest bitrate bands.

Thanks,

- Mark

Mark Thompson (7):
  lavc: APV codec ID and descriptor
  lavc/cbs: APV support
  lavf: APV demuxer
  lavc: APV decoder
  lavc/apv: AVX2 transquant for x86-64
  lavc: APV metadata bitstream filter
  lavf: APV muxer

 configure                            |   2 +
 libavcodec/Makefile                  |   2 +
 libavcodec/allcodecs.c               |   1 +
 libavcodec/apv.h                     |  89 ++++
 libavcodec/apv_decode.c              | 433 +++++++++++++++++++
 libavcodec/apv_decode.h              |  80 ++++
 libavcodec/apv_dsp.c                 | 140 +++++++
 libavcodec/apv_dsp.h                 |  39 ++
 libavcodec/apv_entropy.c             | 200 +++++++++
 libavcodec/bitstream_filters.c       |   1 +
 libavcodec/bsf/Makefile              |   1 +
 libavcodec/bsf/apv_metadata.c        | 134 ++++++
 libavcodec/cbs.c                     |   6 +
 libavcodec/cbs_apv.c                 | 455 ++++++++++++++++++++
 libavcodec/cbs_apv.h                 | 207 ++++++++++
 libavcodec/cbs_apv_syntax_template.c | 596 +++++++++++++++++++++++++++
 libavcodec/cbs_internal.h            |   4 +
 libavcodec/codec_desc.c              |   7 +
 libavcodec/codec_id.h                |   1 +
 libavcodec/x86/Makefile              |   2 +
 libavcodec/x86/apv_dsp.asm           | 308 ++++++++++++++
 libavcodec/x86/apv_dsp_init.c        |  44 ++
 libavformat/Makefile                 |   2 +
 libavformat/allformats.c             |   2 +
 libavformat/apvdec.c                 | 248 +++++++++++
 libavformat/apvenc.c                 |  40 ++
 libavformat/cbs.h                    |   1 +
 tests/checkasm/Makefile              |   1 +
 tests/checkasm/apv_dsp.c             | 109 +++++
 tests/checkasm/checkasm.c            |   3 +
 tests/checkasm/checkasm.h            |   1 +
 tests/fate/checkasm.mak              |   1 +
 32 files changed, 3160 insertions(+)
 create mode 100644 libavcodec/apv.h
 create mode 100644 libavcodec/apv_decode.c
 create mode 100644 libavcodec/apv_decode.h
 create mode 100644 libavcodec/apv_dsp.c
 create mode 100644 libavcodec/apv_dsp.h
 create mode 100644 libavcodec/apv_entropy.c
 create mode 100644 libavcodec/bsf/apv_metadata.c
 create mode 100644 libavcodec/cbs_apv.c
 create mode 100644 libavcodec/cbs_apv.h
 create mode 100644 libavcodec/cbs_apv_syntax_template.c
 create mode 100644 libavcodec/x86/apv_dsp.asm
 create mode 100644 libavcodec/x86/apv_dsp_init.c
 create mode 100644 libavformat/apvdec.c
 create mode 100644 libavformat/apvenc.c
 create mode 100644 tests/checkasm/apv_dsp.c

-- 
2.47.2


More information about the ffmpeg-devel mailing list