Opened 3 years ago

Last modified 3 years ago

#9263 new defect

some FATE tests incorrectly set bitexact flag

Reported by: Ilya Kurdyukov Owned by:
Priority: normal Component: fate
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I'm making a SIMD optimization patch for the Elbrus architecture (e2k).

I have a failed test "avid/avidmeridianntsc.mov", because I have a faster, not bitexact IDCT, which is not selected if AV_CODEC_FLAG_BITEXACT is set. But the test itself falsely set the -bitexact flag, so when it comes to ff_idctdsp_init_e2k() - this condition:

(avctx->idct_algo == FF_IDCT_AUTO && !(avctx->flags & AV_CODEC_FLAG_BITEXACT))

...is true, avctx->flags are zero.

From the FATE log:

ffmpeg -nostdin -nostats -noauto_conversion_filters -cpuflags all -hwaccel none -threads 1 -thread_type frame+slice -i ../fate-suite/avid/avidmeridianntsc.mov -bitexact -f framecrc -

I found that the -bitexact option must come before "-i filename" for this to work correctly, not after the filename.

I'm working with ffmpeg version 4.4 (from 8 Apr 2021) sources right now.

Change History (1)

comment:1 by Ilya Kurdyukov, 3 years ago

I guess that in tests/fate-run.sh

"ffmpeg "$@" -bitexact" should be replaced with "ffmpeg -bitexact "$@""

framecrc(){
    ffmpeg "$@" -bitexact -f framecrc -
}

ffmetadata(){
    ffmpeg "$@" -bitexact -f ffmetadata -
}

framemd5(){
    ffmpeg "$@" -bitexact -f framemd5 -
}

But with such replace failed test named "filter-adelay". While "avidmeridianntsc" test passed. So I don't know how to fix this correctly.

Last edited 3 years ago by Ilya Kurdyukov (previous) (diff)
Note: See TracTickets for help on using tickets.