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

Mark Thompson sw at jkqxz.net
Sun Apr 27 18:08:10 EEST 2025


On 27/04/2025 01:15, James Almer wrote:
> On 4/26/2025 5:49 PM, Mark Thompson wrote:
>> 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
> 
> Set LGTM.
> 
> Remember to bump minor in lavc and lavf for the decoder and de/muxers, and add entries to Changelog and the "Supported File Formats, Codecs or Features" section in doc/general_contents.texi

Added.

Pushed following some more testing and fixing an issue with writing multiple metadata blocks.

Thanks to everyone who reviewed this!

- Mark



More information about the ffmpeg-devel mailing list