After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 667704 - [videoparsers] framerate calculation
[videoparsers] framerate calculation
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal normal
: 0.10.24
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-11 16:55 UTC by Julien Isorce
Modified: 2012-05-29 11:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
minimal mpegts sample to reproduce the problem (918.89 KB, text/vnd.trolltech.linguist)
2012-01-11 16:55 UTC, Julien Isorce
Details

Description Julien Isorce 2012-01-11 16:55:27 UTC
Created attachment 205027 [details]
minimal mpegts sample to reproduce the problem

* Steps to reproduce:

GST_DEBUG=*codecparse*:5 gst-launch-0.10 filesrc location=sample.ts ! mpegtsparse ! mpegtsdemux ! mpegvideoparse ! fakesink sync=1 silent=1 -v

 * Actual result:

codecparsers_mpegvideo gstmpegvideoparser.c:217:gst_mpeg_video_parse_sequence: fps: 30000/1001

mpegvparse0.GstPad:src: caps = video/mpeg, framerate=(fraction)60000/1001

 * Other infos:

I attached a minimal sample to have the caps. With the full one the frame duration is 0:00:00.033366666 (! ffdec_mpeg2video ! fakesink silent=0), so it seems the real framerate is 30.

In gstmpegvideoparse.c:

mpvparse->fps_num = mpvparse->sequencehdr.fps_n * (mpvparse->sequenceext.fps_n_ext + 1) * 2;

The extension is taken into account. Whereas in legacympegvideoparse there is a FIXME about it.

 * Question:

Do you think this is a problem from the encoder or from mpegvideoparse ?
Comment 1 Edward Hervey 2012-05-29 11:26:10 UTC
It's reported as being 30000/1001 right now.

filesrc ! tsdemux ! mpegvideoparse ! fakesink

/GstPipeline:pipeline0/GstMpegvParse:mpegvparse0.GstPad:src: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false, parsed=(boolean)true, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1, codec_data=(buffer)000001b3780438343a982f4110111112121213131313141414141415151515151516161616161616171717171717171718181819181818191a1a1a1a191b1b1b1b1b1c1c1c1c1e1e1e1f1f21000001b5144200010000, interlaced=(boolean)true

i.e. the result is 30 *frames* per second, interlaced (60 fields per second).