Opened 13 years ago

Closed 12 years ago

Last modified 11 years ago

#1065 closed defect (fixed)

H.264/AVC(BDAV BluRay codec family) incorrect framerate recognition

Reported by: L.H.V.F. Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: h264, framerate
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

According the MediaInfo 0.7.54 (GUI), the video is H.264/AVC - BDAV - BluRay family codec, and I have cutted this with "dd" UNIX command, being different the recognition of the framerate, by part of ffplay, but in File Information of MediaInfo I encounter this:

Video

ID : 212 (0xD4)
Menu ID : 59233 (0xE761)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.0
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : 27
Duration : 48s 65ms
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 29.970 fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Color primaries : BT.601-6 525, BT.1358 525, BT.1700 NTSC, SMPTE 170M
Transfer characteristics : BT.601-6 525, BT.601-6 625, BT.1358 525, BT.1358 625,

The ffplay, for example, recognizes an wrong framerate, and I'm not sure if it affects other players, based in FFmpeg. In conversions, probably using FFmpeg lib, the incorrect framerate recognition, give an incorrect output of the same, because I can play this normally in my CRT television (maximum is 30.000 fps supported), and this incorrect recognition hinders a successfully conversion, for example for DVD.
I hope a possible correction fix for the same, because this is made with an proprietary codec lib (H.264/BDAV - BluRay codec family).

Attachments (4)

H.264-AVC_(Transport_Stream)_incorrect_framerate_recognition.txt (2.0 KB ) - added by L.H.V.F. 13 years ago.
H.264_AVC_BDAV_framerate_problem.ts (2.4 MB ) - added by L.H.V.F. 13 years ago.
ffmpeg-20120316-223115.log (5.0 KB ) - added by L.H.V.F. 13 years ago.
bug_FFmpeg.png (543.3 KB ) - added by L.H.V.F. 13 years ago.

Change History (20)

by L.H.V.F., 13 years ago

comment:1 by L.H.V.F., 13 years ago

I can't upload, or know the destin of my uploaded sample, for this I upload also other sample smaller.

Site with this mentioned possible problem:

http://upload.ffmpeg.org/upload/

comment:2 by Carl Eugen Hoyos, 13 years ago

Keywords: h264 added; H.264 BDAV AVC removed
Priority: importantnormal

MediaInfo output is normally unneeded, what is absolutely necessary for all tickets:

  • ffmpeg command line that fails together with
  • complete, uncut console output and, if necessary,
  • an explanation what is wrong with the output file

You can upload samples up to 100MB to http://www.datafilehost.com/

comment:3 by L.H.V.F., 13 years ago

I have saw this comment, and I will question, of the real possibility of upload of an external site, and my reference for this question is from this site:

http://www.ffmpeg.org/bugreports.html

There, is encountered this explanation for how to proceed for submit a sample for developers:

Submitting Sample Media

The developers may ask you to provide a sample media file illustrating your problem. In this case, please follow these steps:

If the sample file is too large ( > 10 megabytes), cut it down to size with the Unix 'dd' command:
dd if=sample-file of=small-sample-file bs=1024 count=10000
and then upload small-sample-file rather than sample-file
Please choose descriptive names like "h264_green_tint.mov" or "block_artifacts_after_seeking.mkv". We already have plenty of "bug.rm" and "sample.avi" to choose from.
Upload the sample to the MPlayer FTP server. Note that our FTP server is write-only, as it would immediately get misused for warez trading otherwise. Do not let this confuse you. Even though you cannot see the stuff you upload, it will be there and the FFmpeg developers will have access.
Log into upload.ffmpeg.org with an anonymous FTP login.
cd -> incoming
Upload a brief text file describing the sample and what is wrong. This is important! If you leave out the text file, your sample will most likely be deleted without further examination.
Upload the sample.
Email the list and indicate the location of the sample.
Important: Movie files which have been compressed (rar,7z,gzip,...) will be deleted without being examined unless they are raw RGB/YUV/PCM. Furthermore movie files uploaded to services like megaupload, rapidshare or any other similar service will be ignored. We are not willing to spend our time fighting with this ridiculous, bloated and spam-filled crap.

If is really possible and permitted to upload from http://www.datafilehost.com/, I will proceed the upload of the original sample.

comment:4 by Carl Eugen Hoyos, 13 years ago

You have successfully uploaded the sample, we have received it. I only wrote the comment to inform you that other possibilities exist to provide samples since you wrote "I can't upload" (and because I had not yet seen the sample).

Please provide:

  • ffmpeg command line together with
  • complete, uncut console output and
  • an explanation what goes wrong

comment:5 by L.H.V.F., 13 years ago

Hi

If in case of needed I have also uploaded the original file, not yet submitted for analysis, here the address of the same in DataFileHost:http://www.datafilehost.com/download-3199b6d6.html

I have also attached the log file, with latest Zeranoe win32 build': FFmpeg git-1eabd71 32-bit Static (2012-03-07).

by L.H.V.F., 13 years ago

Attachment: ffmpeg-20120316-223115.log added

by L.H.V.F., 13 years ago

Attachment: bug_FFmpeg.png added

comment:6 by Carl Eugen Hoyos, 13 years ago

Nothing in the log file you attached (which makes reading it much harder compared to output that you post here) indicates a problem.

Do you see any problems when transcoding the file? If yes, please provide the (minimal transcoding) command line together with the complete, uncut console output and explain what is wrong.

Or is the only problem you see the output of ffmpeg -i file? If yes, I this would not sound like an important ticket, or do you disagree?

comment:7 by L.H.V.F., 13 years ago

Hi

In my home, I have only CRT televisions, with common DVD players, and so is impossible to play Videos (for example, videos in general, CFR, converted for DVD with some program), that are out of standards. A common DVD-Video, for example, are in the NTSC standard (The recommended standard a frame rate of 30 frames (images) per second -- see http://en.wikipedia.org/wiki/NTSC), and what I can conclude, if the ffplay is indicating an incorrect handling of the framerate, the result will also wrong. A free program, it I can certify that uses FFmpeg, is SUPER(http://www.erightsoft.com/SUPER.html), and it have an above of the limit recognition, and I can with it conclude also that the output DVD with this lib could be wrong.

Other program that I could quote, is a freeware, is the Free Studio Manager (http://www.dvdvideosoft.com/free-dvd-video-software.htm), and I have tested, knowing that this has a framerate recognition above of the CRT/NTSC frame limit, as I have saw, of the framerate supported, because it was captured in my set-top-box, and in my CRT television, I can play it fine, and converting with Free Studio Manager, this being above of the NTSC standard limit, the result is a very slow film reprodution (about 60 fps), what not occurs, with the same video, with another program (freeware), the Freemake Video Converterhttp://www.freemake.com/free_video_converter/, this last with the exact 29,970 fps recognition, the output converted for DVD-Video, also deinterlaced, plays fine in my CRT television in the same DVD player. But this last mentioned program requires much more hardware and system requirements, than a CLI program or based in FFmpeg lib.

For this I suspect, if the FFmpeg lib recognizes (for example with ffplay) above of the standard limit CRT/NTSC, and also different than MediaInfo informs, the result will be a slow playback video in my domestic common home DVD Player. If this possible bug exists, this is replicated for all programs based with this lib, all could be wrong in the output. I would like suggestions, or one indication of a possible solution.

More information at:
http://www.paradiso-design.net/videostandards_en.html

Last edited 12 years ago by L.H.V.F. (previous) (diff)

in reply to:  7 comment:8 by Carl Eugen Hoyos, 13 years ago

Replying to L.H.V.F.:

For this I suspect, if the FFmpeg lib recognizes (for example with ffplay) above of the standard limit CRT/NTSC, and also different than MediaInfo informs, the result will be an slow playback video in my domestic common home DVD Player.

Do you suspect this or did you test it?
If you tested it, please provide the command line you used to produce the vob file together with the complete, uncut console output. (And add information if your DVD player played the resulting file or not.)

comment:9 by Carl Eugen Hoyos, 13 years ago

Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

(There is no indication that this problem is reproducible when creating a vob file for a DVD player with FFmpeg.)

When re-encoding the sample to mp4, the resulting file is (needlessly?) bigger if the frame-rate is not set:

$ ffmpeg -i data0001.ts -strict experimental -t 45 out.mp4
ffmpeg version N-39476-gc450cf1 Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr  2 2012 12:43:03 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc --enable-gpl
  libavutil      51. 44.100 / 51. 44.100
  libavcodec     54. 12.100 / 54. 12.100
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 66.101 /  2. 66.101
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 10.100 /  0. 10.100
  libpostproc    52.  0.100 / 52.  0.100
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[aac_latm @ 0x14a8000] audio config changed
[aac_latm @ 0x147bea0] audio config changed
[h264 @ 0x147b560] mmco: unref short failure
    Last message repeated 3 times
[h264 @ 0x147b560] Increasing reorder buffer to 1
[h264 @ 0x147b560] Increasing reorder buffer to 2
[h264 @ 0x147b560] mmco: unref short failure
    Last message repeated 1 times
[mpegts @ 0x14763a0] max_analyze_duration 5000000 reached at 5003333
[mpegts @ 0x14763a0] Could not find codec parameters (Unknown: none ([6][0][0][0] / 0x0006))
[NULL @ 0x14ae380] start time is not set in estimate_timings_from_pts
[mpegts @ 0x14763a0] PES packet size mismatch
    Last message repeated 1 times
Input #0, mpegts, from 'data0001.ts':
  Duration: 00:00:50.09, start: 88894.787733, bitrate: 2498 kb/s
  Program 59232
  Program 59233
    Stream #0:0[0xd4]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x480 [SAR 10:11 DAR 15:11], 60.76 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0xd5](por): Audio: aac_latm ([17][0][0][0] / 0x0011), 48000 Hz, stereo, s16
    Stream #0:2[0xd6](eng): Audio: aac_latm ([17][0][0][0] / 0x0011), 48000 Hz, 2 channels (FC), s16
    Stream #0:3[0xe0]: Unknown: none ([6][0][0][0] / 0x0006)
  Program 59234
  Program 59256
[buffer @ 0x147e480] w:720 h:480 pixfmt:yuv420p tb:1/1000000 sar:10/11 sws_param:flags=2
Incompatible sample format 's16' for codec 'aac', auto-selecting format 'flt'
utput #0, mp4, to 'out.mp4':
  Metadata:
    encoder         : Lavf54.3.100
    Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 720x480 [SAR 10:11 DAR 15:11], q=2-31, 200 kb/s, 60k tbn, 59.94 tbc
    Stream #0:1(por): Audio: aac (@[0][0][0] / 0x0040), 48000 Hz, stereo, flt, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg4)
  Stream #0:1 -> #0:1 (aac_latm -> aac)
Press [q] to stop, [?] for help
[h264 @ 0x1771080] Missing reference picture
[h264 @ 0x1771080] decode_slice_header error
[h264 @ 0x17b5ec0] Missing reference picture
[h264 @ 0x1815940] Missing reference picture
[h264 @ 0x1771080] Missing reference picture
[h264 @ 0x17b5ec0] Missing reference picture
[h264 @ 0x1771080] mmco: unref short failure
    Last message repeated 1 times
[h264 @ 0x1815940] mmco: unref short failure
    Last message repeated 1 times
frame= 2697 fps=233 q=31.0 Lsize=    6901kB time=00:00:44.99 bitrate=1256.4kbits/s dup=1377 drop=0
video:6149kB audio:701kB global headers:0kB muxing overhead 0.747278%
$ ffmpeg -i data0001.ts -strict experimental -t 45 -r 30 out.mp4
ffmpeg version N-39476-gc450cf1 Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr  2 2012 12:43:03 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc --enable-gpl
  libavutil      51. 44.100 / 51. 44.100
  libavcodec     54. 12.100 / 54. 12.100
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 66.101 /  2. 66.101
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 10.100 /  0. 10.100
  libpostproc    52.  0.100 / 52.  0.100
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[h264 @ 0x147b560] non-existing PPS referenced
[h264 @ 0x147b560] non-existing PPS 0 referenced
[h264 @ 0x147b560] decode_slice_header error
[h264 @ 0x147b560] no frame!
[aac_latm @ 0x14a8000] audio config changed
[aac_latm @ 0x147bea0] audio config changed
[h264 @ 0x147b560] mmco: unref short failure
    Last message repeated 3 times
[h264 @ 0x147b560] Increasing reorder buffer to 1
[h264 @ 0x147b560] Increasing reorder buffer to 2
[h264 @ 0x147b560] mmco: unref short failure
    Last message repeated 1 times
[mpegts @ 0x14763a0] max_analyze_duration 5000000 reached at 5003333
[mpegts @ 0x14763a0] Could not find codec parameters (Unknown: none ([6][0][0][0] / 0x0006))
[NULL @ 0x14ae380] start time is not set in estimate_timings_from_pts
[mpegts @ 0x14763a0] PES packet size mismatch
    Last message repeated 1 times
Input #0, mpegts, from 'data0001.ts':
  Duration: 00:00:50.09, start: 88894.787733, bitrate: 2498 kb/s
  Program 59232
  Program 59233
    Stream #0:0[0xd4]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 720x480 [SAR 10:11 DAR 15:11], 60.76 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0xd5](por): Audio: aac_latm ([17][0][0][0] / 0x0011), 48000 Hz, stereo, s16
    Stream #0:2[0xd6](eng): Audio: aac_latm ([17][0][0][0] / 0x0011), 48000 Hz, 2 channels (FC), s16
    Stream #0:3[0xe0]: Unknown: none ([6][0][0][0] / 0x0006)
  Program 59234
  Program 59256
[buffer @ 0x147c2e0] w:720 h:480 pixfmt:yuv420p tb:1/1000000 sar:10/11 sws_param:flags=2
Incompatible sample format 's16' for codec 'aac', auto-selecting format 'flt'
Output #0, mp4, to 'out.mp4':
  Metadata:
    encoder         : Lavf54.3.100
    Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 720x480 [SAR 10:11 DAR 15:11], q=2-31, 200 kb/s, 30 tbn, 30 tbc
    Stream #0:1(por): Audio: aac (@[0][0][0] / 0x0040), 48000 Hz, stereo, flt, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg4)
  Stream #0:1 -> #0:1 (aac_latm -> aac)
Press [q] to stop, [?] for help
[h264 @ 0x1770f20] Missing reference picture
[h264 @ 0x1770f20] decode_slice_header error
[h264 @ 0x17b5d60] Missing reference picture
[h264 @ 0x18157e0] Missing reference picture
[h264 @ 0x1770f20] Missing reference picture
[h264 @ 0x17b5d60] Missing reference picture
[h264 @ 0x1770f20] mmco: unref short failure
    Last message repeated 1 times
[h264 @ 0x18157e0] mmco: unref short failure
    Last message repeated 1 times
frame= 1350 fps=168 q=31.0 Lsize=    4961kB time=00:00:45.00 bitrate= 903.1kbits/s dup=30 drop=0
video:4220kB audio:701kB global headers:0kB muxing overhead 0.805641%

comment:10 by L.H.V.F., 13 years ago

Hi, cehoyos and developers

I have begin this ticket because of a plugin for VirtualDub (http://virtualdub.org), that uses the FFmpeg library to open a lot of formats, that before, was not possible before opening them, the FFmpeg Input Driver (http://forums.virtualdub.org/index.php?act=ST&f=7&t=20025&hl=ffmpeg&s=67495223fa42f40b194fb75537b4b840). Because of the problem of the framerate recognition, the plugin crashes in VirtualDub, and is impossible the process these videos from my set-top-box. Now, with your reprodution of an identified problem, I can suspect that the recognition causes a too bigger output video, and it could be a motive for the problem of instability in VirtualDub, the framerate is not correctly setted, being much bigger than the correct recognition of the correct standards previously explained. I suggest, if possible, that the developers put the framerate recognition in "29,970 fps", because, for example, the mentioned plugin will not use it correctly, using specific command of FFmpeg for set the framerate, just uses what is already configured in the FFmpeg library. About the DVD-Video conversion, previously I had a video ".rmvb", that recognized the video in "12,000 fps" (instead of "25, 000 fps") in the FFmpeg and ffplay. With SUPER (http://www.erightsoft.com/SUPER.html), at the time was possible to convert the video for DVD-Video with "25,000 fps", the correct recognition of the framerate. But, the video output had a problematic playback in common DVD Player, I percepted a problem in the frame refreshing of the same. After the correction in both FFmpeg and ffplay, and since the bug correction in this library, other programs, as FFmpeg Input Driver, can convert with "25, 000 fps", and produces a better output result, including SUPER with FFmpeg.

Please, about the framerate recognition, put the framerate of this video type in NTSC/CRT standards by default ("29,970 fps"), for FFmpeg, ffplay, and others, that this will be very helpfull for use with other programs based in FFmpeg, for example, TsRemux (http://forum.doom9.org/showthread.php?t=125447) (has an incorrect framerate handling for these videos from my set-top-box or other similars), and VirtualDub with FFmpeg Input Driver, because the result of the output will be very usable in the conversions or manipulations of many other programs using this library.

Thanks,
L.H.V.F. .

Last edited 12 years ago by L.H.V.F. (previous) (diff)

comment:11 by L.H.V.F., 13 years ago

If in case of needed, I am uploading again, with a sharing site without time to expire, the original sample (the DataFileHost expires the file, if no longer it be downloaded). Here the link of the original sample, for I have not to re-upload again, some day: http://minus.com/lb7gAoFyAKviQ

Thanks,
L.H.V.F. .

Version 3, edited 12 years ago by L.H.V.F. (previous) (next) (diff)

comment:12 by ramitb, 12 years ago

i'm facing a similar issue with WTV files. FFMPEG is picking up the wrong frame rate which is causing dropped/duplicated packets.

The sample WTV file is at:
http://www.mediafire.com/?ojp54ym1mkaqkg4

The actual frame rate (from MediaInfo) is 25FPS, however FFMPEG picks it up as 50 FPS which causes the below error (and stuttering video). (refer to ticket #1297 for analysis by Cehoyos)

COMMAND:

ffmpeg -i "test1.wtv" -vcodec mpeg2video -sameq -an test.ts

OUTPUT:

ffmpeg version N-40517-ga548671 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  9 2012 13:00:06 with gcc 4.6.3
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enab
le-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable
-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschro
edinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-
libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      51. 50.100 / 51. 50.100
  libavcodec     54. 21.100 / 54. 21.100
  libavformat    54.  4.100 / 54.  4.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.105 /  2. 72.105
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[wtv @ 003fbe00] reported file length (0xb045eca0) exceeds number of available sectors (0x60000000)
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS referenced
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] no frame!
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS referenced
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] no frame!
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS referenced
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] no frame!
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS referenced
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] no frame!
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS referenced
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] no frame!
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS referenced
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] no frame!
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS referenced
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] no frame!
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS referenced
[h264 @ 02bc3800] non-existing SPS 0 referenced in buffering period
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] non-existing PPS 0 referenced
[h264 @ 02bc3800] decode_slice_header error
[h264 @ 02bc3800] no frame!
[h264 @ 02bc3800] mmco: unref short failure
    Last message repeated 1 times
[h264 @ 02bc3800] Increasing reorder buffer to 1
[h264 @ 02bc3800] Increasing reorder buffer to 2
[h264 @ 02bc3800] mmco: unref short failure
Input #0, wtv, from 'test1.wtv':
  Metadata:
    WM/MediaClassPrimaryID: db9830bd-3ab3-4fab-8a371a995f7ff74
    WM/MediaClassSecondaryID: ba7f258a-62f7-47a9-b21f4651c42a000
    Title           : Doctor Who
    WM/SubTitle     : 4/13. The Doctor's Wife
    WM/SubTitleDescription: Science fiction drama. When he follows a Time Lord distress signal, the Doctor puts Amy, Ror
y and his beloved TARDIS in grave danger. [HD] [AD,S]
    genre           : Entertainment - Sci-FI
    WM/OriginalReleaseTime: 0
    WM/MediaCredits : ;;;
    service_provider: BBC One HD
    service_name    : BBC One HD
    WM/MediaNetworkAffiliation: BBC One HD
    WM/MediaOriginalChannel: 143
    WM/MediaOriginalChannelSubNumber: 0
    WM/MediaOriginalBroadcastDateTime: 0001-01-01T00:00:00Z
    WM/MediaOriginalRunTime: 31093994141
    WM/MediaIsStereo: false
    WM/MediaIsRepeat: false
    WM/MediaIsLive  : false
    WM/MediaIsTape  : false
    WM/MediaIsDelay : false
    WM/MediaIsSubtitled: false
    WM/MediaIsMovie : false
    WM/MediaIsPremiere: false
    WM/MediaIsFinale: false
    WM/MediaIsSAP   : false
    WM/MediaIsSport : false
    WM/Provider     : MediaCenterDefault
    WM/VideoClosedCaptioning: false
    WM/WMRVEncodeTime: 2011-05-14 17:31:10
    WM/WMRVSeriesUID: !GenericSeries!Doctor Who
    WM/WMRVServiceID: !DVBLinkService!37780000
    WM/WMRVProgramID: !MCProgram!8162774324643977!dvblogiccppplugin:2:2050:6941!1305394200
    WM/WMRVRequestID: 0
    WM/WMRVScheduleItemID: 0
    WM/WMRVQuality  : 0
    WM/WMRVOriginalSoftPrePadding: 420
    WM/WMRVOriginalSoftPostPadding: 180
    WM/WMRVHardPrePadding: -300
    WM/WMRVHardPostPadding: 0
    WM/WMRVATSCContent: false
    WM/WMRVDTVContent: true
    WM/WMRVHDContent: true
    Duration        : 27526611328
    WM/WMRVEndTime  : 2011-05-14 18:17:03
    WM/WMRVBitrate  : 8.596867
    WM/WMRVKeepUntil: -1
    WM/WMRVActualSoftPrePadding: 229
    WM/WMRVActualSoftPostPadding: -176
    WM/WMRVContentProtected: false
    WM/WMRVContentProtectedPercent: 0
    WM/WMRVExpirationSpan: 9223372036854775807
    WM/WMRVInBandRatingSystem: 255
    WM/WMRVInBandRatingLevel: 255
    WM/WMRVInBandRatingAttributes: 0
    WM/WMRVWatched  : false
  Duration: 00:23:30.67, start: 1298.665362, bitrate: 356 kb/s
    Stream #0:0[0x29](eng): Subtitle: dvb_subtitle
    Stream #0:1[0x2a](eng): Subtitle: dvb_teletext
    Stream #0:2[0x2b](eng): Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
    Stream #0:3[0x2c]: Video: h264 (High), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 42.59 fps, 50 tbr, 10000k tbn, 50 tbc
    Stream #0:4[0x2d](nar): Audio: mp2 (P[0][0][0] / 0x0050), 48000 Hz, stereo, s16, 256 kb/s (visual impaired)
[buffer @ 039a2c40] w:1440 h:1080 pixfmt:yuv420p tb:1/1000000 sar:4/3 sws_param:flags=2
[mpegts @ 02bee140] muxrate VBR, pcr every 5 pkts, sdt every 200, pat/pmt every 40 pkts
Output #0, mpegts, to 'test.ts':
  Metadata:
    WM/MediaClassPrimaryID: db9830bd-3ab3-4fab-8a371a995f7ff74
    WM/MediaClassSecondaryID: ba7f258a-62f7-47a9-b21f4651c42a000
    Title           : Doctor Who
    WM/SubTitle     : 4/13. The Doctor's Wife
    WM/SubTitleDescription: Science fiction drama. When he follows a Time Lord distress signal, the Doctor puts Amy, Ror
y and his beloved TARDIS in grave danger. [HD] [AD,S]
    genre           : Entertainment - Sci-FI
    WM/OriginalReleaseTime: 0
    WM/MediaCredits : ;;;
    service_provider: BBC One HD
    service_name    : BBC One HD
    WM/MediaNetworkAffiliation: BBC One HD
    WM/MediaOriginalChannel: 143
    WM/MediaOriginalChannelSubNumber: 0
    WM/MediaOriginalBroadcastDateTime: 0001-01-01T00:00:00Z
    WM/MediaOriginalRunTime: 31093994141
    WM/MediaIsStereo: false
    WM/MediaIsRepeat: false
    WM/MediaIsLive  : false
    WM/MediaIsTape  : false
    WM/MediaIsDelay : false
    WM/MediaIsSubtitled: false
    WM/MediaIsMovie : false
    WM/MediaIsPremiere: false
    WM/MediaIsFinale: false
    WM/MediaIsSAP   : false
    WM/MediaIsSport : false
    WM/Provider     : MediaCenterDefault
    WM/VideoClosedCaptioning: false
    WM/WMRVEncodeTime: 2011-05-14 17:31:10
    WM/WMRVSeriesUID: !GenericSeries!Doctor Who
    WM/WMRVServiceID: !DVBLinkService!37780000
    WM/WMRVProgramID: !MCProgram!8162774324643977!dvblogiccppplugin:2:2050:6941!1305394200
    WM/WMRVRequestID: 0
    WM/WMRVScheduleItemID: 0
    WM/WMRVQuality  : 0
    WM/WMRVOriginalSoftPrePadding: 420
    WM/WMRVOriginalSoftPostPadding: 180
    WM/WMRVHardPrePadding: -300
    WM/WMRVHardPostPadding: 0
    WM/WMRVATSCContent: false
    WM/WMRVDTVContent: true
    WM/WMRVHDContent: true
    Duration        : 27526611328
    WM/WMRVEndTime  : 2011-05-14 18:17:03
    WM/WMRVBitrate  : 8.596867
    WM/WMRVKeepUntil: -1
    WM/WMRVActualSoftPrePadding: 229
    WM/WMRVActualSoftPostPadding: -176
    WM/WMRVContentProtected: false
    WM/WMRVContentProtectedPercent: 0
    WM/WMRVExpirationSpan: 9223372036854775807
    WM/WMRVInBandRatingSystem: 255
    WM/WMRVInBandRatingLevel: 255
    WM/WMRVInBandRatingAttributes: 0
    WM/WMRVWatched  : false
    encoder         : Lavf54.4.100
    Stream #0:0: Video: mpeg2video, yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 50 tbc
Stream mapping:
  Stream #0:3 -> #0:0 (h264 -> mpeg2video)
Press [q] to stop, [?] for help
[h264 @ 039cfae0] reference picture missing during reorder
[h264 @ 039cfae0] Missing reference picture
[h264 @ 039cfae0] decode_slice_header error
[h264 @ 039cfae0] reference picture missing during reorder
[h264 @ 039cfae0] Missing reference picture
[h264 @ 039cfae0] decode_slice_header error
[h264 @ 039cfae0] reference picture missing during reorder
[h264 @ 039cfae0] Missing reference picture
[h264 @ 039cfae0] decode_slice_header error
[h264 @ 039cfae0] reference picture missing during reorder
[h264 @ 039cfae0] Missing reference picture
[h264 @ 039cfae0] decode_slice_header error
[h264 @ 039cfae0] reference picture missing during reorder
[h264 @ 039cfae0] Missing reference picture
[h264 @ 039cfae0] decode_slice_header error
[h264 @ 039cfae0] reference picture missing during reorder
[h264 @ 039cfae0] Missing reference picture
[h264 @ 039cfae0] decode_slice_header error
[h264 @ 039cfae0] concealing 6120 DC, 6120 AC, 6120 MV errors
[h264 @ 03d10c20] reference picture missing during reorder
[h264 @ 03d10c20] Missing reference picture
    Last message re    Last message repeated 1 times
peated 1 times
[h264 @ 03d10c20] reference picture missing during reorder
[h264 @ 02bbd0c0] mmco: unref short failure
[h264 @ 03d10c20] Missing reference picture
    Last message repeated 1 times
[h264 @ 03d10c20] reference picture missing during reorder
[h264 @ 03d10c20] Missing reference picture
    Last message repeated 1 times
[h264 @ 03d10c20] reference picture missing during reorder
[h264 @ 03d10c20] Missing reference picture
    Last message repeated 1 times
[h264 @ 03d10c20] reference picture missing during reorder
[h264 @ 03d10c20] Missing reference picture
    Last message repeated 1 times
[h264 @ 03d10c20] reference picture missing during reorder
[h264 @ 03d10c20] Missing reference picture
    Last message repeated 1 times
Reference 2 >= 2 70 q=0.0 size=  133412kB time=00:00:56.56 bitrate=19323.0kbits/s dup=1450 drop=0
[h264 @ 039a2400] error while decoding MB 15 36, bytestream (-10)
[h264 @ 039a2400] concealing 2880 DC, 2880 AC, 2880 MV errors
frame= 2888 fps= 70 q=0.0 Lsize=  137581kB time=00:00:57.74 bitrate=19519.6kbits/s dup=1481 drop=0
video:127278kB audio:0kB global headers:0kB muxing overhead 8.094288%

comment:13 by Michael Niedermayer, 12 years ago

Keywords: framerate added

comment:14 by pross, 12 years ago

Since August 2012, libav has correctly detected 25fps for the affected file (http://www.mediafire.com/?ojp54ym1mkaqkg4).

Bisecting libav, points to the following patches. While these have been applied to FFmpeg, the dts and fps calculation logic does different between both libraries.

---
commit aba232cfa9b193604ed98f3fa505378d006b1b3b
Author: Anton Khirnov <anton@khirnov.net>
Date: Tue Jun 26 13:10:01 2012 +0200

lavf: deprecate r_frame_rate.


According to its description, it is supposed to be the LCM of all the
frame durations. The usability of such a thing is vanishingly small,
especially since we cannot determine it with any amount of reliability.
Therefore get rid of it after the next bump.


Replace it with the average framerate where it makes sense.


FATE results for the wtv and xmv demux tests change. In the wtv case
this is caused by the file being corrupted (or possibly badly cut) and
containing invalid timestamps. This results in lavf estimating the
framerate wrong and making up wrong frame durations.
In the xmv case the file contains pts jumps, so again the estimated
framerate is far from anything sane and lavf again makes up different
frame durations.


In some other tests lavf starts making up frame durations from different
frame.

commit f66eeff1c8fc5c1b2e5a563cf336865d52329006
Author: Anton Khirnov <anton@khirnov.net>
Date: Fri Jul 27 14:04:07 2012 +0200

lavf: round estimated average fps to a "standard" fps.

commit fe1c1198e670242f3cf9e3e1eef27cff77f3ee23
Author: Anton Khirnov <anton@khirnov.net>
Date: Thu Jun 28 15:49:51 2012 +0200

lavf: use dts difference instead of AVPacket.duration in find_stream_info()


AVPacket.duration is mostly made up and thus completely useless, this is
especially true for video streams.
Therefore use dts difference for framerate estimation and
the max_analyze_duration check.


The asyncts test now needs -analyzeduration, because the default is 5
seconds and the audio stream in the sample appears at ~10 seconds.

---

comment:15 by Michael Niedermayer, 12 years ago

Resolution: fixed
Status: openclosed

fps recognition fixed.
If issues remain please open a seperate ticket for each issue.

comment:16 by Carl Eugen Hoyos, 11 years ago

Fixed since 45bd0d15 (which I seem to have missed) /1.1

Note: See TracTickets for help on using tickets.