[FFmpeg-devel] [PATCH] fate/aac: add missing bitexact flag to some encoder tests

James Almer jamrial at gmail.com
Mon Aug 3 15:48:00 EEST 2020


On 8/3/2020 7:25 AM, Paul B Mahol wrote:
> On 8/3/20, James Almer <jamrial at gmail.com> wrote:
>> On 8/2/2020 8:43 PM, James Almer wrote:
>>> Will prevet FATE from breaking once LIBAVCODEC_VERSION_MINOR is bumped to
>>> 100.
>>>
>>> Reported-by: zane
>>> Signed-off-by: James Almer <jamrial at gmail.com>
>>> ---
>>> If anyone wants to check why adding LIBAVCODEC_IDENT to the bitstream (or
>>> rather,
>>> its length increasing) in either
>>> https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/aacenc.c;h=e65b76cd74ab3cf86f23de0528cce115e91350f3;hb=HEAD#l60
>>> or
>>> https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/aacenc.c;h=e65b76cd74ab3cf86f23de0528cce115e91350f3;hb=HEAD#l689
>>> results in these tests failing when comparing the decoded output with the
>>> reference file, that would be great, because i don't think it should
>>> happen.
>>>
>>>  libavcodec/version.h |  2 +-
>>>  tests/fate/aac.mak   | 12 ++++++------
>>>  2 files changed, 7 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/libavcodec/version.h b/libavcodec/version.h
>>> index f66919617a..a3f9f828ee 100644
>>> --- a/libavcodec/version.h
>>> +++ b/libavcodec/version.h
>>> @@ -28,7 +28,7 @@
>>>  #include "libavutil/version.h"
>>>
>>>  #define LIBAVCODEC_VERSION_MAJOR  58
>>> -#define LIBAVCODEC_VERSION_MINOR  99
>>> +#define LIBAVCODEC_VERSION_MINOR 100
>>
>> Err, of course this change is not meant to be in this patch. Forgot to
>> remove it while testing. Did so locally just now.
>>
>>>  #define LIBAVCODEC_VERSION_MICRO 100
>>>
>>>  #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR,
>>> \
>>> diff --git a/tests/fate/aac.mak b/tests/fate/aac.mak
>>> index bd283225c1..4b38d3648c 100644
>>> --- a/tests/fate/aac.mak
>>> +++ b/tests/fate/aac.mak
>>> @@ -150,7 +150,7 @@ FATE_AAC += $(FATE_AAC_CT:%=fate-aac-ct-%)
>>>
>>>  FATE_AAC_ENCODE += fate-aac-aref-encode
>>>  fate-aac-aref-encode: ./tests/data/asynth-44100-2.wav
>>> -fate-aac-aref-encode: CMD = enc_dec_pcm adts wav s16le $(REF) -c:a aac
>>> -aac_is 0 -aac_pns 0 -aac_ms 0 -aac_tns 0 -b:a 512k
>>> +fate-aac-aref-encode: CMD = enc_dec_pcm adts wav s16le $(REF) -c:a aac
>>> -aac_is 0 -aac_pns 0 -aac_ms 0 -aac_tns 0 -b:a 512k -fflags +bitexact
>>> -flags +bitexact
>>>  fate-aac-aref-encode: CMP = stddev
>>>  fate-aac-aref-encode: REF = ./tests/data/asynth-44100-2.wav
>>>  fate-aac-aref-encode: CMP_SHIFT = -4096
>>> @@ -159,7 +159,7 @@ fate-aac-aref-encode: SIZE_TOLERANCE = 2464
>>>  fate-aac-aref-encode: FUZZ = 89
>>>
>>>  FATE_AAC_ENCODE += fate-aac-ln-encode
>>> -fate-aac-ln-encode: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a aac
>>> -aac_is 0 -aac_pns 0 -aac_ms 0 -aac_tns 0 -b:a 512k
>>> +fate-aac-ln-encode: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a aac
>>> -aac_is 0 -aac_pns 0 -aac_ms 0 -aac_tns 0 -b:a 512k -fflags +bitexact
>>> -flags +bitexact
>>>  fate-aac-ln-encode: CMP = stddev
>>>  fate-aac-ln-encode: REF =
>>> $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
>>>  fate-aac-ln-encode: CMP_SHIFT = -4096
>>> @@ -168,7 +168,7 @@ fate-aac-ln-encode: SIZE_TOLERANCE = 3560
>>>  fate-aac-ln-encode: FUZZ = 30
>>>
>>>  FATE_AAC_ENCODE += fate-aac-ln-encode-128k
>>> -fate-aac-ln-encode-128k: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a aac
>>> -aac_is 0 -aac_pns 0 -aac_ms 0 -aac_tns 0 -b:a 128k -cutoff 22050
>>> +fate-aac-ln-encode-128k: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a aac
>>> -aac_is 0 -aac_pns 0 -aac_ms 0 -aac_tns 0 -b:a 128k -cutoff 22050 -fflags
>>> +bitexact -flags +bitexact
>>>  fate-aac-ln-encode-128k: CMP = stddev
>>>  fate-aac-ln-encode-128k: REF =
>>> $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
>>>  fate-aac-ln-encode-128k: CMP_SHIFT = -4096
>>> @@ -195,7 +195,7 @@ fate-aac-tns-encode: FUZZ = 7
>>>  fate-aac-tns-encode: SIZE_TOLERANCE = 3560
>>>
>>>  FATE_AAC_ENCODE += fate-aac-is-encode
>>> -fate-aac-is-encode: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a aac
>>> -aac_pns 0 -aac_is 1 -aac_ms 0 -b:a 128k -aac_tns 0 -cutoff 22050
>>> +fate-aac-is-encode: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a aac
>>> -aac_pns 0 -aac_is 1 -aac_ms 0 -b:a 128k -aac_tns 0 -cutoff 22050 -fflags
>>> +bitexact -flags +bitexact
>>>  fate-aac-is-encode: CMP = stddev
>>>  fate-aac-is-encode: REF =
>>> $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
>>>  fate-aac-is-encode: CMP_SHIFT = -4096
>>> @@ -204,7 +204,7 @@ fate-aac-is-encode: SIZE_TOLERANCE = 3560
>>>  fate-aac-is-encode: FUZZ = 10
>>>
>>>  FATE_AAC_ENCODE += fate-aac-ms-encode
>>> -fate-aac-ms-encode: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a aac
>>> -aac_pns 0 -aac_is 0 -aac_ms 1 -aac_tns 0 -b:a 128k -cutoff 22050
>>> +fate-aac-ms-encode: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a aac
>>> -aac_pns 0 -aac_is 0 -aac_ms 1 -aac_tns 0 -b:a 128k -cutoff 22050 -fflags
>>> +bitexact -flags +bitexact
>>>  fate-aac-ms-encode: CMP = stddev
>>>  fate-aac-ms-encode: REF =
>>> $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
>>>  fate-aac-ms-encode: CMP_SHIFT = -4096
>>> @@ -224,7 +224,7 @@ fate-aac-yoraw-encode: FUZZ = 17
>>>
>>>
>>>  FATE_AAC_ENCODE += fate-aac-pred-encode
>>> -fate-aac-pred-encode: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -profile:a
>>> aac_main -c:a aac -aac_is 0 -aac_pns 0 -aac_ms 0 -aac_tns 0 -b:a 128k
>>> -cutoff 22050
>>> +fate-aac-pred-encode: CMD = enc_dec_pcm adts wav s16le
>>> $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -profile:a
>>> aac_main -c:a aac -aac_is 0 -aac_pns 0 -aac_ms 0 -aac_tns 0 -b:a 128k
>>> -cutoff 22050 -fflags +bitexact -flags +bitexact
>>>  fate-aac-pred-encode: CMP = stddev
>>>  fate-aac-pred-encode: REF =
>>> $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
>>>  fate-aac-pred-encode: CMP_SHIFT = -4096
>>>
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> 
> LGTM

Will apply.

> 
> Dont you need to update results?

No, these are float encoder tests. In this case the bitexact flag only
prevents LIBAVCODEC_IDENT being added to the bitstream as encoder
identification, which as i mentioned above strangely affects the output
of the decoder when its length increases by one byte (100 minor instead
of 99), when it probably shouldn't.


More information about the ffmpeg-devel mailing list