[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