Adddate: 2010-05-28 07:32:46
comments on gstreamer-ti-I420out-h264dec-integration.patch:
* Why you are removing "UYVY" sink cap from TIViddec2 ? Please
note that on many platforms codec supports outputing UYVY and display driver
accepts the same. I think instead of removing "UYVY" from
cap, you should be extending sink cap to add "I420" support
and based on the downstream negotiation set the codec output chroma format.
* You are setting maxWidth and maxHeight based on the demuxer width/height, this
may or may not work on all platform. And since this is a generic change hence
you need to submit a separate patch which does this and it needs wide testing
Adddate: 2010-05-28 12:06:12
* About removing "UYVY" cap, you are totally right with that
observation. When we were trying to set the codec parameters for the output, we
see that the code from TIViddec2 set the parameters of the codec depending on
the device that is in use. We had decided as we are using the omapl138 device
that we can make an #if defined platform_omapl138 to set the parameters that we
need to get an I420 codec output , but we retract with that idea due the
parameters that we are setting depends on our application and not in the
platform, so based on this, another application could use UYVY codec output
instead of I420. So thats why we force the I420 output as you can notice.
But setting the codec output, based on the downstream negotiation should be the
right way to do that as your comment says.
* About setting maxWidth and maxHeight based on the demuxer width/height, Im
uploading a new implementation patch with out touching maxWidth and maxHeight
Adddate: 2010-06-01 14:11:42
Actually you are modifying default to I420, this basically will force these
DM6446/DM355/DM357/OMAP3530 platforms to use I420 instead of UYVY. The long
term soln will be implementing "downstream" negotiation but
for short term i will prefer to add OMAPL138 platform in switch statement and
configure YUV420 chroma format. Something like this:
params.forceChromaFormat = XDM_YUV_420P;
params.maxWidth = VideoStd_D1_WIDTH;
params.maxHeight = VideoStd_D1_PAL_HEIGHT;
colorSpace = ColorSpace_YUV420P;
defaultNumBufs = 3;
Adddate: 2010-06-03 11:52:34
I followed your comment about adding an #if defined(Platform_omapl138)
for setting the YUV420 format in the omapl138 platform.
About the problem with ffmpegcolorspace I realized, understanding a little bit
more about TIViddec2 and Vdec2 interface, that as the gstticommonutils.c says:
"In some cases codec does not return the correct output buffer size.
* downstream elements like "ffmpegcolorspace" expect the
* buffer. Return the corrected numBytesUsed by the buffer, if
So as we can see, this file is set to return the correct output numBytesUsed by
the buffer for the UYVY format, not the same way for I420 that its not
supported. So we add another case for the YUV420P in this file, and this seems
to correct our issue.
I upload the new patch with the name
Check it and let me know your comments about this fix.
Adddate: 2010-08-24 04:22:39
I have patched gstreamer-ti-color-space-plugin.patch, but compiled gstreamer_ti
failed. such is the error messages:
colorspace.c:14:58: error: ti/sdo/codecs/universal_csc/universal_csc_ti.h: No
ch file or directory
colorspace.c: In function 'disp_tec_color_space_conversion_real_fixate_caps':
colorspace.c:135: warning: passing argument 1 of
rest_int' discards qualifiers from pointer target type
colorspace.c:143: warning: passing argument 1 of
rest_int' discards qualifiers from pointer target type
colorspace.c:151: warning: passing argument 1 of
rest_fraction' discards qualifiers from pointer target type
colorspace.c: In function 'disp_tec_color_space_conversion_real_set_caps':
colorspace.c:167: error: 'ICSC_Params' undeclared (first use in this
colorspace.c:167: error: (Each undeclared identifier is reported only once
colorspace.c:167: error: for each function it appears in.)
colorspace.c:167: error: expected ';' before '_tmp1_'
colorspace.c:168: error: expected ';' before 'param'
colorspace.c:193: error: 'param' undeclared (first use in this function)
colorspace.c:193: error: '_tmp1_' undeclared (first use in this function)
colorspace.c: In function
I could not find universal_csc_ti.h in dvsdk_3_10.How can I get
Adddate: 2010-08-25 13:08:32
I assume you are using OMAPL138 EVM.
Just to let you know that TI has released DVSDK 4.0 beta  for OMAPL138
platform and this DVSDK even comes with prebuilt Gstreamer binaries. And for
OMAPl138 there is a element named "TIC6xColorspace" for doing
the color conversion from YUV420->RGB565. Optionally you can also rebuild
the plugin by using the instructions from README.txt.
Hope this helps.
Adddate: 2010-08-26 20:55:06
I'm using DM365 EVM, and dvsdk version is dvsdk_3_10_00_19.
Now, I can decode video stream output to TV with composite signal(use YUV420P
mode), gstreamer script like this:
DMAI_DEBUG=2 gst-launch -v filesrc location=/opt/davincieffect_ntsc.mpeg4 !
TIViddec2 codecName=mpeg4dec engineName=codecServer ! dmaiperf
print-arm-load=TRUE ! TIDmaiVideoSink displayStd=v4l2 displayDevice=/dev/video2
It works well.
I also want to decode video stream output to parallel RGB LCD(use RGB565 mode).
But when I change "videoOutput=LCD", the left half screen and
rigth half screen will display the same image.
Does it means I should convert from YUV420P to RGB565?
Could you give some suggestion?
Adddate: 2010-10-19 16:14:48
Not in release 1.02 due to insufficient review.