mpeg4dec: Enable errorConcealment in mpeg4dec Enable errorConcealment of MPEG4 decoder to TRUE always and set the remaining extended variables to their default values Signed-off-by: Ramprasad N <x0038811@ti.com>
mpeg4dec: skip frame processing for large frame size We have seen some cases where the mpeg4 parser element demuxes the file incorrectly and presents the nal_size as a very large chunk. In such cases, when the ducati plugin tries to copy the buffer into the input buffer it results in a SIGSEGV in the push_input function. The input buffer size is configured as height*width bytes (with some padding) and for the error case, we may overrun the buffer during the memcpy operation. This patch introduces a check to prevent copying beyond the input buffer size. Signed-off-by: Karthik Ramanan <a0393906@ti.com>
mpeg4decode: Prevent skipping of non-VOP coded frames Signed-off-by: Karthik Ramanan <a0393906@ti.com>
Reduce mem copying and code clean-up 1. Replace buffer_extract with buffer map and buffer fill, thus avoiding a memory copy. 2. Cleanup some unnecessary code in gst_ducati_viddec_chain. 3. Gst ducati plugin accepts external bufferpool from peer. Fix a memory leak by freeing this in finalize function. Signed-off-by: Pooja Prajod <a0132412@ti.com> Signed-off-by: Harinarayan Bhatta <harinarayan@ti.com>
Indentation corrections using gst-indent Fix indentation by running common/gst-indent Signed-off-by: Harinarayan Bhatta <harinarayan@ti.com>
Ports gst-plugins-ducati decode to gstreamer1.2.3 This patch makes the necessary changes on the gst-plugins-ducati decode files so that it becomes compatible with gstreamer1.2. However the plugins will no longer be compatible with gstreamer0.10 after the patch is applied. Signed-off-by: Karthik Ramanan <a0393906@ti.com>
Fixes indentation issues
mpeg4dec: Workaround: Artifacts when frame-drop logic is activated mpeg4videoparse element does not correctly mark key frames vs non key frames for frame drop logic in gst-ducati to work. As a workaround, frame drops are disabled for mpeg4. Signed-off-by: Harinarayan Bhatta <harinarayan@ti.com>
Realigned code on new Ducati header files
ducatimpeg4dec: add MPEG4 decoder error strings
Mangle a few files with gst-indent, for future sanity
ducatimpeg4dec: add note about xvid being broken with base params
Revert "ducatimpeg4dec: switch to using base params" This reverts commit 40817373191324531a110448bcb1c28fcd79d9bf. Using base params seems to break xvid decoding. Hrm.
ducatimpeg4dec: switch to using base params
ducatimpeg4dec: don't leak input buffers
ducatimpeg4dec: don't forget to push the codec data buffer
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.
ducatimpeg4dec: fix compiler warnings on glp1.4
ducatimpeg4dec: enabling workarounds for XviD too
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.