logo

Could not compile stylesheet for simplistic. Using last compiled stylesheet.
0
Hello.
I cannot display a video using TIDmaiVideoSink at all on my IGEPv2 board.

I'm using the demo-image-sato and gstreamer framework 3.40.

Pipeline:
export GST_DEBUG=TIDmaiVideoSink:5
gst-launch videotestsrc ! $SINK


0:00:00.099997657  1464  0x1f2bd18 ERROR        TIDmaiVideoSink gsttidmaivideosink.c:1972:gst_tidmaivideosink_alloc_display_buffers: useUserptrBufs=TRUE can only be used with V4L2 displays

0:00:00.100058718  1464  0x1f2bd18 ERROR        TIDmaiVideoSink gsttidmaivideosink.c:730:gst_tidmaivideosink_buffer_alloc: Failed to allocate display buffers
Pipeline is PREROLLED ...

Accepted Answer

mcaro
mcaro
Offline
Monday, December 10 2012, 12:16 PM - #permalink
0
Hi justason,

About your first post, this error it's related to the fb kernel configuration, so it means that you manually must configure the video buffers to get 3 fb with 1280x720x3 memory each fb and then select /dev/fb1 or /dev/fb2 (it's not possible use fb0) the second important thing it's enable the framecopy (SDMA copy) ...

In this version we enabled the omap_vout driver and it requires one graphic fb (fb0) and two other video devices as you found, but due a bug in the configuration by default fb takes the 3 video buffers and it disables the omap_vout driver, we resolved it in our git repository here:

http://git.isee.biz/?p=pub/scm/linux-om ... 8fde57c719

Or using the latest poky release ... so in the next releases we will replace the static kernel and put there to download the latest one ... I'm sorry for this mistake ...

Cheers
Manel
The reply is currently minimized Show
Responses (12)
  • Accepted Answer

    Monday, December 10 2012, 09:52 AM - #permalink
    0
    The main issue here is the performance.
    The available sinks to display video at the moment are:
    - fbdevsink (fb0,fb1,fb2)
    - omapdmaifbsink
    - TIDmaiVideoSink
    - tidisplaysink2

    my pipeline:
    gst-launch filesrc location=$VIDEO ! qtdemux name=demux demux.video_00 ! queue max-size-buffers=2 max-size-time=0 max-size-bytes=0 ! TIViddec2 engineName=codecServer displayBuffer=true ! dmaiperf print-arm-load=TRUE ! $SINK


    my $VIDEO is 1280*720 H264 low profile.
    fakesink - shows that the board decodes video at 33 FPS!!!

    fbdevsink 0,1,2 the FPS does not exceed 7, and the processor load stays high about 90%.

    TIDmaiVideoSink - does not start.

    omapdmaifbsink - same result as with fbdevsink. 7 FPS at most.

    I'm using the kernel provided with the gsteamer-framework 3.40
    The reply is currently minimized Show
  • Accepted Answer

    Monday, December 10 2012, 10:16 AM - #permalink
    0
    Workaround found.

    If to use kernel from poky distribution, it will not create omapfb devices /dev/fb1 and /dev/fb2, as it has num_display_buffers=1 in the configuration.

    Instead, it will create two V4L2 devices: /dev/video1 and /dev/video2, and then becames possble to use tidisplaysink2 device and the displaying performance jumps to 33 FPS!

    So, the workaround in my case was to
    REPLACE the kernel (or just defconfig file) from gstreamer-framework 3.40 with the kernel that comes with poky distribution.
    The reply is currently minimized Show
  • Accepted Answer

    Monday, December 10 2012, 12:55 PM - #permalink
    0
    Thanks for the reply.

    I still would like to use TIDmaiVideoSink, as it can use the hardware resizer.

    (BTW can it? As I have tried to use TIVidResize and it tells nice "not implemented" thing...)

    Please correct me if I'm wrong:
    If I want to use TIDmaiVideoSink I need ether:
    1. wait for the next release of gstreamer-framework
    or
    2. compile and use the kernel from that GIT?
    The reply is currently minimized Show
  • Accepted Answer

    Tuesday, December 11 2012, 09:52 AM - #permalink
    0
    cannot rebuild the igep-dsp-gst-framework-3_40_00 against the kernel from the GIT.
    http://git.isee.biz/?p=pub/scm/linux-om ... 8fde57c719

    cmemk: compile failed - So Decoder/Encoder won't work.
    constant "VM_RESERVED" is missing

    sdmak.c: file missing plat/hardware.h ++ subsequent missing files

    /Graphics_SDK_4_05_00_03/GFX_Linux_KM/services4/3rdparty/bufferclass_ti/bc_cat.c - declarations missing
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Tuesday, December 11 2012, 07:40 PM - #permalink
    0
    Hi justason, Did you build the kernel before try to build the framework ? Cheers Manel
    The reply is currently minimized Show
  • Accepted Answer

    Tuesday, December 11 2012, 09:04 PM - #permalink
    0
    I did so. And the kernel was compiled nicely. Although it is a newer version.
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Wednesday, December 12 2012, 08:59 AM - #permalink
    0
    Did you checkout the kernel linux-2.6.37.y ? Manel
    The reply is currently minimized Show
  • Accepted Answer

    Wednesday, December 12 2012, 10:46 AM - #permalink
    0
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Wednesday, December 12 2012, 01:30 PM - #permalink
    0
    After clone the git you should checkout the kernel release, in this case: linux-2.6.37.y Manel
    The reply is currently minimized Show
  • Accepted Answer

    Thursday, December 13 2012, 09:40 AM - #permalink
    0
    Thanks, that worked.
    The reply is currently minimized Show
  • Accepted Answer

    Thursday, December 13 2012, 10:29 AM - #permalink
    0
    By the way,

    How can I have V4L2 /dev/video1, /dev/video2 devices together with /dev/fb1 and /dev/fb2
    ?

    I have increased number of FB devices in the kernel config to 3, and then V4L2 devices disappear.
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Thursday, December 13 2012, 11:16 AM - #permalink
    0
    You can not get fb1/fb2 and at the same time /dev/video1 or /dev/video2 due it's the same device with different drivers, if you increase the fb from 1 to 3 then /dev/video will be decreased , so if you use 2 fb (fb0 and fb1) then you will get 1 video, if you use 3 fb then you don't get any video available ...

    so let me explain the difference, the DSS controller has 3 video channels, the first one called graphics channel and the two others be a video channels, the difference between both kind of channels be the format, using the the graphic it uses RGB and the video channels use a native YUV video format ...

    Manel
    The reply is currently minimized Show
Your Reply

SUPPORT


This email address is being protected from spambots. You need JavaScript enabled to view it.
This email address is being protected from spambots. You need JavaScript enabled to view it.
IGEP Community Wiki
IGEP Community Forum
IGEP Community Online Chat