Gstreamer-1.0 : Unable to set framerate for video elementary stream with vpudec on IMX6Q

Carlos Rafael Giani dv at pseudoterminal.org
Wed Dec 10 01:00:05 PST 2014


In general, doing something like this will not be easy, since the 
timestamps need to be modified. I know that the FSL VPU decoder element 
does some weird timestamp estimation which is very different from the 
other GStreamer video decoders. Perhaps it can modify the timestamps, 
but if so, it is a special feature of this element.

That's a good question, actually. Is it possible to re-timestamp a video 
stream to match a certain framerate?

On 2014-12-09 15:28, Subodh Chiwate wrote:
> Hi,
>
> System Specs
> ==========
> I am using *IMX6 Quad SABRE board*. I have built the linux image using 
> the *Yocto*.
>
> Linux imx6qsabresd *3.10.31-1.1.0*_beta+g94a7e47 #1 SMP PREEMPT Sun 
> Oct 12 02:14:32 IST 2014 armv7l GNU/Linux
>
> root at imx6qsabresd:/unit_tests# gst-launch-1.0 --version
> *gst-launch-1.0 version 1.2.3**
> **GStreamer 1.2.3*
>
>
> Issue
> ====
> I want to play an elementary stream of H264 video at a configurable 
> (not at runtime) frame rate. Also I do not want to drop any frames
> and hence not using videorate plugin.
> I tried setting the caps to convey the desired frame rate but at the 
> end of execution I am getting 30fps for all elementary streams I have 
> tested with.
> But the same content plays at correct FPS in gst-0.10 vpu plugin.
> Following are the logs for both pipelines.
> Any suggestions regarding debugging the issue are welcome.
> Please let me know if should provide any specific information 
> regarding my setup.
>
> Thanks.
>
>
> Command Line Output
> ===============
> root at imx6qsabresd:/unit_tests# *gst-launch-1.0 -vvv filesrc 
> location=/home/subodh/Media/v1.m4v ! h264parse ! vpudec 
> frame-drop=false ! **"video/x-raw,framerate=(fraction)24/1" **! 
> imxv4l2sink*
> Setting pipeline to PAUSED ...
> [INFO]    Product Info: i.MX6Q/D/S
> Pipeline is PREROLLING ...
> /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = 
> video/x-h264, width=(int)1920, height=(int)1080, 
> framerate=(fraction)24/1, parsed=(boolean)true, 
> stream-format=(string)avc, alignment=(string)au, 
> codec_data=(buffer)01640028ffe1001d67640028ac24a401e0089f966e020202800000030080000018478c192401000668ee06cb22c0
> /GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:sink: caps = 
> video/x-h264, width=(int)1920, height=(int)1080, 
> framerate=(fraction)24/1, parsed=(boolean)true, 
> stream-format=(string)avc, alignment=(string)au, 
> codec_data=(buffer)01640028ffe1001d67640028ac24a401e0089f966e020202800000030080000018478c192401000668ee06cb22c0
> [INFO]    bitstreamMode 1, chromaInterleave 1, mapType 0, 
> tiled2LinearEnable 0
> /GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:src: caps = 
> video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1088, 
> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, 
> colorimetry=(string)bt709, framerate=(fraction)24/1
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = 
> video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1088, 
> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, 
> colorimetry=(string)bt709, framerate=(fraction)24/1
> /GstPipeline:pipeline0/GstImxV4l2Sink:imxv4l2sink0.GstPad:sink: caps = 
> video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1088, 
> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, 
> colorimetry=(string)bt709, framerate=(fraction)24/1
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = 
> video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1088, 
> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, 
> colorimetry=(string)bt709,*framerate=(fraction)24/1*
> v4l2sink need allocate 11 buffers.
> Pipeline is PREROLLED ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> Got EOS from element "pipeline0".
> Execution ended after 0:01:06.674187675
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> Setting pipeline to NULL ...
> Total showed frames (1988), playing for *(0:01:06.676579008), fps 
> (29.816).*
> Freeing pipeline ...
>
> root at imx6qsabresd:/unit_tests# *gst-launch-0.10 -vvv filesrc 
> location=/home/subodh/Media/v1.m4v ! legacyh264parse ! vpudec 
> framedrop=false framerate-nu=24 framerate-de=1 ! imxv4l2sink *
> MFW_GST_V4LSINK_PLUGIN 4.0.1 build on Nov  3 2014 14:23:43.
> Setting pipeline to PAUSED ...
> [INFO]    Product Info: i.MX6Q/D/S
> vpudec versions :)
>     plugin: 4.0.1
>     wrapper: 1.0.54(VPUWRAPPER_ARM_LINUX Build on Oct 20 2014 18:56:13)
>     vpulib: 5.4.26
>     firmware: 3.1.1.46060
> Pipeline is PREROLLING ...
> /GstPipeline:pipeline0/GstLegacyH264Parse:legacyh264parse0.GstPad:src: 
> caps = video/x-h264, width=(int)1920, height=(int)1080, 
> framerate=(fraction)24/1, stream-format=(string)byte-stream, 
> alignment=(string)nal
> [INFO]    bitstreamMode 1, chromaInterleave 1, mapType 0, 
> tiled2LinearEnable 0
> /GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:sink: caps = 
> video/x-h264, width=(int)1920, height=(int)1080, 
> framerate=(fraction)24/1, stream-format=(string)byte-stream, 
> alignment=(string)nal
> /GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:src: caps = 
> video/x-raw-yuv, format=(fourcc)NV12, width=(int)1920, 
> height=(int)1088, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, 
> crop-left=(int)0, crop-right=(int)0, crop-bottom=(int)8, 
> num-buffers-required=(int)11, framerate=(fraction)24/1, alignment=(int)1
> set v4l rotate sucessfully
> >>V4L_SINK: Actually buffer status:
>     hardware buffer : 11
>     software buffer : 0
> /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0.GstPad:sink: 
> caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)1920, 
> height=(int)1088, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, 
> crop-left=(int)0, crop-right=(int)0, crop-bottom=(int)8, 
> num-buffers-required=(int)11, framerate=(fraction)24/1, alignment=(int)1
> WARNING: from element 
> /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0: 
> Internal data flow problem.
> Additional debug info:
> /Data/yocto/fsl-arm-yocto-bsp/build-dfb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/libs/gst/base/gstbasesink.c(3638): 
> gst_base_sink_chain_unlocked (): 
> /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0:
> Received buffer without a new-segment. Assuming timestamps start from 0.
> Pipeline is PREROLLED ...
> Setting pipeline to PLAYING ...
> full screen size:1920x1080
> [V4L Update Display]: left=0, top=0, width=1920, height=1080
> set v4l display crop sucessfully
> New clock: GstSystemClock
> Got EOS from element "pipeline0".
> Execution ended after 83247423343 ns.
> Setting pipeline to PAUSED ...
> *Running time 0:01:23.251386343 render fps 23.916*
> Setting pipeline to READY ...
> /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0.GstPad:sink: 
> caps = NULL
> /GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:src: caps = NULL
> /GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:sink: caps = NULL
> /GstPipeline:pipeline0/GstLegacyH264Parse:legacyh264parse0.GstPad:src: 
> caps = NULL
> Setting pipeline to NULL ...
> Total rendered:1991
> Freeing pipeline ...
> [--->FINALIZE v4l_sink
> root at imx6qsabresd:/unit_tests#
>
>
> -- 
> Regards,
> Subodh
> -- **************** CAUTION - Disclaimer ***************** This e-mail 
> contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for 
> the use of the addressee(s). If you are not the intended recipient, 
> please notify the sender by e-mail and delete the original message. 
> Further, you are not to copy, disclose, or distribute this e-mail or 
> its contents to any other person and any such actions are unlawful. 
> This e-mail may contain viruses. UFOMoviez India Ltd. has taken every 
> reasonable precaution to minimize this risk, but is not liable for any 
> damage you may sustain as a result of any virus in this e-mail. You 
> should carry out your own virus checks before opening the e-mail or 
> attachment. UFOMoviez India Ltd. reserves the right to monitor and 
> review the content of all messages sent to or from this e-mail 
> address. Messages sent to or from this e-mail address may be stored on 
> the UFOMoviez India Ltd.'s e-mail system. ***************** End of 
> Disclaimer *******************
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141210/3f4b70d6/attachment-0001.html>


More information about the gstreamer-devel mailing list