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.
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.
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.
This reverts commit cad4102f744ea191dbce0d2a0d4e637320b387e8.
This commit broke KungFuPanda_1280x720_orig.mp4 which makes me a sad panda.
ducatividdec: fix NPE if outcaps are EMPTY
ducatividdec: reduce debug verbosity
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.
When outArgs->outBufsInUseFlag is set, the codec needs the current output buffer
to be passed for the next input frame.
ducativc1dec: remove WMV1/WMV2 support
The codec can only do WMV3/VC1.
The codec can only do WMV3/VC1.
ducatih264dec: specify in template caps that the decoder can do up to profile=high,level=4.2
ducatividdec: emit a STREAM DECODE error when codec_process fails
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.
Helps a lot with large resolution clips where occasionally, especially at
the beginning, the codecs can't keep up decoding in realtime.
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.
Set unaligned width and height in the crop event. Fixes artifacts at bottom of
some clips.
bufferpool: alloc 1d buffers if the pool is created with null caps
bufferpool: allocate 1d or 2d according to caps
ducatividdec: propagate pixel-aspect-ratio in caps
Parse pixel-aspect-ratio in sink caps and set it on source caps.
Parse pixel-aspect-ratio in sink caps and set it on source caps.
gst-indent gstducatividdec.c
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
...as it's a pretty common condition while seeking or shutting down the pipeline
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.
If VIDDEC3_process returns a non fatal error, log it but don't return FLOW_ERROR
upstream.
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).
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).
ducatividenc: fix typo basevideocoder => basevideoencoder
ducatividenc: fix outbuf size calculation
ducatividenc: fix crash going PLAYING->READY->PLAYING
ducatimpeg4enc: use less custom parameters
ducatimpeg4enc: add mpeg4 encoder
Factor out a base encoder class from ducatih264enc
ducatih264enc: use base VIDENC2 structures where possible
ducatih264enc: add h264 encoder
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.
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.
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.
Make it return -1 when the virtual address doesn't match any of the known zones.
viddec: set the size in bytes OR pixels for outbufs, not both
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.
Don't detect TILEDPAGE memory as RAW. Set outbuf descs sizes in bytes when the
underlying memory is RAW or TILEDPAGE.
viddec: use 1d buffers
Expect and allocate 1d buffers. Support for 2d buffers will be added again at
some point in the near future.
Expect and allocate 1d buffers. Support for 2d buffers will be added again at
some point in the near future.
ducativc1dec: set frameLayerDataPresentFlag to FALSE
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.
Add code to inject frame headers if params->frameLayerDataPresentFlag is set to
TRUE. Disabled by default, useful for debugging.
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...
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...
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.
Set lateAcquireArg to -1 so that the codec starts at all.. enable error
concealment and configure codec to not expect frame headers.
viddec: forward queries that we don't handle directly
ducativp6dec: set payloadHeaderPresent to TRUE
ducativp7dec: set payloadHeaderPresent to TRUE
ducatimpeg4dec: use base VIDDEC3_* structs in allocate_params
ducatimpeg2dec: use base VIDDEC3* structs in allocate_params
ducatih264dec: add stream-format and align in caps
configure: depend on -base for gstvideo
configure: libmemmgr was renamed to libtimemmgr
h264dec: enable temporal direct predict mode
With out this feature enabled, B-frames that are encoded using this prediction
mode will generate errors.
With out this feature enabled, B-frames that are encoded using this prediction
mode will generate errors.
Improved compiler warning flags strictness
viddec: fix typo
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
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
viddec: add "version" property
Use XDM_GETVERSION to get codec version, available as a read-only property.
Use XDM_GETVERSION to get codec version, available as a read-only property.
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.
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.
viddec: fix for width/height that is not a multiple of 16
This fixes an issue with latest h264dec codec drop.
This fixes an issue with latest h264dec codec drop.
viddec: some cleanups
update README
rvdec: add RealVideo support
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.
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.
update h264dec
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.
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.
clean up padded buffer size calculations
viddec: add interlaced support
mpeg2dec: add MPEG-2 support
viddec: error handling
fix compile error with newer gcc
warnings about unused variables
warnings about unused variables
vp7dec: add On2 VP7 support
vp6dec: add On2 VP6 support
vc1dec: add VC-1 Advanced, Main, and Simple profile support
mpeg4dec: add MPEG-4 support
viddec: implement flush (seek/eos)
viddec: add profiling traces for process call
viddec: add support for cropping
initial commit