#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)
Change History (5)
Changed 6 years ago by hardiksharma
comment:1 follow-up: ↓ 2 Changed 6 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 6 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 6 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 6 years ago by cehoyos
- Keywords h264 added
264 file with dropped 54th slice (first P slice of same frame).