mfw_ipucsc on imx6 solo

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mfw_ipucsc on imx6 solo

1,410 Views
jordan38
Contributor II

Hi community,

I am trying to display subtitles on a imx6 solo based board with gstreamer0.10

The setup is the following:

rootfs built with yocto master-next, image based on fsl-image-multimedia, and MACHINE is imx6solosabresd.conf, linux kernel is 3.10.31 BETA.

To display subtitles :

gst-launch filesrc location=/home/root/myvideo.avi ! mpegtsdemux name=demux demux. ! queue ! h264parse ! vpudec low-latency=true ! dvbsuboverlay name=overlay ! imxv4l2sink demux. ! subpicture/x-dvb ! queue ! overlay.

But with this pipeline, I had no video on screen and after investigations, I inserted a Color Space Conversion (mfw_ipucsc plugin) in pipeline:

gst-launch filesrc location=/home/root/M6HD.avi ! mpegtsdemux name=demux demux. ! queue ! h264parse ! vpudec low-latency=true ! dvbsuboverlay name=overlay ! 'video/x-raw-yuv,format=(fourcc)I420' ! mfw_ipucsc !'video/x-raw-yuv,format=(fourcc)NV12' ! imxv4l2sink demux. ! subpicture/x-dvb ! queue ! overlay.

With this pipeline, the video is displayed with subtitles but it's very slow (less 1 fps) and following logs:

IPU_CSC_CORE_LIBRARY_VERSION_INFOR_01.00.

MFW_GST_IPU_CSC_PLUGIN 4.0.1 build on Nov  3 2014 14:02:29.

MFW_GST_V4LSINK_PLUGIN 4.0.1 build on Nov  3 2014 14:02:15.

Setting pipeline to PAUSED ...

[INFO]    Product Info: i.MX6Q/D/S

vpudec versions :smileyhappy:

    plugin: 4.0.1

    wrapper: 1.0.54(VPUWRAPPER_ARM_LINUX Build on Sep 19 2014 16:08:56)

    vpulib: 5.4.26

    firmware: 3.1.1.46060

Pipeline is PREROLLING ...

[INFO]    bitstreamMode 1, chromaInterleave 0, mapType 0, tiled2LinearEnable 0

[WARN]    VPU iram is less than needed, some parts don't use iram

set v4l rotate sucessfully

>>V4L_SINK: Actually buffer status:

    hardware buffer : 12

    software buffer : 0

hwbuf allocator zone(3133440) created

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

WARNING: from element /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0: A lot of buffers are being dropped.

Additional debug info:

/data/fsl-community-bsp/build-elio/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/libs/gst/base/gstbasesink.c(2875): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0:

There may be a timestamping problem, or this computer is too slow.


Could you help me to resolve this problem.


Regards,

Jordan

Labels (4)
0 Kudos
4 Replies

680 Views
jordan38
Contributor II

Hi,

I still have no solution.

Someone else could he help me, please?

Regards,

Jordan

0 Kudos

680 Views
jordan38
Contributor II

Hi,

Someone could help me please, I don't understand why video is slow because of "mfw_ipucsc" plugin?

regards,

Jordan

0 Kudos

680 Views
subodh
Contributor III

Few pointers might help you. Since I have never used this method for subtitles, just pointing to some points I might consider to debug the issue.

1) Chk top with thread mode to chk cpu usage of you src pad on mfw_icsc. (Not necessary but good to chk once you suspect the performance hit.)

2) Try using the "output-format" parameter of vpudec.

3) I am not sure if the colorspace conversion caps order is correct. Because for H264 video I prefer NV12 => I420.

4) Post on the gstreamer-devel list as well in case you haven't already done it.

Please submit the solution if you have already figured it out.

Regards,

Subodh

0 Kudos

680 Views
jordan38
Contributor II

Hi,

1) On my board, I have a minimal Top and I don't use thread mode.

- Without gstreamer command ongoing:

Mem: 297036K used, 213664K free, 0K shrd, 0K buff, 118196K cached

CPU:   0% usr   0% sys   0% nic  99% idle   0% io   0% irq   0% sirq

Load average: 0.11 0.09 0.09 1/73 730

- With gstreamer command ongoing:

Mem: 390212K used, 120488K free, 0K shrd, 0K buff, 118224K cached

CPU:  37% usr   5% sys   0% nic  57% idle   0% io   0% irq   0% sirq

Load average: 0.10 0.08 0.08 1/78 736

  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND

  731   705 root     S     126m  25%  42% /usr/bin/gst-launch-0.10 filesrc location=myvideo.avi ! mpegtsdemux name=demux


2) I already use "output-format" of vpudec but the input and output of next plugin (dvbsuboverlay) is only I420 format. Thus, output-format = I420

3) When I am linking dvbsuboverlay with imxv4l2src in I420 format, I have no video on screen. Thus, I am force to use a format conversion, I chosed mfw_ipucsc plugin because it's using IPU.

For the moment, I don't have the solution.

Regards,

Jordan

0 Kudos