summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-01-19Merge to trunk for DM81xx release 0.4HEADmasterharinarayan62-500/+6676
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@1023 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-11-16DM81xx 0.3 release merge, works with EZSDK 5.03harinarayan7-35/+56
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@983 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-10-20Updated example gstreamer pipelines for dm81xxharinarayan3-368/+50
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@974 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-10-18Correct README.TXT from githubharinarayan1-287/+37
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@973 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-10-18Minor Changesharinarayan1-1/+1
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@972 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-10-13git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@971 ↵harinarayan274-0/+49920
24075187-2e39-4e88-bbb8-bc8aa768f540
2011-07-13add dmai based capture source element.brijesh.singh4-2/+790
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@962 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-07-13extend dmai transport buffer creation to pass a callback routine - this ↵brijesh.singh13-15/+29
routine will be executed during dmai transport unref. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@961 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-05-22update REAMDE file to mention DVSDK 4.02 supportbrijesh.singh1-4/+5
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@942 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-05-22update omapl138 cfg to use cs.674brijesh.singh1-2/+2
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@941 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-05-22set maxInterFrameInterval params needed by ittiam codecsbrijesh.singh1-0/+1
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@940 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-24Current implementation gives preference to codecname and enginename values ↵brijesh.singh4-25/+12
set via set_property over autodetected during gst_set_sink_caps. To comply with this we need to default engine and codec name to NULL. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@930 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-23viddec2: By default set padAlloc property to TRUE on dm36x and omap3 ↵brijesh.singh1-1/+13
platform. Also adding check to ensure that peer buffer is requested only when we know stream height/width. In case of container format, demuxer element provides these information and for elementary one can add parses to get these information. tested the following pipelines: # gst-launch filesrc location=sample.264 ! typefind ! h264parse ! TIViddec2 ! tidisplaysink2 /* this automatically uses peer alloc feature */ # gst-launch filesrc location=sample.264 ! typefind ! TIViddec2 ! tidisplaysink2 /* this does not use peer alloc */ git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@929 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-22gsttiaudenc1: use #define macro for default property. Extend some properties ↵brijesh.singh1-17/+45
to readwrite instead of readonly as this will help application to read property information if needed. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@928 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-22gsttiauddec1: use #define macro for default property. Extend some properties ↵brijesh.singh1-16/+46
to readwrite instead of readonly as this will help application to read property information if needed. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@927 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-22gsttividenc1: use #define macro for default property. Extend some properties ↵brijesh.singh1-35/+79
to readwrite instead of readonly as this will help application to read property information if needed. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@926 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-22gsttividdec2: use #define macro for default property. Extend some properties ↵brijesh.singh1-17/+52
to readwrite instead of readonly as this will help application to read property information if needed. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@925 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-18Introducing TIDmaiVideoSink version 2brijesh.singh9-3/+1163
TIDmaiVideoSink is very popular cross platform video sink but since this sink was not derived from standard video class hence it was getting difficult to add important features like overlay, DSS resize, QoS and use latest DMAI changes without breaking existing platform support. This patch implements TIDmaiVideoSink version 2 - name tidisplaysink2. The sink has been tested on DM365, DM368, DM3730 and OMAPL138 platform. The noticable changes are: - code cleanup to match Gstreamer standard - support DSS2 resizer using the overlay IOCTL's. - support peer buffer allocation on arbitary resolution. - used sink defined default attributes like videoStd=AUTO, videoOutput=SYSTEM - add support for omapl138 The sink depends on latest DVSDK 4.01. The following pipeline are tested on supported platforms: git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@924 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-12If upstream is sending NEW_SEGMENT then initilize totalDuration with this ↵brijesh.singh1-0/+1
information. Note: earlier we assumed that totalDuration will always start from 0 (or first buffer will have valid timestamp) but this may not be true with transport stream demuxer. So its safe to use NEW_SEGMENT information all the time. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@920 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-12viddec2: if height and width is passed during cap negotiation then configure ↵r919brijesh.singh2-1/+23
codec maxHeight and maxWidth with this information. Note: typically demuxer provides height/width and one can use stream parsers (like h264parse, mpeg4videoparse, mpegvideoparse) to retrive this information from elementory streams. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@919 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-03-12adding dmaiperf in decode pipeline either corrupts video or fails to init ↵brijesh.singh1-0/+10
sink. Below pipeline does not work : ... ! TIViddec2 ! dmaiperf ! TIDmaiVideoSink .... root cause: dmaivideosink supports peer buffer and since dmaiperf is based on transform class it sends peer alloc request to downstream and as expected dmaivideosink responds to its event but if padAlloc is not enabled on TIViddec2 then sink will not able to share the buffer between TIViddec2 and TIDmaiVideoSink. soln: like other tranform elements (e.g identity, tividderesizer) implement prepare_output_buffer function. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@918 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18set CS2009Q1 as default compiler for dm3730brijesh.singh1-1/+1
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@905 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18Fix copyright year and Author namesbrijesh.singh3-6/+6
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@904 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18update PLATFORM_XDC/CROSS_COMPILE to use ( instead of { braces.brijesh.singh1-14/+14
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@903 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18add support for DVSDK 4.01 platformbrijesh.singh1-3/+4
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/latest/index_FDS.html git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@902 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18fix switch loop in viddec2.brijesh.singh1-0/+1
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@901 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18tidmaivideosink: use Display_Output_SYSTEM when videoOutput is set to AUTO.brijesh.singh1-1/+3
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@900 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18DMAI causes asseration when X or Y offset are not even on some platforms. ↵brijesh.singh1-0/+11
This patch updates X and Y offset to make it even to avoid asserations. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@899 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18add support for new TM320DM368 platformbrijesh.singh10-14/+286
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@898 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18update omapl138 cfg to use createfromserverbrijesh.singh1-52/+17
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@897 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18DM3730 DVSDK 4.01 defines PLATFORM=dm3730 in its Rules.make file. And since ↵brijesh.singh8-7/+207
Gstreamer Makefile.common depends on DVSDK Rules.make hence adding a seperate DM3730 target. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@896 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18Enable pad-allocated buffers for OMAP35x/DM37x.brijesh.singh1-2/+9
Requires preliminary support for DVSDK 4.00 (omap3530_dv400 build target). Rotation is not allowed when pad allocation is in use. When rotation is used, we can only allocate a maximum of four V4L2 buffer handles. This isn't practical when sharing buffers with codecs that could require more buffers than this. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@895 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18remove unused gstticodecs_omap3530_dv400.c filebrijesh.singh1-97/+0
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@894 24075187-2e39-4e88-bbb8-bc8aa768f540
2011-01-18define C6ACCEL_PLATFORM variablebrijesh.singh3-1/+5
This variable will be used by Makefile.am to get c6accel static library name. The patch is in preperation for adding seperate dm3730 platform. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@893 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-19Add TIPrepEncBuf to README.TXTdon.darling1-0/+3
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@884 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Fix build error (printf argument mismatch)don.darling1-1/+2
Resolve these build errors: gsttividenc1.c:1375: error: format '%lu' expects type 'long unsigned int', but argument 2 has type 'guint' gsttividenc1.c:1375: error: format '%lu' expects type 'long unsigned int', but argument 3 has type 'unsigned int' git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@880 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Correct input buffer size calculationdon.darling1-8/+5
If we know the input buffer is physically contiguous in memory, use its size as the expected size for all input buffers. Otherwise, the codec will be asked the size to expect. This helps with encoding 1080p30 on DM6467T, where the codec reports that the input buffer size should be 1920x1088, where 1920x1080 is usualy what we have and works fine with the encoder. Also, on DM365, the input buffers may have addtional padding so the size of the input buffers is larger than what the codec needs. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@879 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Replace hOutBufTab with single Dmai (CMEM) buffer.don.darling2-71/+17
Now that we're copying the encoded output to a regular GstBuffer, there is no need for a BufTab of output buffers. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@878 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16TIVidenc1: Transfer all metadata from input buffer to output buffer.don.darling2-13/+18
Replace code that copies timestamps from the input buffer to the output buffer with simpler code that just copies over all metadata. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@877 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16TIVidenc1: Copy encoded output to a regular GstBufferdon.darling1-2/+2
Previously the CMEM-allocated buffers that hold the encoded output were passed directly downstream. However, there are only a few of these buffers, so waiting for one to become available is often more expensive than doing a memcpy of the encoded frame (which is usually pretty small). This change copies the encoded data out of the CMEM buffer and passes it downstream. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@876 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Enable zero-copy capture+encode for DM355.don.darling1-1/+1
Here's a pipeline that captures+encodes a 3MBps MPEG-4 HQ file on DM355: gst-launch v4l2src input-src=s-video always-copy=FALSE num-buffers=600 ! TIVidenc1 contiguousInputFrame=TRUE codecName=mpeg4enc engineName=codecServer encodingPreset=2 bitRate=3000000 ! filesink location=sample.m4v git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@875 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Remove TIVidenc1 code that prepares input buffers.don.darling1-225/+20
This is now done by the TIPrepEncBuf, and this element should be used before TIVidenc1 if a hardware-accelerated copy or color-conversion is needed for the encode. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@874 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Add the TIPrepEncBuf elementdon.darling4-2/+897
This element prepares input buffers for use by the TIVidenc1 encoder. Typically it would be placed in the pipeline just before TIVidenc1 and perform a hardware-accelerated copy or color-conversion into a physically contiguous buffer, which is required by the codecs in TIVidenc1. The hardware accelerated copies can be done in parallel with the encode by placing a "queue" element between TIPrepEncBuf and TIVidenc1. Targets that support zero-copy capture+encode (currently only DM365) do not need this element when v4l2src is uses with always-copy=FALSE. Example usage on DM6467 to capture, color convert, and encode to H.264: gst-launch v4l2src num-buffers=600 always-copy=FALSE ! 'video/x-raw-yuv, format=(fourcc)NV16, framerate=(fraction)30/1, width=(int)1280, height=(int)720' ! TIPrepEncBuf contiguousInputFrame=TRUE ! 'video/x-raw-yuv, format=(fourcc)NV12, framerate=(fraction)30/1, width=(int)1280, height=(int)720' ! queue ! TIVidenc1 engineName="codecServer" codecName="h264enc" bitRate=3000000 ! filesink location="./sample.264" Example usage on DM6446 to capture, copy, and encode to H.264: gst-launch v4l2src always-copy=FALSE input-src=s-video num-buffers=600 ! 'video/x-raw-yuv, format=(fourcc)UYVY, framerate=(fraction)30000/1001, width=(int)720, height=(int)480' ! TIPrepEncBuf contiguousInputFrame=TRUE ! queue ! TIVidenc1 engineName="encode" codecName="h264enc" bitRate=1000000 ! queue max-size-buffers=2 max-size-time=0 max-size-bytes=0 ! filesink location="./sample.264" Example usage on DM355 to capture, copy, and encode to MPEG-4: gst-launch v4l2src input-src=s-video always-copy=FALSE num-buffers=600 ! TIPrepEncBuf contiguousInputFrame=TRUE ! queue ! TIVidenc1 codecName=mpeg4enc engineName=codecServer encodingPreset=2 bitRate=3000000 ! filesink location=sample.m4v git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@873 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Push input buffer preparation into gst_tividenc1_prepare_input.don.darling1-34/+52
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@872 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Pass DMAI transport buffers directly to encoder.don.darling1-4/+14
If the input buffer is a DMAI transport buffer, we know it is already in physically contiguous CMEM memory, and can be passed directly to the encoder without a copy (on all platforms). git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@871 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Encode function now unrefs input buffer ASAP.don.darling1-11/+24
The chain function was unreffing the input buffer after calling the encode thread, but this was killing performance on DM6467 because the capture had to wait on the encode. Now it is released immediately after copying or color-converting the input buffer, so the capture driver gets it back sooner. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@870 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Pass driver buffers directly to encoder on DM365 when possible.don.darling2-14/+54
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@869 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Cleanup gst_tividenc1_copy_input to use DMAI dst buffer.don.darling1-75/+11
We can now assume that gst_tividenc1_copy_input will always give a DMAI buffer as a destination, so there is no longer a need to create a fake DMAI buffer when doing a Ccv or Framecopy. It also helps get the Ccv right on DM6467T, as the function now gets the metadata directly from the encode function. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@868 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Rename gst_tividenc1_circbuf_copy to gst_tividenc1_copy_input.don.darling1-10/+10
More appropriate, since TIVidenc1 is now calling this function directly instead of using it as a callback function for the circular buffer. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@867 24075187-2e39-4e88-bbb8-bc8aa768f540
2010-11-16Remove circular buffer from TIVidenc1.don.darling2-77/+7
It is no longer being used. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@866 24075187-2e39-4e88-bbb8-bc8aa768f540