Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#568 closed defect (fixed)

H264 frame drop with the drop of one slice / visible artefacts that do not happen with the reference decoder

Reported by: hardiksharma Owned by: michael
Priority: normal Component: avcodec
Version: git-master Keywords: h264
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

I am trying to transcode from .264 to yuv format.

I dropped slices (one by one) in h264 file format and then decoded the .264 to yuv format. During decoding, decoder is dropping the respective frame if I drop the header slice/first slice of the frame. Happening for P and B both.

Command line to decode- ffmpeg -b:v 512k -r 30 -i error_$sliceno.264 -b:v 512k -x264opts sar=352:288 -r 30 -y decode_$sliceno.yuv

ffmpeg -v 9 -loglevel 99 -i error_51.264

ffmpeg version N-33472-gfbb8468, Copyright (c) 2000-2011 the FFmpeg developers

built on Oct 10 2011 18:37:07 with gcc 4.4.5
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
libavutil 51. 20. 1 / 51. 20. 1
libavcodec 53. 20. 0 / 53. 20. 0
libavformat 53. 15. 0 / 53. 15. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 43. 6 / 2. 43. 6
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0

[h264 @ 0x9f1cac0] Format h264 probed with size=2048 and score=51
[h264 @ 0x9f22d20] no picture
[h264 @ 0x9f22d20] concealing 47 DC, 47 AC, 47 MV errors
[h264 @ 0x9f22d20] Missing reference picture

Last message repeated 13 times

[h264 @ 0x9f1cac0] max_analyze_duration 5000000 reached at 5000000
[h264 @ 0x9f1cac0] Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 60.00 (60/1) -> 30.00 (60/2)
Input #0, h264, from 'error_51.264':

Duration: N/A, bitrate: N/A

Stream #0:0, 152, 1/1200000: Video: h264 (High), yuv420p, 352x288, 1/60, 30 fps, 30 tbr, 1200k tbn, 60 tbc


Attachments (1)

error_51.264 (630.1 KB) - added by hardiksharma 5 years ago.
264 file with dropped 54th slice (first P slice of same frame).

Download all attachments as: .zip

Change History (5)

Changed 5 years ago by hardiksharma

264 file with dropped 54th slice (first P slice of same frame).

comment:1 follow-up: Changed 5 years ago by cehoyos

  • Component changed from FFmpeg to avcodec
  • Reproduced by developer set
  • Status changed from new to open
  • Summary changed from H264 frame drop with the drop of one slice to H264 frame drop with the drop of one slice / visible artefacts that do not happen with the reference decoder
  • Version changed from unspecified to git-master

Complete, uncut output of the failing command missing (please consider using Code block) and please mention how you patched FFmpeg for your test (git diff >slices.diff and attach slices.diff).

I can decode the first 39 frames of the sample with the reference decoder and while FFmpeg decodes the same 39 frames, only the first three and the last 20 (beginning with the second IDR frame) are bit-exact, the remaining 16 show visible artefacts with FFmpeg (that are not reproducible with the reference decoder).

$ ffmpeg -i error_51.264 -t 1.25 -f framecrc outff
ffmpeg version N-33734-g1de357d, Copyright (c) 2000-2011 the FFmpeg developers
  built on Oct 18 2011 00:33:06 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc
  libavutil    51. 21. 0 / 51. 21. 0
  libavcodec   53. 21. 0 / 53. 21. 0
  libavformat  53. 16. 0 / 53. 16. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 43. 6 /  2. 43. 6
  libswscale    2.  1. 0 /  2.  1. 0
[h264 @ 0x1306c00] concealing 47 DC, 47 AC, 47 MV errors
[h264 @ 0x1306c00] Missing reference picture
    Last message repeated 13 times
[h264 @ 0x1300780] max_analyze_duration 5000000 reached at 5000000
[h264 @ 0x1300780] Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 60.00 (60/1) -> 30.00 (60/2)
Input #0, h264, from 'error_51.264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p, 352x288, 30 fps, 30 tbr, 1200k tbn, 60 tbc
[buffer @ 0x1308d60] w:352 h:288 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
Output #0, framecrc, to 'outff':
  Metadata:
    encoder         : Lavf53.16.0
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288, q=2-31, 200 kb/s, 90k tbn, 30 tbc
Stream mapping:
  Stream #0.0 -> #0.0 (h264 -> rawvideo)
Press [q] to stop, [?] for help
[h264 @ 0x1306c00] concealing 47 DC, 47 AC, 47 MV errors
[h264 @ 0x1306c00] Missing reference picture
    Last message repeated 50 times
frame=   39 fps=  0 q=0.0 Lsize=       1kB time=00:00:01.30 bitrate=   6.9kbits/s
video:5792kB audio:0kB global headers:0kB muxing overhead -99.980963%
$ diff -uw outjm outff
--- outjm       2011-10-18 00:02:15.900762160 +0200
+++ outff       2011-10-18 00:01:07.655762411 +0200
@@ -1,22 +1,22 @@
 0, 0, 152064, 0x653f8f51
 0, 3000, 152064, 0x112eaae5
 0, 6000, 152064, 0x5c3e3dc5
-0, 9000, 152064, 0x6c6e0c46
-0, 12000, 152064, 0x1df99fad
-0, 15000, 152064, 0xfc99c44d
-0, 18000, 152064, 0x173f883f
-0, 21000, 152064, 0x2f4ec859
-0, 24000, 152064, 0xf90d56d4
-0, 27000, 152064, 0x9e641e1d
-0, 30000, 152064, 0x355b78b2
-0, 33000, 152064, 0x32751de8
-0, 36000, 152064, 0xb4f1c60e
-0, 39000, 152064, 0xa9431da3
-0, 42000, 152064, 0x4489996f
-0, 45000, 152064, 0x3d2a7b4c
-0, 48000, 152064, 0xc9d1fbb6
-0, 51000, 152064, 0xbd9cc699
-0, 54000, 152064, 0x8a6ae1ea
+0, 9000, 152064, 0x0615eae0
+0, 12000, 152064, 0xaad687d7
+0, 15000, 152064, 0xe0c10d04
+0, 18000, 152064, 0x19a9814f
+0, 21000, 152064, 0xf1528f3a
+0, 24000, 152064, 0x57ff4c9e
+0, 27000, 152064, 0xd0ab6ed9
+0, 30000, 152064, 0x631efdc4
+0, 33000, 152064, 0xba305bf0
+0, 36000, 152064, 0xe81e357b
+0, 39000, 152064, 0xc192951e
+0, 42000, 152064, 0x6182c0ff
+0, 45000, 152064, 0x730500cb
+0, 48000, 152064, 0x6d1b7fcb
+0, 51000, 152064, 0xdd688063
+0, 54000, 152064, 0xe560656a
 0, 57000, 152064, 0x9e7b0ae6
 0, 60000, 152064, 0x3eb31b79
 0, 63000, 152064, 0xf01c6764

comment:2 in reply to: ↑ 1 Changed 5 years ago by hardiksharma

Complete, uncut output of the failing command is-
ffmpeg -b:v 512k -r 30 -i error_51.264 -b:v 512k -x264opts sar=352:288 -r 30 -y error51.yuv
ffmpeg version N-33472-gfbb8468, Copyright (c) 2000-2011 the FFmpeg developers
  built on Oct 10 2011 18:37:07 with gcc 4.4.5
  configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
  libavutil    51. 20. 1 / 51. 20. 1
  libavcodec   53. 20. 0 / 53. 20. 0
  libavformat  53. 15. 0 / 53. 15. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 43. 6 /  2. 43. 6
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[h264 @ 0xad3ffe0] concealing 47 DC, 47 AC, 47 MV errors
[h264 @ 0xad3ffe0] Missing reference picture
    Last message repeated 13 times
[h264 @ 0xad39c20] max_analyze_duration 5000000 reached at 5000000
[h264 @ 0xad39c20] Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 60.00 (60/1) -> 30.00 (60/2)
Input #0, h264, from 'error_51.264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p, 352x288, 30 fps, 30 tbr, 1200k tbn, 60 tbc
[buffer @ 0xad4a600] w:352 h:288 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
Output #0, rawvideo, to 'error51.yuv':
  Metadata:
    encoder         : Lavf53.15.0
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288, q=2-31, 512 kb/s, 90k tbn, 30 tbc
Stream mapping:
  Stream #0.0 -> #0.0 (h264 -> rawvideo)
Press [q] to stop, [?] for help
[h264 @ 0xad3ffe0] concealing 47 DC, 47 AC, 47 MV errors
[h264 @ 0xad3ffe0] Missing reference picture
    Last message repeated 50 times
[h264 @ 0xad3ffe0] Possibly too many slices (52 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (55 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (56 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (57 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (16 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (17 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (20 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (21 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (22 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (23 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (24 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (25 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (26 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (27 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (28 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (29 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (30 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (31 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (32 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (33 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (34 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (35 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (36 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (37 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (38 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (39 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (40 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (41 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (42 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (43 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (44 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (45 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (46 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (47 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (48 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (49 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (50 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (51 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (52 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (53 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (56 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (57 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (61 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (65 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (69 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (73 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (77 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (16 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (17 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (18 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (19 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (20 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (21 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (22 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (23 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (24 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (25 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (26 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (27 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (28 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (29 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (30 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (31 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (32 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (33 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (34 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (35 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (36 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (37 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (38 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (39 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (40 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (41 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (42 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (43 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (44 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (45 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (46 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (47 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (48 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (49 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (50 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (51 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (52 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (53 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (54 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (56 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (57 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (58 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (61 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (62 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (63 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (66 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (67 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (68 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (70 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (71 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (72 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (74 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (75 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (79 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (16 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (17 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (18 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (19 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (20 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (21 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (22 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (23 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (24 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (25 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (26 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (27 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (28 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (29 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (30 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (31 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (32 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (33 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (34 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (35 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (36 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (37 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (38 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (39 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (40 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (41 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (42 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (43 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (44 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (45 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (46 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (47 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (48 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (49 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (50 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (51 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (52 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (53 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (54 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (55 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (56 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (58 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (59 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (60 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (63 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (64 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (65 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (67 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (68 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (69 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (70 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (71 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (72 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (73 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (74 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (75 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (76 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (77 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (78 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (79 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (81 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (82 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (83 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (87 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (91 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (95 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (16 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (17 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (18 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (19 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (20 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (21 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (22 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (23 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (24 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (25 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (26 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (27 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (28 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (29 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (30 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (31 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (32 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (33 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (34 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (35 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (36 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (37 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (38 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (39 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (40 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (41 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (42 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (43 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (44 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (45 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (46 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (47 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (48 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (49 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (50 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (51 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (54 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (55 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (56 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (59 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (60 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (61 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (63 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (64 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (65 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (67 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (68 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (69 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (72 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (73 >= 16), increase MAX_SLICES and recompile if there are artifacts
[h264 @ 0xad3ffe0] Possibly too many slices (77 >= 16), increase MAX_SLICES and recompile if there are artifacts
frame=  299 fps=  0 q=0.0 Lsize=   44402kB time=00:00:09.96 bitrate=36495.4kbits/s    
video:44402kB audio:0kB global headers:0kB muxing overhead 0.000000%

For the above warning I increased the MAX_SLICE value but still getting the same warning and from the decoder on different machine with increased MAX_SLICE value where I am not getting the above warning also getting same frame drop.

following link is the place from where I installed the ffmpeg and x264 to test the stream-
http://ubuntuforums.org/showthread.php?t=786095

Replying to cehoyos:

Complete, uncut output of the failing command missing (please consider using Code block) and please mention how you patched FFmpeg for your test (git diff >slices.diff and attach slices.diff).

I can decode the first 39 frames of the sample with the reference decoder and while FFmpeg decodes the same 39 frames, only the first three and the last 20 (beginning with the second IDR frame) are bit-exact, the remaining 16 show visible artefacts with FFmpeg (that are not reproducible with the reference decoder).

$ ffmpeg -i error_51.264 -t 1.25 -f framecrc outff
ffmpeg version N-33734-g1de357d, Copyright (c) 2000-2011 the FFmpeg developers
  built on Oct 18 2011 00:33:06 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc
  libavutil    51. 21. 0 / 51. 21. 0
  libavcodec   53. 21. 0 / 53. 21. 0
  libavformat  53. 16. 0 / 53. 16. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 43. 6 /  2. 43. 6
  libswscale    2.  1. 0 /  2.  1. 0
[h264 @ 0x1306c00] concealing 47 DC, 47 AC, 47 MV errors
[h264 @ 0x1306c00] Missing reference picture
    Last message repeated 13 times
[h264 @ 0x1300780] max_analyze_duration 5000000 reached at 5000000
[h264 @ 0x1300780] Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 60.00 (60/1) -> 30.00 (60/2)
Input #0, h264, from 'error_51.264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p, 352x288, 30 fps, 30 tbr, 1200k tbn, 60 tbc
[buffer @ 0x1308d60] w:352 h:288 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
Output #0, framecrc, to 'outff':
  Metadata:
    encoder         : Lavf53.16.0
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288, q=2-31, 200 kb/s, 90k tbn, 30 tbc
Stream mapping:
  Stream #0.0 -> #0.0 (h264 -> rawvideo)
Press [q] to stop, [?] for help
[h264 @ 0x1306c00] concealing 47 DC, 47 AC, 47 MV errors
[h264 @ 0x1306c00] Missing reference picture
    Last message repeated 50 times
frame=   39 fps=  0 q=0.0 Lsize=       1kB time=00:00:01.30 bitrate=   6.9kbits/s
video:5792kB audio:0kB global headers:0kB muxing overhead -99.980963%
$ diff -uw outjm outff
--- outjm       2011-10-18 00:02:15.900762160 +0200
+++ outff       2011-10-18 00:01:07.655762411 +0200
@@ -1,22 +1,22 @@
 0, 0, 152064, 0x653f8f51
 0, 3000, 152064, 0x112eaae5
 0, 6000, 152064, 0x5c3e3dc5
-0, 9000, 152064, 0x6c6e0c46
-0, 12000, 152064, 0x1df99fad
-0, 15000, 152064, 0xfc99c44d
-0, 18000, 152064, 0x173f883f
-0, 21000, 152064, 0x2f4ec859
-0, 24000, 152064, 0xf90d56d4
-0, 27000, 152064, 0x9e641e1d
-0, 30000, 152064, 0x355b78b2
-0, 33000, 152064, 0x32751de8
-0, 36000, 152064, 0xb4f1c60e
-0, 39000, 152064, 0xa9431da3
-0, 42000, 152064, 0x4489996f
-0, 45000, 152064, 0x3d2a7b4c
-0, 48000, 152064, 0xc9d1fbb6
-0, 51000, 152064, 0xbd9cc699
-0, 54000, 152064, 0x8a6ae1ea
+0, 9000, 152064, 0x0615eae0
+0, 12000, 152064, 0xaad687d7
+0, 15000, 152064, 0xe0c10d04
+0, 18000, 152064, 0x19a9814f
+0, 21000, 152064, 0xf1528f3a
+0, 24000, 152064, 0x57ff4c9e
+0, 27000, 152064, 0xd0ab6ed9
+0, 30000, 152064, 0x631efdc4
+0, 33000, 152064, 0xba305bf0
+0, 36000, 152064, 0xe81e357b
+0, 39000, 152064, 0xc192951e
+0, 42000, 152064, 0x6182c0ff
+0, 45000, 152064, 0x730500cb
+0, 48000, 152064, 0x6d1b7fcb
+0, 51000, 152064, 0xdd688063
+0, 54000, 152064, 0xe560656a
 0, 57000, 152064, 0x9e7b0ae6
 0, 60000, 152064, 0x3eb31b79
 0, 63000, 152064, 0xf01c6764

comment:3 Changed 5 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

Fixed by Michael.

The reference decoder omits one frame (the fourth frame that ffmpeg outputs), all other frames are now bit-identical for the given sample, no artefacts visible.

comment:4 Changed 5 years ago by cehoyos

  • Keywords h264 added
Note: See TracTickets for help on using tickets.