]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gst-plugin-ducati.git/log
glsdk/gst-plugin-ducati.git
11 years agoducatividdec: prevent overread when all buffer slots are used
Vincent Penquerc'h [Wed, 27 Jun 2012 11:03:11 +0000 (11:03 +0000)]
ducatividdec: prevent overread when all buffer slots are used

11 years agoducatividdec: detect unsupported codecs when switching from NULL to READY
Vincent Penquerc'h [Mon, 18 Jun 2012 14:18:35 +0000 (14:18 +0000)]
ducatividdec: detect unsupported codecs when switching from NULL to READY

This should allow playbin2 to try other codecs, if available.

11 years agoducatividdec: support crop qdata
Rob Clark [Thu, 14 Jun 2012 02:18:06 +0000 (21:18 -0500)]
ducatividdec: support crop qdata

Note: eventually remove crop event.. but for now leave it until other
elements are updated.

11 years agouse GstDRMBufferPool and dmabuf for sharing buffers
Rob Clark [Thu, 14 Jun 2012 00:27:13 +0000 (19:27 -0500)]
use GstDRMBufferPool and dmabuf for sharing buffers

Use GstDRMBufferPool instead of own private bufferpool, and use
dmabuf to import buffers (either allocated by our bufferpool or
by downstream element) and qdata to attach our own private data
to the buffer.  In this way the differences in code path between
using our own buffers and a downstream element's buffers is
minimized.

11 years agoRevert "ducatividdec: share the drm fd with other elements in the pipeline"
Rob Clark [Mon, 11 Jun 2012 14:55:34 +0000 (09:55 -0500)]
Revert "ducatividdec: share the drm fd with other elements in the pipeline"

Instead use dmabuf fd's to share w/ other elements in the pipeline.  This
way we don't need to share a common fd for the drm/omapdce device.

This reverts commit c115a41edd4abbc4784e6921e5a9c30a17b63dfa.

11 years agoducatih264dec: force free outbufs on error 0x201 (concealment, no slice)
Alessandro Decina [Tue, 5 Jun 2012 09:21:13 +0000 (11:21 +0200)]
ducatih264dec: force free outbufs on error 0x201 (concealment, no slice)

When the codec returns error 0x201, it doesn't free the output buffer, leading
to (downstream) buffer pool exhaustion. Special case this condition, partly
reverting 1c65dfe58e9c178503cae32dfcf10eb18c8e1bf2.

11 years agoducatividdec: share the drm fd with other elements in the pipeline
Alessandro Decina [Thu, 24 May 2012 06:16:28 +0000 (06:16 +0000)]
ducatividdec: share the drm fd with other elements in the pipeline

Implement the GstVideoContext interface to share the drm fd with
other elements in the pipeline

11 years agoInitial port to omapdce
Alessandro Decina [Tue, 24 Apr 2012 15:07:15 +0000 (15:07 +0000)]
Initial port to omapdce

11 years agoDisable encoders as they aren't supported by omapdce yet
Alessandro Decina [Tue, 24 Apr 2012 15:06:31 +0000 (15:06 +0000)]
Disable encoders as they aren't supported by omapdce yet

11 years agoRemove dependency on libtimemmgr
Alessandro Decina [Tue, 24 Apr 2012 15:05:25 +0000 (15:05 +0000)]
Remove dependency on libtimemmgr

11 years agoducatih264dec: don't free inArgs->inputID twice on some error conditions
Alessandro Decina [Tue, 8 May 2012 12:36:36 +0000 (14:36 +0200)]
ducatih264dec: don't free inArgs->inputID twice on some error conditions

Remove some code that used to force-free inArgs->inputID on some errors. Now we
flush the codec so the buffer is unlocked during flushing.

11 years agoducatividdec: never leave the flow_ret outarg uninitialized in codec_process
Alessandro Decina [Tue, 8 May 2012 12:27:56 +0000 (14:27 +0200)]
ducatividdec: never leave the flow_ret outarg uninitialized in codec_process

12 years agoREADME update
Luciana Fujii Pontello [Fri, 13 Apr 2012 14:13:40 +0000 (10:13 -0400)]
README update

12 years agoducatibufferpool: fix race in gst_ducati_bufferpool_destroy
Alessandro Decina [Wed, 11 Apr 2012 12:08:06 +0000 (14:08 +0200)]
ducatibufferpool: fix race in gst_ducati_bufferpool_destroy

Pop items from ->freelist with the pool lock taken to avoid races with other
threads unreffing outstanding buffers.

12 years agoducatividdec: propagate downstream flow errors
Alessandro Decina [Wed, 11 Apr 2012 12:04:56 +0000 (14:04 +0200)]
ducatividdec: propagate downstream flow errors

12 years agoducatividdec: reset outArgs in flush()
Alessandro Decina [Wed, 11 Apr 2012 12:01:18 +0000 (14:01 +0200)]
ducatividdec: reset outArgs in flush()

Reset outArgs in flush() so that it isn't left in an inconsistent state if
flush() is called from codec_process() during error handling.

12 years agoducatividdec: fix getcaps method adding rowstride
Luciana Fujii Pontello [Sun, 1 Apr 2012 02:34:19 +0000 (22:34 -0400)]
ducatividdec: fix getcaps method adding rowstride

For yuv-strided formats we need to add the rowstride field with the
allowed range to make caps intersect properly.

12 years agoducatividdec: Implement src pad getcaps function
Luciana Fujii Pontello [Thu, 22 Mar 2012 01:42:30 +0000 (21:42 -0400)]
ducatividdec: Implement src pad getcaps function

The caps of the src pad should not change with upstream negotiation
except between regular yuv and rowstrided.

12 years agoducatividdec: Fix indentation
Luciana Fujii Pontello [Thu, 22 Mar 2012 01:41:32 +0000 (21:41 -0400)]
ducatividdec: Fix indentation

12 years agoducatividenc: err.. mark keyframes on IVIDEO_IDR_FRAME frames
Alessandro Decina [Wed, 28 Mar 2012 14:03:26 +0000 (16:03 +0200)]
ducatividenc: err.. mark keyframes on IVIDEO_IDR_FRAME frames

12 years agoducatividenc: add cropping support
Alessandro Decina [Tue, 27 Mar 2012 17:19:08 +0000 (19:19 +0200)]
ducatividenc: add cropping support

12 years agoducatividenc: mark keyframes
Alessandro Decina [Thu, 22 Mar 2012 14:43:28 +0000 (15:43 +0100)]
ducatividenc: mark keyframes

12 years agoducatih264enc: set output caps
Alessandro Decina [Thu, 22 Mar 2012 14:42:34 +0000 (15:42 +0100)]
ducatih264enc: set output caps

12 years agoducatividenc: don't memcpy input if it's already tiler backed
Alessandro Decina [Thu, 22 Mar 2012 14:41:11 +0000 (15:41 +0100)]
ducatividenc: don't memcpy input if it's already tiler backed

12 years agoducatih264dec: implement LATENCY query
Alessandro Decina [Thu, 22 Mar 2012 14:32:38 +0000 (15:32 +0100)]
ducatih264dec: implement LATENCY query

12 years agoducatividdec: store upstream framerate
Alessandro Decina [Thu, 22 Mar 2012 14:31:59 +0000 (15:31 +0100)]
ducatividdec: store upstream framerate

12 years agoducatih264dec: det displayDelay to IVIDDEC3_DISPLAY_DELAY_1
Alessandro Decina [Fri, 17 Feb 2012 11:28:51 +0000 (12:28 +0100)]
ducatih264dec: det displayDelay to IVIDDEC3_DISPLAY_DELAY_1

12 years agoducatividdec: flush the codec on caps changes
Alessandro Decina [Tue, 28 Feb 2012 17:07:33 +0000 (18:07 +0100)]
ducatividdec: flush the codec on caps changes

Flush the codec when caps change. Needed for downstream sinks that provide a
buffer pool and need to destroy all the outstanding buffers before they can
negotiate new caps (hello v4l2sink).

12 years agoducatividdec: send a crop event every time caps change
Alessandro Decina [Tue, 28 Feb 2012 17:04:59 +0000 (18:04 +0100)]
ducatividdec: send a crop event every time caps change

12 years agoducatih264dec: don't leak on decode errors
Alessandro Decina [Fri, 17 Feb 2012 11:28:51 +0000 (12:28 +0100)]
ducatih264dec: don't leak on decode errors

12 years agoducatih264dec: handle IH264VDEC_ERR_NOSLICE errors
Alessandro Decina [Thu, 16 Feb 2012 17:13:13 +0000 (18:13 +0100)]
ducatih264dec: handle IH264VDEC_ERR_NOSLICE errors

Handle IH264VDEC_ERR_NOSLICE errors by flushing and skipping to the next
keyframe.

12 years agoducatividdec: make codec_flush non-static so it can be used by derived classes
Alessandro Decina [Thu, 16 Feb 2012 17:11:05 +0000 (18:11 +0100)]
ducatividdec: make codec_flush non-static so it can be used by derived classes

Rename codec_flush to gst_ducati_viddec_codec_flush and make it non-static so
derived elements can use it (for example during error recovering).

12 years agoducatividdec: add var to skip buffers until the next keyframe
Alessandro Decina [Thu, 16 Feb 2012 17:08:15 +0000 (18:08 +0100)]
ducatividdec: add var to skip buffers until the next keyframe

Add wait_keyframe variable that is set to TRUE whenever we need to skip buffers
until the next keyframe.

12 years agoducatih264dec: implement B frame dropping strategy similar to ducativc1dec
Alessandro Decina [Tue, 14 Feb 2012 16:41:40 +0000 (17:41 +0100)]
ducatih264dec: implement B frame dropping strategy similar to ducativc1dec

12 years agoducatividdec: don't discard input timestamps at stream start
Alessandro Decina [Tue, 14 Feb 2012 15:07:27 +0000 (16:07 +0100)]
ducatividdec: don't discard input timestamps at stream start

Don't discard input timestamps when forcing the allocation of buffers from the
internal pool (see 9471fe2). Fixes sync glitches with interlaced streams.

12 years agoducatividdec: workaround for the mpeg2 decoder giving wrong crop_height for interlace...
Alessandro Decina [Tue, 29 Nov 2011 19:37:30 +0000 (20:37 +0100)]
ducatividdec: workaround for the mpeg2 decoder giving wrong crop_height for interlaced streams

12 years agoducatividdec: don't renegotiate while flushing
Alessandro Decina [Tue, 29 Nov 2011 19:54:47 +0000 (20:54 +0100)]
ducatividdec: don't renegotiate while flushing

Fixes a crash introduced by calling codec_flush in PAUSED=>READY

12 years agoducatividdec: flush the codec going to READY
Alessandro Decina [Thu, 2 Feb 2012 10:39:20 +0000 (11:39 +0100)]
ducatividdec: flush the codec going to READY

Flush the codec going to READY so we don't leak buffers if state is changed to
<= READY before EOS.

12 years agobufferpool: reset ->orig to NULL in _finalize
Alessandro Decina [Thu, 2 Feb 2012 10:35:39 +0000 (11:35 +0100)]
bufferpool: reset ->orig to NULL in _finalize

Reset ->orig to NULL on _finalize so that if a buffer is recycled we don't
_unref invalid memory.

12 years agoducativc1dec: when dropping frames, drop only bframes
Alessandro Decina [Tue, 31 Jan 2012 12:03:34 +0000 (13:03 +0100)]
ducativc1dec: when dropping frames, drop only bframes

12 years agoducatividdec: make it possible for subclasses to participate in qos handling
Alessandro Decina [Tue, 31 Jan 2012 11:59:06 +0000 (12:59 +0100)]
ducatividdec: make it possible for subclasses to participate in qos handling

12 years agoducatimpeg4dec: don't leak input buffers
Alessandro Decina [Tue, 24 Jan 2012 16:35:34 +0000 (17:35 +0100)]
ducatimpeg4dec: don't leak input buffers

12 years agoducatividdec: destroy the internal pool once we have an output buffer
Alessandro Decina [Fri, 20 Jan 2012 10:55:57 +0000 (11:55 +0100)]
ducatividdec: destroy the internal pool once we have an output buffer

We use the internal pool until we get the first output buffer, then we switch to
downstream provided buffers. Destroy the internal pool once we get the first
output buffer so that we release memory. The pool is then recreated when/if
needed.

12 years agoducatividdec: update the internal pool caps when switching interlaced mode
Alessandro Decina [Fri, 20 Jan 2012 10:32:23 +0000 (11:32 +0100)]
ducatividdec: update the internal pool caps when switching interlaced mode

12 years agoset encoders' ranks to PRIMARY + 1
Luciana Fujii Pontello [Fri, 20 Jan 2012 00:45:17 +0000 (19:45 -0500)]
set encoders' ranks to PRIMARY + 1

Increase encoders' ranks to make them be chosen before other
primary encoders.

12 years agogstducati: Fix indentation
Luciana Fujii Pontello [Fri, 20 Jan 2012 00:44:43 +0000 (19:44 -0500)]
gstducati: Fix indentation

12 years agoducatividdec: workaround for interlaced clips that are detected as progressive from...
Alessandro Decina [Thu, 19 Jan 2012 16:07:31 +0000 (17:07 +0100)]
ducatividdec: workaround for interlaced clips that are detected as progressive from upstream

Sometimes upstream thinks that some input is progressive (usually if interlaced
isn't marked correctly at the container level) when it's actually interlaced.
Detect such cases with help from the codec and adjust caps (and buffers)
accordingly.

12 years agoducatividdec: fix regression with clips having outBufsInUseFlag==TRUE
Alessandro Decina [Wed, 11 Jan 2012 16:00:34 +0000 (17:00 +0100)]
ducatividdec: fix regression with clips having outBufsInUseFlag==TRUE

12 years agoducatimpeg4dec: don't forget to push the codec data buffer
Alessandro Decina [Mon, 9 Jan 2012 16:16:54 +0000 (17:16 +0100)]
ducatimpeg4dec: don't forget to push the codec data buffer

12 years agoducatividdec: auto-detect when input ts are PTS
Rob Clark [Tue, 27 Dec 2011 22:03:50 +0000 (16:03 -0600)]
ducatividdec: auto-detect when input ts are PTS

When input timestamps are in ascending order, and output timestamps
are not, that must mean the parser/demuxser is giving us the timestamps
in presentation order (PTS), not decode order (DTS).

12 years agoducatividdec: some minor trace cleanups
Rob Clark [Tue, 27 Dec 2011 21:38:15 +0000 (15:38 -0600)]
ducatividdec: some minor trace cleanups

12 years agoducatimpeg2dec: we want parsed stream
Rob Clark [Tue, 27 Dec 2011 21:36:49 +0000 (15:36 -0600)]
ducatimpeg2dec: we want parsed stream

12 years agoducativc1dec: workaround to not abort decoding on broken frames
Alessandro Decina [Fri, 23 Dec 2011 12:14:16 +0000 (13:14 +0100)]
ducativc1dec: workaround to not abort decoding on broken frames

When on some broken frames the codec returns fatal error 0x00409000, pretend it
isn't fatal and just carry on as the codec seems to be able to continue
decoding subsequent valid frames correctly.

12 years agoducatividdec: make it possible for decoders to implement their own error handling
Alessandro Decina [Fri, 23 Dec 2011 12:10:22 +0000 (13:10 +0100)]
ducatividdec: make it possible for decoders to implement their own error handling

Useful to implement decoder specific hacks to workaround broken error reporting
from codecs.

12 years agompeg4dec: don't enable deblocking filter. Fixes codec creation failures.
Alessandro Decina [Wed, 21 Dec 2011 13:35:30 +0000 (14:35 +0100)]
mpeg4dec: don't enable deblocking filter. Fixes codec creation failures.

Set outloopDeBlocking to FALSE as the codec doesn't seem to support that being
TRUE on recent ducati.

12 years agoducatimpeg2dec: fix mpeg2 playback with 1d buffers
Rob Clark [Sun, 18 Dec 2011 22:59:29 +0000 (16:59 -0600)]
ducatimpeg2dec: fix mpeg2 playback with 1d buffers

12 years agoducatimpeg4dec: fix compiler warnings on glp1.4
Alessandro Decina [Fri, 16 Dec 2011 09:56:14 +0000 (10:56 +0100)]
ducatimpeg4dec: fix compiler warnings on glp1.4

12 years agoducatividdec: fix memory leak with bufferpool buffers
Rob Clark [Mon, 12 Dec 2011 00:02:07 +0000 (18:02 -0600)]
ducatividdec: fix memory leak with bufferpool buffers

If we don't have an input frame, and unref the outbuf, and the original
buffer was replaced by a bufferpool buffer, we need to unref the new
buffer, not the original.

12 years agoducatimpeg4dec: enabling workarounds for XviD too
Rob Clark [Sat, 10 Dec 2011 18:15:20 +0000 (12:15 -0600)]
ducatimpeg4dec: enabling workarounds for XviD too

12 years agoducatividdec: fix seek issue with xvid (ts_is_pts) clips
Rob Clark [Thu, 8 Dec 2011 03:43:35 +0000 (21:43 -0600)]
ducatividdec: fix seek issue with xvid (ts_is_pts) clips

12 years agoducatimpeg4dec/ducatividdec: implement DTS queue
Rob Clark [Sun, 4 Dec 2011 06:57:12 +0000 (00:57 -0600)]
ducatimpeg4dec/ducatividdec: implement DTS queue

When packed frames are used, the timestamps we get from demuxer are
actually PTS, not DTS.  Detect this and fix up the timestamps on
the outgoing buffers.

This commit implements detection of packed frames (PB-frames) in
ducatimpeg4dec, and a DTS queue in the base ducatividdec (which
could be used by other decoders).  When packed frames are detected,
we assume the demuxer doesn't properly understand B-frames, and
therefore timestamps from demuxer must actually be PTS timestamps.
Because the codec is unaware of this, and re-ordering frames to
display order, if we preserve the original timestamps the video
sink ends up seeing timestamps out of order.  To work around this
we pop the DTS from the demuxer out of a queue and use that
instead.

12 years agoducatimpeg4dec: xvid support
Rob Clark [Sun, 4 Dec 2011 05:20:15 +0000 (23:20 -0600)]
ducatimpeg4dec: xvid support

Handle xvid streams with B-frames encoded in containers that don't
support B-frames natively (ie. PB-frames).  Packed frames are split
and passed to the codec in successive _process() calls, and non-coded
frames are discarded.

12 years agoRevert "ducatimpeg4dec: use base VIDDEC3_* structs in allocate_params"
Rob Clark [Sun, 4 Dec 2011 05:12:05 +0000 (23:12 -0600)]
Revert "ducatimpeg4dec: use base VIDDEC3_* structs in allocate_params"

This reverts commit cad4102f744ea191dbce0d2a0d4e637320b387e8.

This commit broke KungFuPanda_1280x720_orig.mp4 which makes me a sad panda.

12 years agoducatividdec: fix NPE if outcaps are EMPTY
Rob Clark [Sat, 3 Dec 2011 23:49:39 +0000 (17:49 -0600)]
ducatividdec: fix NPE if outcaps are EMPTY

12 years agoducatividdec: reduce debug verbosity
Rob Clark [Sun, 4 Dec 2011 05:08:45 +0000 (23:08 -0600)]
ducatividdec: reduce debug verbosity

12 years agoducatividdec: add support for outBufsInUseFlag
Alessandro Decina [Fri, 9 Dec 2011 10:30:35 +0000 (11:30 +0100)]
ducatividdec: add support for outBufsInUseFlag

When outArgs->outBufsInUseFlag is set, the codec needs the current output buffer
to be passed for the next input frame.

12 years agoducativc1dec: remove WMV1/WMV2 support
Alessandro Decina [Wed, 7 Dec 2011 11:00:50 +0000 (12:00 +0100)]
ducativc1dec: remove WMV1/WMV2 support

The codec can only do WMV3/VC1.

12 years agoducatih264dec: specify in template caps that the decoder can do up to profile=high...
Alessandro Decina [Tue, 6 Dec 2011 11:16:01 +0000 (12:16 +0100)]
ducatih264dec: specify in template caps that the decoder can do up to profile=high,level=4.2

12 years agoducatividdec: emit a STREAM DECODE error when codec_process fails
Alessandro Decina [Tue, 6 Dec 2011 10:09:16 +0000 (11:09 +0100)]
ducatividdec: emit a STREAM DECODE error when codec_process fails

12 years agoducatividdec: implement QoS handling
Alessandro Decina [Sun, 4 Dec 2011 17:13:13 +0000 (18:13 +0100)]
ducatividdec: implement QoS handling

Helps a lot with large resolution clips where occasionally, especially at
the beginning, the codecs can't keep up decoding in realtime.

12 years agoducatividdec: set unaligned width and height in the crop event
Alessandro Decina [Tue, 29 Nov 2011 19:13:41 +0000 (20:13 +0100)]
ducatividdec: set unaligned width and height in the crop event

Set unaligned width and height in the crop event. Fixes artifacts at bottom of
some clips.

12 years agobufferpool: alloc 1d buffers if the pool is created with null caps
Alessandro Decina [Mon, 28 Nov 2011 13:38:10 +0000 (14:38 +0100)]
bufferpool: alloc 1d buffers if the pool is created with null caps

12 years agobufferpool: allocate 1d or 2d according to caps
Rob Clark [Thu, 24 Nov 2011 19:34:06 +0000 (13:34 -0600)]
bufferpool: allocate 1d or 2d according to caps

12 years agoducatividdec: propagate pixel-aspect-ratio in caps
Luciana Fujii Pontello [Thu, 17 Nov 2011 01:55:08 +0000 (20:55 -0500)]
ducatividdec: propagate pixel-aspect-ratio in caps

Parse pixel-aspect-ratio in sink caps and set it on source caps.

12 years agogst-indent gstducatividdec.c
Alessandro Decina [Wed, 16 Nov 2011 16:43:59 +0000 (17:43 +0100)]
gst-indent gstducatividdec.c

12 years agoducatividdec: don't log an ERROR when pad_alloc returns wrong-state
Alessandro Decina [Wed, 16 Nov 2011 16:41:31 +0000 (17:41 +0100)]
ducatividdec: don't log an ERROR when pad_alloc returns wrong-state

...as it's a pretty common condition while seeking or shutting down the pipeline

12 years agoducatividdec: don't error out on non fatal errors
Alessandro Decina [Tue, 15 Nov 2011 15:55:05 +0000 (16:55 +0100)]
ducatividdec: don't error out on non fatal errors

If VIDDEC3_process returns a non fatal error, log it but don't return FLOW_ERROR
upstream.

12 years agoducatividdec: add support for video/x-raw-yuv-strided
Alessandro Decina [Mon, 14 Nov 2011 16:08:00 +0000 (17:08 +0100)]
ducatividdec: add support for video/x-raw-yuv-strided

Add support video/x-raw-yuv-strided and rework negotiation a bit so that we can
support upstream negotiation for the rowstride field (v4l2sink likes to do
that).

12 years agoducatividenc: fix typo basevideocoder => basevideoencoder
Alessandro Decina [Thu, 3 Nov 2011 11:41:23 +0000 (12:41 +0100)]
ducatividenc: fix typo basevideocoder => basevideoencoder

12 years agoducatividenc: fix outbuf size calculation
Alessandro Decina [Mon, 31 Oct 2011 15:05:09 +0000 (16:05 +0100)]
ducatividenc: fix outbuf size calculation

12 years agoducatividenc: fix crash going PLAYING->READY->PLAYING
Alessandro Decina [Mon, 31 Oct 2011 14:13:44 +0000 (15:13 +0100)]
ducatividenc: fix crash going PLAYING->READY->PLAYING

12 years agoducatimpeg4enc: use less custom parameters
Alessandro Decina [Fri, 21 Oct 2011 10:32:54 +0000 (12:32 +0200)]
ducatimpeg4enc: use less custom parameters

12 years agoducatimpeg4enc: add mpeg4 encoder
Alessandro Decina [Fri, 21 Oct 2011 08:36:52 +0000 (10:36 +0200)]
ducatimpeg4enc: add mpeg4 encoder

12 years agoFactor out a base encoder class from ducatih264enc
Alessandro Decina [Thu, 20 Oct 2011 13:59:56 +0000 (15:59 +0200)]
Factor out a base encoder class from ducatih264enc

12 years agoducatih264enc: use base VIDENC2 structures where possible
Alessandro Decina [Wed, 19 Oct 2011 14:16:06 +0000 (16:16 +0200)]
ducatih264enc: use base VIDENC2 structures where possible

12 years agoducatih264enc: add h264 encoder
Alessandro Decina [Fri, 14 Oct 2011 16:14:00 +0000 (18:14 +0200)]
ducatih264enc: add h264 encoder

12 years agoviddec: workaround for the vc1 codec
Alessandro Decina [Thu, 29 Sep 2011 21:44:28 +0000 (23:44 +0200)]
viddec: workaround for the vc1 codec

Set memType=XDM_MEMTYPE_RAW on outbuf descs when the underlying memory is
actually of type XDM_MEMTYPE_TILEDPAGE. This should be reverted once the codec
is fixed.

12 years agoUndo a change in gst_ducati_get_mem_type.
Alessandro Decina [Thu, 29 Sep 2011 21:40:47 +0000 (23:40 +0200)]
Undo a change in gst_ducati_get_mem_type.

Make it return -1 when the virtual address doesn't match any of the known zones.

12 years agoviddec: set the size in bytes OR pixels for outbufs, not both
Alessandro Decina [Thu, 29 Sep 2011 20:53:03 +0000 (22:53 +0200)]
viddec: set the size in bytes OR pixels for outbufs, not both

12 years agoviddec: more fixes to support 1d buffers
Alessandro Decina [Thu, 29 Sep 2011 20:47:35 +0000 (22:47 +0200)]
viddec: more fixes to support 1d buffers

Don't detect TILEDPAGE memory as RAW. Set outbuf descs sizes in bytes when the
underlying memory is RAW or TILEDPAGE.

12 years agoviddec: use 1d buffers
Alessandro Decina [Thu, 29 Sep 2011 17:11:06 +0000 (19:11 +0200)]
viddec: use 1d buffers

Expect and allocate 1d buffers. Support for 2d buffers will be added again at
some point in the near future.

12 years agoducativc1dec: set frameLayerDataPresentFlag to FALSE
Alessandro Decina [Thu, 29 Sep 2011 16:50:38 +0000 (18:50 +0200)]
ducativc1dec: set frameLayerDataPresentFlag to FALSE

12 years agoducativc1dec: add debugging code to optionally forge frame headers
Alessandro Decina [Mon, 26 Sep 2011 16:08:31 +0000 (18:08 +0200)]
ducativc1dec: add debugging code to optionally forge frame headers

Add code to inject frame headers if params->frameLayerDataPresentFlag is set to
TRUE. Disabled by default, useful for debugging.

12 years agoducativc1dec: try hard to produce a valid sequence layer header
Alessandro Decina [Mon, 26 Sep 2011 16:01:04 +0000 (18:01 +0200)]
ducativc1dec: try hard to produce a valid sequence layer header

Make sure the codec data in the sequence layer is always 4 bytes as per STRUCT_C
definition. Some files seem to come with larger, 0 padded, codec_data buffers...

Ensure that the Reserved6 bit of STRUCT_C is always set to 1 as the codec seems
to be strict about this and some files seem to have it set to 0...

12 years agoducativc1dec: change param settings
Alessandro Decina [Mon, 26 Sep 2011 15:58:29 +0000 (17:58 +0200)]
ducativc1dec: change param settings

Set lateAcquireArg to -1 so that the codec starts at all.. enable error
concealment and configure codec to not expect frame headers.

12 years agoviddec: forward queries that we don't handle directly
Alessandro Decina [Wed, 31 Aug 2011 09:04:26 +0000 (11:04 +0200)]
viddec: forward queries that we don't handle directly

12 years agoducativp6dec: set payloadHeaderPresent to TRUE
Alessandro Decina [Tue, 30 Aug 2011 13:34:41 +0000 (15:34 +0200)]
ducativp6dec: set payloadHeaderPresent to TRUE

12 years agoducativp7dec: set payloadHeaderPresent to TRUE
Alessandro Decina [Tue, 30 Aug 2011 13:34:07 +0000 (15:34 +0200)]
ducativp7dec: set payloadHeaderPresent to TRUE

12 years agoducatimpeg4dec: use base VIDDEC3_* structs in allocate_params
Alessandro Decina [Fri, 26 Aug 2011 12:01:31 +0000 (14:01 +0200)]
ducatimpeg4dec: use base VIDDEC3_* structs in allocate_params

12 years agoducatimpeg2dec: use base VIDDEC3* structs in allocate_params
Alessandro Decina [Fri, 26 Aug 2011 11:47:51 +0000 (13:47 +0200)]
ducatimpeg2dec: use base VIDDEC3* structs in allocate_params