[FFmpeg-trac] #3700(avcodec:new): aic decoder output is not bit exact with and without mmx

FFmpeg trac at avcodec.org
Thu Jun 5 02:47:05 CEST 2014


#3700: aic decoder output is not bit exact with and without mmx
--------------------------------------+---------------------------------
               Reporter:  Timothy_Gu  |                  Owner:
                   Type:  defect      |                 Status:  new
               Priority:  normal      |              Component:  avcodec
                Version:  git-master  |               Keywords:  aic
             Blocked By:              |               Blocking:
Reproduced by developer:  0           |  Analyzed by developer:  0
--------------------------------------+---------------------------------
 == Summary of the bug ==
 The aic decoder outputs different framecrc with and without MMX, even with
 `-flags +bitexact`.

 == How to reproduce ==
 Decoding the first 15 frames of http://samples.ffmpeg.org/V-codecs/icod
 /Title-40_Percent_Speed.mov:

 With MMX optimization:
 {{{
 timothy_gu at ubuntu-lenovo:~/ffmpeg$ ./ffmpeg -cpuflags mmx -threads 1 -i
 Title-40_Percent_Speed.mov -an -flags +bitexact -vframes 15 -f framecrc -
 ffmpeg version N-63714-g1a426d5 Copyright (c) 2000-2014 the FFmpeg
 developers
   built on Jun  4 2014 17:34:36 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
   configuration:
   libavutil      52. 89.100 / 52. 89.100
   libavcodec     55. 66.100 / 55. 66.100
   libavformat    55. 42.100 / 55. 42.100
   libavdevice    55. 13.101 / 55. 13.101
   libavfilter     4.  5.100 /  4.  5.100
   libswscale      2.  6.100 /  2.  6.100
   libswresample   0. 19.100 /  0. 19.100
 Guessed Channel Layout for  Input Stream #0.1 : stereo
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Title-40_Percent_Speed.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     creation_time   : 2006-03-23 05:06:02
   Duration: 00:00:07.57, start: 0.000000, bitrate: 77602 kb/s
     Stream #0:0(eng): Video: aic (icod / 0x646F6369), yuv420p, 1440x1080,
 76052 kb/s, SAR 4:3 DAR 16:9, 29.97 fps, 29.97 tbr, 2997 tbn, 2997 tbc
 (default)
     Metadata:
       creation_time   : 2006-03-23 05:06:02
       handler_name    : Apple Alias Data Handler
       encoder         : Apple Intermediate Codec
       timecode        : 01:00:00;00
     Stream #0:1(eng): Audio: pcm_s16be (twos / 0x736F7774), 48000 Hz, 2
 channels, s16, 1536 kb/s (default)
     Metadata:
       creation_time   : 2006-03-23 05:06:03
       handler_name    : Apple Alias Data Handler
     Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
     Metadata:
       creation_time   : 2006-03-23 05:07:21
       handler_name    : Apple Alias Data Handler
       timecode        : 01:00:00;00
 #tb 0: 100/2997
 Output #0, framecrc, to 'pipe:':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     Stream #0:0(eng): Video: rawvideo (I420 / 0x30323449), yuv420p,
 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn,
 29.97 tbc (default)
     Metadata:
       creation_time   : 2006-03-23 05:06:02
       handler_name    : Apple Alias Data Handler
       timecode        : 01:00:00;00
       encoder         : Lavc rawvideo
 Stream mapping:
   Stream #0:0 -> #0:0 (aic -> rawvideo)
 Press [q] to stop, [?] for help
 0,          0,          0,        1,  2332800, 0xca4b6adc
 0,          1,          1,        1,  2332800, 0x91ed4efa
 0,          2,          2,        1,  2332800, 0x45b8140f
 0,          3,          3,        1,  2332800, 0x464ff320
 0,          4,          4,        1,  2332800, 0xeea6342e
 0,          5,          5,        1,  2332800, 0xf098212b
 0,          6,          6,        1,  2332800, 0xda92d4df
 0,          7,          7,        1,  2332800, 0x214358c7
 0,          8,          8,        1,  2332800, 0xac20040c
 0,          9,          9,        1,  2332800, 0xd07a910f
 0,         10,         10,        1,  2332800, 0x7293f51c
 0,         11,         11,        1,  2332800, 0x4d5a87d0
 0,         12,         12,        1,  2332800, 0xa6134a78
 0,         13,         13,        1,  2332800, 0xee6c3078
 0,         14,         14,        1,  2332800, 0x6c40c05c
 }}}

 Without:
 {{{
 timothy_gu at ubuntu-lenovo:~/ffmpeg$ ./ffmpeg -cpuflags 0 -threads 1 -i
 Title-40_Percent_Speed.mov -an -flags +bitexact -vframes 15 -f framecrc -
 ffmpeg version N-63714-g1a426d5 Copyright (c) 2000-2014 the FFmpeg
 developers
   built on Jun  4 2014 17:34:36 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
   configuration:
   libavutil      52. 89.100 / 52. 89.100
   libavcodec     55. 66.100 / 55. 66.100
   libavformat    55. 42.100 / 55. 42.100
   libavdevice    55. 13.101 / 55. 13.101
   libavfilter     4.  5.100 /  4.  5.100
   libswscale      2.  6.100 /  2.  6.100
   libswresample   0. 19.100 /  0. 19.100
 Guessed Channel Layout for  Input Stream #0.1 : stereo
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Title-40_Percent_Speed.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     creation_time   : 2006-03-23 05:06:02
   Duration: 00:00:07.57, start: 0.000000, bitrate: 77602 kb/s
     Stream #0:0(eng): Video: aic (icod / 0x646F6369), yuv420p, 1440x1080,
 76052 kb/s, SAR 4:3 DAR 16:9, 29.97 fps, 29.97 tbr, 2997 tbn, 2997 tbc
 (default)
     Metadata:
       creation_time   : 2006-03-23 05:06:02
       handler_name    : Apple Alias Data Handler
       encoder         : Apple Intermediate Codec
       timecode        : 01:00:00;00
     Stream #0:1(eng): Audio: pcm_s16be (twos / 0x736F7774), 48000 Hz, 2
 channels, s16, 1536 kb/s (default)
     Metadata:
       creation_time   : 2006-03-23 05:06:03
       handler_name    : Apple Alias Data Handler
     Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
     Metadata:
       creation_time   : 2006-03-23 05:07:21
       handler_name    : Apple Alias Data Handler
       timecode        : 01:00:00;00
 #tb 0: 100/2997
 Output #0, framecrc, to 'pipe:':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     Stream #0:0(eng): Video: rawvideo (I420 / 0x30323449), yuv420p,
 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn,
 29.97 tbc (default)
     Metadata:
       creation_time   : 2006-03-23 05:06:02
       handler_name    : Apple Alias Data Handler
       timecode        : 01:00:00;00
       encoder         : Lavc rawvideo
 Stream mapping:
   Stream #0:0 -> #0:0 (aic -> rawvideo)
 Press [q] to stop, [?] for help
 0,          0,          0,        1,  2332800, 0x48fbbbbd
 0,          1,          1,        1,  2332800, 0xfebc8f5b
 0,          2,          2,        1,  2332800, 0xdcb14ac9
 0,          3,          3,        1,  2332800, 0xae3344d0
 0,          4,          4,        1,  2332800, 0xeff2700a
 0,          5,          5,        1,  2332800, 0x00177859
 0,          6,          6,        1,  2332800, 0xebb81c54
 0,          7,          7,        1,  2332800, 0x16dc9fd2
 0,          8,          8,        1,  2332800, 0x7a995dec
 0,          9,          9,        1,  2332800, 0x0396df1a
 0,         10,         10,        1,  2332800, 0x0e4b6267
 0,         11,         11,        1,  2332800, 0xe48be2c7
 0,         12,         12,        1,  2332800, 0x75bf9fef
 0,         13,         13,        1,  2332800, 0x408d9cf9
 0,         14,         14,        1,  2332800, 0x7d3721d4
 frame=   15 fps=0.0 q=0.0 Lsize=       1kB time=00:00:00.50 bitrate=
 14.2kbits/s
 video:34172kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 }}}

 Difference:
 {{{
 --- c-only      2014-06-04 17:42:53.650986856 -0700
 +++ mmx 2014-06-04 17:42:47.722987012 -0700
 @@ -1,16 +1,16 @@
  #tb 0: 100/2997
 -0,          0,          0,        1,  2332800, 0x48fbbbbd
 -0,          1,          1,        1,  2332800, 0xfebc8f5b
 -0,          2,          2,        1,  2332800, 0xdcb14ac9
 -0,          3,          3,        1,  2332800, 0xae3344d0
 -0,          4,          4,        1,  2332800, 0xeff2700a
 -0,          5,          5,        1,  2332800, 0x00177859
 -0,          6,          6,        1,  2332800, 0xebb81c54
 -0,          7,          7,        1,  2332800, 0x16dc9fd2
 -0,          8,          8,        1,  2332800, 0x7a995dec
 -0,          9,          9,        1,  2332800, 0x0396df1a
 -0,         10,         10,        1,  2332800, 0x0e4b6267
 -0,         11,         11,        1,  2332800, 0xe48be2c7
 -0,         12,         12,        1,  2332800, 0x75bf9fef
 -0,         13,         13,        1,  2332800, 0x408d9cf9
 -0,         14,         14,        1,  2332800, 0x7d3721d4
 +0,          0,          0,        1,  2332800, 0xca4b6adc
 +0,          1,          1,        1,  2332800, 0x91ed4efa
 +0,          2,          2,        1,  2332800, 0x45b8140f
 +0,          3,          3,        1,  2332800, 0x464ff320
 +0,          4,          4,        1,  2332800, 0xeea6342e
 +0,          5,          5,        1,  2332800, 0xf098212b
 +0,          6,          6,        1,  2332800, 0xda92d4df
 +0,          7,          7,        1,  2332800, 0x214358c7
 +0,          8,          8,        1,  2332800, 0xac20040c
 +0,          9,          9,        1,  2332800, 0xd07a910f
 +0,         10,         10,        1,  2332800, 0x7293f51c
 +0,         11,         11,        1,  2332800, 0x4d5a87d0
 +0,         12,         12,        1,  2332800, 0xa6134a78
 +0,         13,         13,        1,  2332800, 0xee6c3078
 +0,         14,         14,        1,  2332800, 0x6c40c05c
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/3700>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list