[FFmpeg-trac] #3429(avcodec:new): fate-acodec-ra144 fails with cpuflags mmxext/sse
FFmpeg
trac at avcodec.org
Fri Feb 28 23:19:16 CET 2014
#3429: fate-acodec-ra144 fails with cpuflags mmxext/sse
--------------------------------------+---------------------------------
Reporter: jamal | Owner:
Type: defect | Status: new
Priority: normal | Component: avcodec
Version: git-master | Keywords:
Blocked By: | Blocking:
Reproduced by developer: 0 | Analyzed by developer: 0
--------------------------------------+---------------------------------
How to reproduce:
{{{
$ make fate-acodec-ra144 V=1 CPUFLAGS="mmx"
TEST acodec-ra144
/ffmpeg/src/tests/fate-run.sh fate-acodec-ra144 "" "" "/ffmpeg/build"
'enc_dec_pcm rm wav s16le tests/data/asynth-8000-1.wav -c:a real_144'
'stddev' 'tests/data/asynth-8000-1.wav' '' '' '' 'mmx' '-320' '4777' ''
'2' ''
/ffmpeg/build/ffmpeg -nostats -cpuflags mmx -threads 1 -thread_type
frame+slice -i /ffmpeg/build/tests/data/asynth-8000-1.wav -c:a real_144 -f
rm -y /ffmpeg/build/tests/data/fate/acodec-ra144.rm
/ffmpeg/build/ffmpeg -nostats -cpuflags mmx -flags +bitexact -threads 1
-thread_type frame+slice -i /ffmpeg/build/tests/data/fate/acodec-ra144.rm
-c:a pcm_s16le -f wav -
$ make fate-acodec-ra144 V=1 CPUFLAGS="mmx+mmxext"
TEST acodec-ra144
/ffmpeg/src/tests/fate-run.sh fate-acodec-ra144 "" "" "/ffmpeg/build"
'enc_dec_pcm rm wav s16le tests/data/asynth-8000-1.wav -c:a real_144'
'stddev' 'tests/data/asynth-8000-1.wav' '' '' '' 'mmx+mmxext' '-320'
'4777' '' '2' ''
/ffmpeg/build/ffmpeg -nostats -cpuflags mmx+mmxext -threads 1
-thread_type frame+slice -i /ffmpeg/build/tests/data/asynth-8000-1.wav
-c:a real_144 -f rm -y /ffmpeg/build/tests/data/fate/acodec-ra144.rm
/ffmpeg/build/ffmpeg -nostats -cpuflags mmx+mmxext -flags +bitexact
-threads 1 -thread_type frame+slice -i /ffmpeg/build/tests/data/fate
/acodec-ra144.rm -c:a pcm_s16le -f wav -
stddev: 6011.07 PSNR: 20.75 MAXDIFF:45550 bytes: 96000/ 96000
Test acodec-ra144 failed. Look at tests/data/fate/acodec-ra144.err for
details.
make: *** [fate-acodec-ra144] Error 1
$ make fate-acodec-ra144 V=1 CPUFLAGS="mmx+mmxext+sse+sse2"
TEST acodec-ra144
/ffmpeg/src/tests/fate-run.sh fate-acodec-ra144 "" "" "/ffmpeg/build"
'enc_dec_pcm rm wav s16le tests/data/asynth-8000-1.wav -c:a real_144'
'stddev' 'tests/data/asynth-8000-1.wav' '' '' '' 'mmx+mmxext+sse+sse2'
'-320' '4777' '' '2' ''
/ffmpeg/build/ffmpeg -nostats -cpuflags mmx+mmxext+sse+sse2 -threads 1
-thread_type frame+slice -i /ffmpeg/build/tests/data/asynth-8000-1.wav
-c:a real_144 -frm -y /ffmpeg/build/tests/data/fate/acodec-ra144.rm
/ffmpeg/build/ffmpeg -nostats -cpuflags mmx+mmxext+sse+sse2 -flags
+bitexact -threads 1 -thread_type frame+slice -i
/ffmpeg/build/tests/data/fate/acodec-ra144.rm -c:a pcm_s16le -f wav -
}}}
The problem seems to be in ff_scalarproduct_int16_mmxext(), which is not
used in the first example above, and is replaced by
ff_scalarproduct_int16_sse2() in the third.
I however couldn't reproduce similar failures with other codecs using
scalarproduct_int16, like for example fate-lossless-tak.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3429>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list