Age | Commit message (Collapse) | Author | Files | Lines |
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@1023 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@983 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@974 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@973 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@972 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@962 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
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
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@942 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@941 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@940 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@905 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@904 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@903 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
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
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@901 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@900 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
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
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@898 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@897 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
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
|
|
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
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@894 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
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
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@884 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@872 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
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
|
|
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
|
|
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@869 24075187-2e39-4e88-bbb8-bc8aa768f540
|
|
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
|
|
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
|
|
It is no longer being used.
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@866 24075187-2e39-4e88-bbb8-bc8aa768f540
|