gstreamer-omap:mstorsjos-gst-ducati.git
5 years agoducativc1dec: workaround to not abort decoding on broken frames glp1.4
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.

5 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.

5 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.

5 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.

5 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

5 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

5 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.

5 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.

5 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

6 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

6 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.

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

6 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

6 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.

6 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).

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

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

6 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

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

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

6 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

6 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

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

6 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.

6 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.

6 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

6 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.

6 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.

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

6 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.

6 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...

6 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.

6 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

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

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

6 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

6 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

6 years agoducatih264dec: add stream-format and align in caps
Alessandro Decina [Fri, 26 Aug 2011 11:45:37 +0000 (13:45 +0200)]
ducatih264dec: add stream-format and align in caps

6 years agoconfigure: depend on -base for gstvideo
Alessandro Decina [Fri, 26 Aug 2011 09:27:27 +0000 (11:27 +0200)]
configure: depend on -base for gstvideo

6 years agoconfigure: libmemmgr was renamed to libtimemmgr
Alessandro Decina [Fri, 26 Aug 2011 07:52:54 +0000 (09:52 +0200)]
configure: libmemmgr was renamed to libtimemmgr

6 years agoh264dec: enable temporal direct predict mode
Rob Clark [Wed, 26 Jan 2011 17:43:39 +0000 (11:43 -0600)]
h264dec: enable temporal direct predict mode

With out this feature enabled, B-frames that are encoded using this prediction
mode will generate errors.

6 years agoImproved compiler warning flags strictness
Rob Clark [Wed, 26 Jan 2011 16:40:08 +0000 (10:40 -0600)]
Improved compiler warning flags strictness

6 years agoviddec: fix typo
Rob Clark [Wed, 12 Jan 2011 03:20:51 +0000 (21:20 -0600)]
viddec: fix typo

6 years agorvdec: fix compile errors
Rob Clark [Mon, 10 Jan 2011 17:38:15 +0000 (11:38 -0600)]
rvdec: fix compile errors

gstducatirvdec.c: In function 'gst_ducati_rvdec_allocate_params': error: unused variable 'params
gstducatirvdec.c: In function 'gst_ducati_rvdec_allocate_params': error: unused variable 'params

6 years agoviddec: add "version" property
Rob Clark [Sat, 1 Jan 2011 03:59:49 +0000 (21:59 -0600)]
viddec: add "version" property

Use XDM_GETVERSION to get codec version, available as a read-only property.

6 years agofix compile error with latest gst headers
Rob Clark [Sat, 1 Jan 2011 03:56:48 +0000 (21:56 -0600)]
fix compile error with latest gst headers

A conflict between XDM and gst headers results in:

  cc1: warnings being treated as errors
  In file included from gstducati.h:32,
                   from gstducatividdec.h:25,
                   from gstducativp7dec.h:25,
                   from gstducativp7dec.c:40:
  /usr/include/dce/xdc/std.h:172: error: "restrict" redefined
  /usr/include/gstreamer-0.10/gst/gstmacros.h:44: note: this is the location of the previous definition

The solution is to ensure XDM headers are included first.

6 years agoviddec: fix for width/height that is not a multiple of 16
Rob Clark [Thu, 16 Dec 2010 01:03:09 +0000 (19:03 -0600)]
viddec: fix for width/height that is not a multiple of 16

This fixes an issue with latest h264dec codec drop.

6 years agoviddec: some cleanups
Rob Clark [Thu, 16 Dec 2010 01:02:52 +0000 (19:02 -0600)]
viddec: some cleanups

6 years agoupdate README
Rob Clark [Sun, 12 Dec 2010 20:11:50 +0000 (14:11 -0600)]
update README

6 years agorvdec: add RealVideo support
Rob Clark [Sun, 12 Dec 2010 00:46:48 +0000 (18:46 -0600)]
rvdec: add RealVideo support

6 years agoviddec: fixes for seek
Rob Clark [Sat, 11 Dec 2010 21:14:17 +0000 (15:14 -0600)]
viddec: fixes for seek

1) synchronize flush agaist chain to avoid calling the codec from multiple
threads
2) don't re-send codec_data every time after a flush.. some codecs don't
like this.

6 years agoupdate h264dec
Rob Clark [Thu, 9 Dec 2010 15:07:50 +0000 (09:07 -0600)]
update h264dec

6 years agoviddec: add fallback support for non-TILER buffers
Rob Clark [Sat, 4 Dec 2010 23:27:05 +0000 (17:27 -0600)]
viddec: add fallback support for non-TILER buffers

Add a GstDucatiBufferPool which can allocate TILER output buffers for the
codec, in case the downstream element does not allocate TILER buffers for
us.  This makes use cases like decode to filesink or fakesink and
transcoding work properly.

6 years agoclean up padded buffer size calculations
Rob Clark [Sat, 4 Dec 2010 20:16:19 +0000 (14:16 -0600)]
clean up padded buffer size calculations

6 years agoviddec: add interlaced support
Rob Clark [Sat, 4 Dec 2010 19:21:02 +0000 (13:21 -0600)]
viddec: add interlaced support

6 years agompeg2dec: add MPEG-2 support
Rob Clark [Sat, 4 Dec 2010 15:50:36 +0000 (09:50 -0600)]
mpeg2dec: add MPEG-2 support

6 years agoviddec: error handling
Rob Clark [Thu, 2 Dec 2010 16:34:06 +0000 (10:34 -0600)]
viddec: error handling

6 years agofix compile error with newer gcc
Rob Clark [Tue, 30 Nov 2010 00:35:05 +0000 (18:35 -0600)]
fix compile error with newer gcc

warnings about unused variables

6 years agoVIDDEC3_delete crash is fixed as of libdce bbbc0dd
Rob Clark [Sun, 28 Nov 2010 20:38:43 +0000 (14:38 -0600)]
VIDDEC3_delete crash is fixed as of libdce bbbc0dd

6 years agovp7dec: add On2 VP7 support
Rob Clark [Fri, 26 Nov 2010 20:45:18 +0000 (14:45 -0600)]
vp7dec: add On2 VP7 support

6 years agovp6dec: add On2 VP6 support
Rob Clark [Fri, 26 Nov 2010 19:59:17 +0000 (13:59 -0600)]
vp6dec: add On2 VP6 support

6 years agovc1dec: add VC-1 Advanced, Main, and Simple profile support
Rob Clark [Fri, 26 Nov 2010 18:22:06 +0000 (12:22 -0600)]
vc1dec: add VC-1 Advanced, Main, and Simple profile support

7 years agompeg4dec: add MPEG-4 support
Rob Clark [Thu, 25 Nov 2010 19:49:23 +0000 (13:49 -0600)]
mpeg4dec: add MPEG-4 support

7 years agoviddec: implement flush (seek/eos)
Rob Clark [Thu, 25 Nov 2010 18:12:33 +0000 (12:12 -0600)]
viddec: implement flush (seek/eos)

7 years agoviddec: add profiling traces for process call
Rob Clark [Thu, 25 Nov 2010 17:33:33 +0000 (11:33 -0600)]
viddec: add profiling traces for process call

7 years agoviddec: add support for cropping
Rob Clark [Thu, 25 Nov 2010 17:19:24 +0000 (11:19 -0600)]
viddec: add support for cropping

7 years agoinitial commit
Rob Clark [Thu, 25 Nov 2010 00:15:28 +0000 (18:15 -0600)]
initial commit