[FFmpeg-devel] [PATCHSET] AAC decoder refactor

Lynne dev at lynne.ee
Thu Apr 11 08:42:37 EEST 2024


Apr 10, 2024, 23:57 by michael at niedermayer.cc:

> On Wed, Apr 10, 2024 at 08:18:11PM +0200, Michael Niedermayer wrote:
>
>> On Wed, Apr 10, 2024 at 06:48:26PM +0200, Lynne wrote:
>> > Apr 8, 2024, 09:36 by dev at lynne.ee:
>> > 
>> > > The following patchset refactors the AAC decoder step by step,
>> > > removing all large-scale templating and abstracting away typed
>> > > DSP functions from symbol parsing.
>> > >
>> > > This series saves 110Kib of binary data from libavcodec.so
>> > > when compiled with Clang 18 with -O3, after stripping.
>> > >
>> > > The patchset can also be viewed here:
>> > > https://github.com/cyanreg/FFmpeg/tree/aac_cleanup
>> > >
>> > > Fate passes on each step, and I've been running this patchset for
>> > > a week with no issues.
>> > >
>> > > This also prepares the decoder for USAC support.
>> > >
>> > 
>> > I've rebased the linked repo to current git master if anyone
>> > wants to test.
>>
>> thanks, i will try to test it
>>
>
> make fate-source
>
> TEST    source
> --- ./tests/ref/fate/source	2024-04-08 18:26:00.670129617 +0200
> +++ tests/data/fate/source	2024-04-10 23:56:18.032896853 +0200
> @@ -22,6 +22,13 @@
>  compat/djgpp/math.h
>  compat/float/float.h
>  compat/float/limits.h
> +libavcodec/aac/aacdec.h
> +libavcodec/aac/aacdec_fixed_coupling.h
> +libavcodec/aac/aacdec_fixed_dequant.h
> +libavcodec/aac/aacdec_fixed_prediction.h
> +libavcodec/aac/aacdec_float_coupling.h
> +libavcodec/aac/aacdec_float_prediction.h
> +libavcodec/aac/aacdec_latm.h
>  libavcodec/bitstream_template.h
>  tools/decode_simple.h
>  Use of av_clip() where av_clip_uintp2() could be used:
> Test source failed. Look at tests/data/fate/source.err for details.
> tests/Makefile:310: recipe for target 'fate-source' failed
> make: *** [fate-source] Error 1
>

Thanks for testing. Fixed both issues in the repo.
Was only testing with fate-aac while developing.


More information about the ffmpeg-devel mailing list