Format problem with gst-0.10 nv_omx_hdmi_videosink

The capabilities of nv_omx_hdmi_videosink in gstreamer 0.10 is as below:
$ gst-inspect-0.10 nv_omx_hdmi_videosink
Capabilities:
video/x-nv-yuv
width: [ 16, 4096 ]
height: [ 16, 4096 ]
framerate: [ 0/1, 2147483647/1 ]
format: { I420, YUY2, UYVY, NV12 }
video/x-raw-yuv
width: [ 16, 4096 ]
height: [ 16, 4096 ]
framerate: [ 0/1, 2147483647/1 ]
format: { I420, YUY2, UYVY, NV12, NVB1 }

But when I tested the plugin with different formats, I got different result.
The test commend is:
“gst-launch-0.10 videotestsrc pattern=checkers-8 ! “video/x-raw-yuv, width=1920, height=1080, framerate=(fraction)6,format=(fourcc)I420” ! nv_omx_hdmi_videosink -v -e”.

The display is right only when format is set as (fourcc)I420 and (fourcc)NV12.
When set as YUY2 or UYVY, there is a chaos display.

Can anybody give me a help?

Thanks!

Hi Peter,
The gst-inspect-0.10 info is not correct. The two formats are not supported. For your case, please try

export DISPLAY=:0
gst-launch-0.10 videotestsrc pattern=checkers-8 ! "video/x-raw-yuv, width=1920, height=1080, framerate=(fraction)6,format=(fourcc)UYVY" ! autovideosink -v -e

Thanks very much for the replay!
I tested as you suggest, but got such a result:
ubuntu@tegra-ubuntu:~$ gst-launch-0.10 videotestsrc pattern=checkers-8 ! “video/x-raw-yuv, width=1920, height=1080, framerate=(fraction)6,format=(fourcc)I420” ! autovideosink -v -e
Setting pipeline to PAUSED …
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingCaught SIGSEGV accessing address 0x18
#0 0xb6d635f4 in ?? ()
#1 0xb6d62372 in ?? ()
Spinning. Please run ‘gdb gst-launch 4299’ to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
^CCaught interrupt – ^C

Hi Peter, have you set [export DISPLAY=:0]. The issue should be gone with DISPLAY being set.

Yes, I set that.
But I am at the text mode, does that matter?

I think YES. Please try ubuntu desktop.

I have tested with ubuntu desktop. But it is a non-full-screen display, while we need display with full-screen. That is why we run nv_omx_hdmi_videosink at text mode…

Hi Peter, please try

gst-launch-0.10 videotestsrc pattern=checkers-8 ! "video/x-raw-yuv, width=1920, height=1080, framerate=(fraction)6,format=(fourcc)UYVY" ! nvvidconv ! 'video/x-nv-yuv' ! nv_omx_hdmi_videosink -v -e

Sorry to test later.
I have tried as suggested, and get a display. But the prints is as below:

/GstPipeline:pipeline0/GstOmxHdmiVideoSink:omxhdmivideosink0.GstPad:sink: caps = video/x-nv-yuv, width=(int)1920, height=(int)1080, framerate=(fraction)6/1, format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2

It seems the stream format after “nvvidconv” is set as I420. I tried:

gst-launch-0.10 videotestsrc pattern=checkers-8 ! "video/x-raw-yuv, width=1920, height=1080, framerate=(fraction)6,format=(fourcc)UYVY" ! nvvidconv ! 'video/x-nv-yuv,format=(fourcc)UYVY' ! nv_omx_hdmi_videosink -v -e

But it doesn’t work. The info is as below:

Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingWARNING: erroneous pipeline: could not link nvvconv0 to omxhdmivideosink0

Hi Peter,
Yes, #2 has confirmed nv_omx_hdmi_videosink does not support YUY2 and UYVY. You need to convert to I420 via nvvidconv.