[FFmpeg-trac] #2616(avcodec:open): support matrox mpeg-2 I-frame with alpha codec (m704 fourcc)

FFmpeg trac at avcodec.org
Sat Jun 1 18:16:43 CEST 2013


#2616: support matrox mpeg-2 I-frame with alpha codec (m704 fourcc)
-------------------------------------+-------------------------------------
             Reporter:  ami_stuff    |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  normal       |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  matrox       |               Blocked By:
  mpeg2video alpha                   |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Old description:

> attached file decodes as mpeg2video, but there are visible some artefact
> in the right-bottom corner of the video
>
> http://www1.datafilehost.com/d/ea13c1dc
>
> {{{
> C:\>ffmpeg -vcodec mpeg2video -i m704.avi out.avi
> ffmpeg version N-53680-g0ab9362 Copyright (c) 2000-2013 the FFmpeg
> developers
>   built on May 30 2013 12:14:03 with gcc 4.7.3 (GCC)
>   configuration: --enable-gpl --enable-version3 --disable-w32threads
> --enable-av
> isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls
> --enab
> le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-
> libfreetyp
> e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-
> libmp3lame --ena
> ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
> --enable-l
> ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
> --enable-libsp
> eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc
> --enable-libvo-
> amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-
> libxavs --
> enable-libxvid --enable-zlib
>   libavutil      52. 34.100 / 52. 34.100
>   libavcodec     55. 12.102 / 55. 12.102
>   libavformat    55.  8.100 / 55.  8.100
>   libavdevice    55.  2.100 / 55.  2.100
>   libavfilter     3. 73.100 /  3. 73.100
>   libswscale      2.  3.100 /  2.  3.100
>   libswresample   0. 17.102 /  0. 17.102
>   libpostproc    52.  3.100 / 52.  3.100
> [mpeg2video @ 02997f20] Invalid frame dimensions 0x0.
> Input #0, avi, from 'm704.avi':
>   Duration: 00:00:12.64, start: 0.000000, bitrate: 8031 kb/s
>     Stream #0:0: Video: mpeg2video (4:2:2) (M704 / 0x3430374D), yuv422p,
> 720x480
>  [SAR 8:9 DAR 4:3], 23.98 fps, 23.98 tbr, 23.97 tbn, 59.94 tbc
> Output #0, avi, to 'out.avi':
>   Metadata:
>     ISFT            : Lavf55.8.100
>     Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 720x480 [SAR
> 8:9 DAR
>  4:3], q=2-31, 200 kb/s, 23.98 tbn, 23.98 tbc
> Stream mapping:
>   Stream #0:0 -> #0:0 (mpeg2video -> mpeg4)
> Press [q] to stop, [?] for help
> [mpeg2video @ 02997f20] Invalid frame dimensions 0x0.
> [mpeg2video @ 02997f20] end mismatch left=73960 1
> [mpeg2video @ 02997f20] Warning MVs not available
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=69680 1
> [mpeg2video @ 02997f20] Warning MVs not available
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=69760 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=69664 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=69808 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=70176 1
> [mpeg2video @ 02997f20] Warning MVs not available
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=70072 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=70168 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=69976 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=70736 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=70736 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=70440 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=71416 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=70920 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=71096 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=71208 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=71304 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=71848 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=72432 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=71208 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=71568 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=72256 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=74440 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=73032 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=72712 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=73160 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> frame=  246 fps=0.0 q=31.0 size=     467kB time=00:00:10.26 bitrate=
> 373.2kbits/
> end mismatch left=75504 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=75672 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=77384 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> [mpeg2video @ 02997f20] end mismatch left=76168 1
> [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
> frame=  303 fps=0.0 q=31.0 Lsize=     536kB time=00:00:12.63 bitrate=
> 347.2kbits
> /s
> video:523kB audio:0kB subtitle:0 global headers:0kB muxing overhead
> 2.463669%
> }}}

New description:

 attached file decodes as mpeg2video, but there are visible some artefact
 in the right-bottom corner of the video

 http://www1.datafilehost.com/d/ea13c1dc

 {{{
 C:\>ffmpeg -vcodec mpeg2video -i m704.avi out.avi
 ffmpeg version N-53680-g0ab9362 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on May 30 2013 12:14:03 with gcc 4.7.3 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-av
 isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls
 --enab
 le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-
 libfreetyp
 e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame
 --ena
 ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
 --enable-l
 ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
 --enable-libsp
 eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-
 libvo-
 amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-
 libxavs --
 enable-libxvid --enable-zlib
   libavutil      52. 34.100 / 52. 34.100
   libavcodec     55. 12.102 / 55. 12.102
   libavformat    55.  8.100 / 55.  8.100
   libavdevice    55.  2.100 / 55.  2.100
   libavfilter     3. 73.100 /  3. 73.100
   libswscale      2.  3.100 /  2.  3.100
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  3.100 / 52.  3.100
 [mpeg2video @ 02997f20] Invalid frame dimensions 0x0.
 Input #0, avi, from 'm704.avi':
   Duration: 00:00:12.64, start: 0.000000, bitrate: 8031 kb/s
     Stream #0:0: Video: mpeg2video (4:2:2) (M704 / 0x3430374D), yuv422p,
 720x480
  [SAR 8:9 DAR 4:3], 23.98 fps, 23.98 tbr, 23.97 tbn, 59.94 tbc
 Output #0, avi, to 'out.avi':
   Metadata:
     ISFT            : Lavf55.8.100
     Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 720x480 [SAR
 8:9 DAR
  4:3], q=2-31, 200 kb/s, 23.98 tbn, 23.98 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (mpeg2video -> mpeg4)
 Press [q] to stop, [?] for help
 [mpeg2video @ 02997f20] Invalid frame dimensions 0x0.
 [mpeg2video @ 02997f20] end mismatch left=73960 1
 [mpeg2video @ 02997f20] Warning MVs not available
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=69680 1
 [mpeg2video @ 02997f20] Warning MVs not available
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=69760 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=69664 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=69808 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=70176 1
 [mpeg2video @ 02997f20] Warning MVs not available
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=70072 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=70168 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=69976 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=70736 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=70736 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=70440 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=71416 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=70920 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=71096 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=71208 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=71304 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=71848 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=72432 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=71208 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=71568 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=72256 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=74440 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=73032 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=72712 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=73160 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 frame=  246 fps=0.0 q=31.0 size=     467kB time=00:00:10.26 bitrate=
 373.2kbits/
 end mismatch left=75504 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=75672 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=77384 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 [mpeg2video @ 02997f20] end mismatch left=76168 1
 [mpeg2video @ 02997f20] concealing 9 DC, 9 AC, 9 MV errors in I frame
 frame=  303 fps=0.0 q=31.0 Lsize=     536kB time=00:00:12.63 bitrate=
 347.2kbits
 /s
 video:523kB audio:0kB subtitle:0 global headers:0kB muxing overhead
 2.463669%
 }}}

--

Comment (by ami_stuff):

 Replying to [comment:10 cehoyos]:
 > Unrelated: Could you test if the sample from ticket #2464 plays for more
 than half a second for you with the Matrox codec installed?

 Matrox codecs which I installed doesn't like this file (VirtualDub says
 "Couldn't load decompressor for format 'M701' (unknown)".

 What I can notice is that Xvid's FourCC changer reports for this file:

 FourCC Description code: M701
 FourCC Used codes: M701

 when for myself generated file:

 FourCC Description code: m701
 FourCC Used codes: M701

 but even when I modify "FourCC Descriprion code" from M701 to m701 I still
 can't load/play the file with WMP/VirtualDub.

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2616#comment:11>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list