Bug 793 - blocky artefacts between I-frames when decoding h.264 "IPB" from a Canon DSLR
blocky artefacts between I-frames when decoding h.264 "IPB" from a Canon DSLR
Status: CLOSED FIXED
Product: Libav
Classification: Legal
Component: general
11
X86 Linux
: --- normal
Assigned To: lu_zero@gentoo.org
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-12-19 17:10 CET by Daniel Musketa
Modified: 2017-03-05 17:46 CET (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Musketa 2014-12-19 17:10:08 CET
I am trying to playback or transcode from h.264 "IPB" footage from a Canon DSLR (to any format).

The problem:
I get error messages and blocky artefacts between I-frames during playback with players using libavcodec or when decoding directly with avconv.

The command:
avconv -v 9 -loglevel 99 -i Canon_EOS_70D_1080_IPB.MOV -codec:v mpeg2video -q 1 debian_testing.mpg

The output:
-------- 8< --------
avconv version 11-6:11-2, Copyright (c) 2000-2014 the Libav developers
  built on Oct 19 2014 20:25:25 with gcc 4.9.1 (Debian 4.9.1-18)
  configuration: --arch=amd64 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:11-2' --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --disable-avserver --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-swscale --enable-libcdio --enable-x11grab --enable-libx264 --enable-libxvid --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
  libavutil     54.  3. 0 / 54.  3. 0
  libavcodec    56.  1. 0 / 56.  1. 0
  libavformat   56.  1. 0 / 56.  1. 0
  libavdevice   55.  0. 0 / 55.  0. 0
  libavfilter    5.  0. 0 /  5.  0. 0
  libavresample  2.  1. 0 /  2.  1. 0
  libswscale     3.  0. 0 /  3.  0. 0
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set libav* logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set libav* logging level) with argument '99'.
Reading option '-i' ... matched as input file with argument 'Canon_EOS_70D_1080_IPB.MOV'.
Reading option '-codec:v' ... matched as option 'codec' (codec name) with argument 'mpeg2video'.
Reading option '-q' ... matched as option 'q' (use fixed quality scale (VBR)) with argument '1'.
Reading option 'debian_testing.mpg' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set libav* logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input file Canon_EOS_70D_1080_IPB.MOV.
Successfully parsed a group of options.
Opening an input file: Canon_EOS_70D_1080_IPB.MOV.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1913500] Probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1913500] ISO: File Type Major Brand: qt
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1913500] multiple edit list entries, a/v desync might occur, patch welcome
[h264 @ 0x1924740] AVC: Consumed only 148545 bytes instead of 148548
[h264 @ 0x1924740] no picture
[h264 @ 0x1924740] AVC: Consumed only 147113 bytes instead of 147116
[h264 @ 0x1924740] no picture
[h264 @ 0x1924740] AVC: Consumed only 147945 bytes instead of 147948
[h264 @ 0x1924740] no picture
[h264 @ 0x1924740] AVC: Consumed only 131077 bytes instead of 131080
[h264 @ 0x1924740] AVC: Consumed only 33 bytes instead of 36
[h264 @ 0x1924740] AVC: Consumed only 129517 bytes instead of 129520
[h264 @ 0x1924740] AVC: Consumed only 37 bytes instead of 40
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1913500] All info found
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Canon_EOS_70D_1080_IPB.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    creation_time   : 2014-12-13 19:54:17
    encoder         : Lavf56.1.0
  Duration: 00:00:02.24, start: 0.000000, bitrate: 29099 kb/s
    Stream #0.0(eng), 20, 1/25000: Video: h264 (High), yuvj420p, 1920x1080 [PAR 1:1 DAR 16:9], 0/1, 30433 kb/s, 25 fps, 25k tbn (default)
    Metadata:
      creation_time   : 2014-12-13 19:54:17
    Stream #0.1(eng), 34, 1/48000: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2014-12-13 19:54:17
Successfully opened the file.
Parsing a group of options: output file debian_testing.mpg.
Applying option codec:v (codec name) with argument mpeg2video.
Applying option q (use fixed quality scale (VBR)) with argument 1.
Successfully parsed a group of options.
Opening an output file: debian_testing.mpg.
Successfully opened the file.
Detected 1 logical cores.
[buffer @ 0x192c3a0] w:1920 h:1080 pixfmt:yuvj420p
[fps @ 0x19fa940] fps=25/1
[buffersink @ 0x19df060] auto-inserting filter 'auto-inserted fifo 0' between the filter 'fps for output stream 0:0' and the filter 'output stream 0:0'
[format @ 0x19ab0a0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed filter 0 null' and the filter 'format'
[scale @ 0x19a1fa0] w:1920 h:1080 fmt:yuvj420p -> w:1920 h:1080 fmt:yuv420p flags:0x4
Detected 1 logical cores.
[abuffer @ 0x192c000] tb:1/48000 samplefmt:s16 samplerate: 48000 ch layout:0x3
[abuffersink @ 0x19c0ea0] auto-inserting filter 'auto-inserted fifo 0' between the filter 'audio format for output stream 0:1' and the filter 'output stream 0:1'
[mpeg2video @ 0x19bfda0] detected 1 logical cores
[h264 @ 0x1927fa0] detected 1 logical cores
[mpeg @ 0x1927800] VBV buffer size not set, muxing may fail
Output #0, mpeg, to 'debian_testing.mpg':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    creation_time   : 2014-12-13 19:54:17
    encoder         : Lavf56.1.0
    Stream #0.0(eng), 0, 1/90000: Video: mpeg2video, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 1/25, q=2-31, 200 kb/s, 25 fps, 90k tbn, 25 tbc (default)
    Metadata:
      creation_time   : 2014-12-13 19:54:17
      encoder         : Lavc56.1.0 mpeg2video
    Stream #0.1(eng), 0, 1/90000: Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s (default)
    Metadata:
      creation_time   : 2014-12-13 19:54:17
      encoder         : Lavc56.1.0 mp2
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (pcm_s16le (native) -> mp2 (native))
Press ctrl-c to stop encoding
[h264 @ 0x1927fa0] no picture
[h264 @ 0x1927fa0] AVC: Consumed only 148545 bytes instead of 148548
[h264 @ 0x1927fa0] AVC: Consumed only 147113 bytes instead of 147116
[h264 @ 0x1927fa0] AVC: Consumed only 147945 bytes instead of 147948
[h264 @ 0x1927fa0] AVC: Consumed only 131077 bytes instead of 131080
[h264 @ 0x1927fa0] AVC: Consumed only 33 bytes instead of 36
Error while decoding stream #0:0
[h264 @ 0x1927fa0] AVC: Consumed only 129517 bytes instead of 129520
[h264 @ 0x1927fa0] AVC: Consumed only 37 bytes instead of 40
Error while decoding stream #0:0
[fps @ 0x19fa940] Duplicating frame.
    Last message repeated 1 times
[h264 @ 0x1927fa0] AVC: Consumed only 37 bytes instead of 40
Error while decoding stream #0:0
[fps @ 0x19fa940] Duplicating frame.
AVC: Consumed only 33 bytes instead of 36 time=0.40 bitrate=11386.9kbits/s
Error while decoding stream #0:0
[h264 @ 0x1927fa0] AVC: Consumed only 33 bytes instead of 36
Error while decoding stream #0:0
[fps @ 0x19fa940] Duplicating frame.
    Last message repeated 1 times
[h264 @ 0x1927fa0] AVC: Consumed only 37 bytes instead of 40
Error while decoding stream #0:0
[h264 @ 0x1927fa0] AVC: Consumed only 131453 bytes instead of 131456
[h264 @ 0x1927fa0] AVC: Consumed only 142625 bytes instead of 142628
[fps @ 0x19fa940] Duplicating frame.
[h264 @ 0x1927fa0] AVC: Consumed only 37 bytes instead of 40
Error while decoding stream #0:0
[fps @ 0x19fa940] Duplicating frame.
[h264 @ 0x1927fa0] AVC: Consumed only 33 bytes instead of 36
Error while decoding stream #0:0
[h264 @ 0x1927fa0] AVC: Consumed only 33 bytes instead of 36
Error while decoding stream #0:0
AVC: Consumed only 33 bytes instead of 36 time=0.92 bitrate=12216.8kbits/s
Error while decoding stream #0:0
[h264 @ 0x1927fa0] AVC: Consumed only 37 bytes instead of 40
Error while decoding stream #0:0
[h264 @ 0x1927fa0] AVC: Consumed only 132629 bytes instead of 132632
[h264 @ 0x1927fa0] Frame num gap 2 0
[fps @ 0x19fa940] Duplicating frame.
    Last message repeated 2 times
[h264 @ 0x1927fa0] AVC: Consumed only 37 bytes instead of 40
Error while decoding stream #0:0
[fps @ 0x19fa940] Duplicating frame.
    Last message repeated 1 times
[h264 @ 0x1927fa0] AVC: Consumed only 295265 bytes instead of 295268
[h264 @ 0x1927fa0] AVC: Consumed only 33 bytes instead of 36
Error while decoding stream #0:0
[h264 @ 0x1927fa0] AVC: Consumed only 33 bytes instead of 36
Error while decoding stream #0:0
[h264 @ 0x1927fa0] AVC: Consumed only 33 bytes instead of 36
Error while decoding stream #0:0
[h264 @ 0x1927fa0] Frame num gap 2 0
[fps @ 0x19fa940] Duplicating frame.
    Last message repeated 1 times
AVC: Consumed only 37 bytes instead of 40 time=1.48 bitrate=12199.4kbits/s
Error while decoding stream #0:0
[h264 @ 0x1927fa0] AVC: Consumed only 128617 bytes instead of 128620
[fps @ 0x19fa940] Duplicating frame.
    Last message repeated 1 times
[h264 @ 0x1927fa0] AVC: Consumed only 37 bytes instead of 40
Error while decoding stream #0:0
[fps @ 0x19fa940] Duplicating frame.
No more output streams to write to, finishing.=1.98 bitrate=12209.6kbits/s
frame=   51 fps= 23 q=1.0 Lsize=    3214kB time=1.98 bitrate=13284.2kbits/s
video:3105kB audio:94kB other streams:0kB global headers:0kB muxing overhead: 0.467762%
Input file #0 (Canon_EOS_70D_1080_IPB.MOV):
  Input stream #0:0 (video): 51 packets read (7760432 bytes); 34 frames decoded;
  Input stream #0:1 (audio): 94 packets read (385024 bytes); 94 frames decoded (96256 samples);
  Total: 145 packets (8145456 bytes) demuxed
Output file #0 (debian_testing.mpg):
  Output stream #0:0 (video): 51 frames encoded; 51 packets muxed (3179045 bytes);
  Output stream #0:1 (audio): 84 frames encoded (96256 samples); 84 packets muxed (96768 bytes);
  Total: 135 packets (3275813 bytes) muxed
[fps @ 0x19fa940] 34 frames in, 51 frames out; 0 frames dropped, 17 frames duplicated.
-------- >8 --------
Comment 1 Daniel Musketa 2014-12-19 17:16:15 CET
I uploaded the sample file Canon_EOS_70D_1080_IPB.MOV to ftp://upload.libav.org/incoming/bug793/
Comment 2 Vittorio Giovara 2014-12-19 17:33:13 CET
Thanks for your report, I did a little triaging and found the commit that broke it: e10fd08aa7fbe8645545ad2e8721f0ed03c8e06a
Comment 3 Vittorio Giovara 2015-05-01 03:05:51 CEST
Fixed in 2cd7c99.
Comment 4 Sean McGovern 2016-03-01 21:58:22 CET
Wrong hardware -- IA-64 is for Intel's now defunct Itanium architecture.