Commit graph

42 commits

Author SHA1 Message Date
Sebastian Dröge
1d3996325a vp8: Port to 0.11 again 2012-05-28 16:05:21 +02:00
Thiago Santos
1f34e79ffc vp8dec: Improve output_state handling
Avoid getting output_state for every buffer as that requires
getting the objectlock and doing reference counting. Store it locally
when it is created and use it.
2012-05-28 15:29:18 +02:00
Thiago Santos
44d22d3e82 vp8dec: Use outputstate when copying output buffer data
Using the input state was causing a crash because the strides/offsets
would be wrong. Fix it by using the output as we are dealing with
the decoded frame.
2012-05-28 15:29:13 +02:00
Edward Hervey
7fee866764 vp8: Port to -base video base classes
Conflicts:

	ext/vp8/Makefile.am
	ext/vp8/gstvp8dec.c
	ext/vp8/gstvp8enc.c

Back to 0.10 state for now, need to be ported again.
2012-05-28 15:28:53 +02:00
Mark Nauwelaerts
12ee41829c port some more to new memory API
Fixes #668677.
2012-01-25 18:50:40 +01:00
Sebastian Dröge
a01a4ea2d3 Merge branch 'master' into 0.11
Conflicts:
	gst/mpegtsdemux/tsdemux.c
	gst/videoparsers/gsth264parse.c
	tests/check/elements/camerabin2.c
2012-01-10 15:50:37 +01:00
Oleksij Rempel (Alexey Fisher)
3d34779e24 vp8dec: use is_alt_data option to prevent timestamp collisions
altref/invisible frames usually stored in container with same timestamp as
dependet frame. This make basevideodecoder to update timestamp for dependet
frame and couse TS colision on next frame:

                 ^- here is altref
time     : 1 2 3 4 5 6 7 8 9
webm ts  : 1   3 5 5   7   9
vp8dec ts: 1   3   7   7   9

Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-01-10 08:49:15 +01:00
Vincent Penquerc'h
7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Tim-Philipp Müller
77361e2919 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/opus/gstopusdec.c
	ext/opus/gstopusparse.c
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideodecoder.h
2011-11-26 15:37:25 +00:00
Tim-Philipp Müller
ca772ed321 vp8dec: use new basevideodecoder API to drop frames and get QoS messages posted 2011-11-25 11:37:57 +00:00
Edward Hervey
9488a0356a vp8: Port to 0.11 2011-11-03 14:11:51 +01:00
Alexey Fisher
f5391e135a vp8dec: add check if we have legal aspect-ratio before reset it.
the commit f9b552f049 (vp8dec: set par to 1/1)
will fix situation where no aspect-ratio is set, but it brake
stream with available aspect-ratio. This patch fix it.

Fixes: #652902.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2011-06-25 11:36:05 -07:00
David Schleef
f9b552f049 vp8dec: set par to 1/1 2011-06-04 14:09:29 -07:00
Mark Nauwelaerts
66fe878d88 vp8dec: debug code style fixes 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts
772d92eeba vp8dec: propagate downstream flow return to upstream 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts
1b151caf11 basevideodecoder: really and only set src pad caps whenever requested
... since subclass is expected to be wise enough to know when to do so.
2011-05-16 20:32:23 +02:00
Mark Nauwelaerts
f591361d2f basevideodecoder: invoke subclass start method at state change and use set_format
While this changes API slightly (e.g. actually uses set_format now), which is OK
for unstable API, it has following merits:
* symmetric w.r.t. stop at state change
* in line with other base class practice
* otherwise no subclass method at state change (global activation time)
Moreover, subclassese are either unaffected or trivially adjusted accordingly.
2011-05-16 20:32:22 +02:00
Mark Nauwelaerts
7862d9ed35 basevideodecoder: subsume skip_frame into finish_frame 2011-05-16 20:32:21 +02:00
Edward Hervey
7a88aca460 vp8: Remove dead assignments 2010-11-25 18:52:47 +01:00
David Schleef
fe50055715 basevideo: Move common fields/functions to basecodec 2010-10-15 16:30:57 -07:00
David Schleef
7cd2e0dd3e basevideo: Move deadline to frame structure 2010-09-18 19:27:07 -07:00
Philip Jägenstedt
e72574124f vp8dec: Set GstBaseVideoDecoder::packetized to TRUE as soon as possible
This fixes an infinite loop if an EOS event is received before
GstBaseVideoDecoder::start() is called, e.g. immediately when the
pads are activated.

Fixes bug #626815.
2010-08-19 11:17:06 +02:00
Sebastian Dröge
dcd0b3599c vp8: Add initial documentation, based on the theoradec/theoraenc documentation 2010-07-03 17:47:29 +02:00
Sebastian Dröge
8c85e1c0a0 vp8: Move structure definitions, etc to public header files for gtk-doc 2010-07-03 17:34:58 +02:00
Sebastian Dröge
443af97a41 vp8: Use VPX_PLANE_* instead of PLANE_* 2010-06-01 11:19:46 +02:00
Sebastian Dröge
24027dd9f2 vp8dec: Set decoder deadline from the QoS information 2010-06-01 11:19:45 +02:00
Philip Jägenstedt
0285cff300 vp8dec: drop late frames after decoding them
This saves a memcpy, which is always something.
2010-05-21 22:23:27 +02:00
Sebastian Dröge
b740f4c8dd vp8dec: Only enable postprocessing if the decoder supports it 2010-05-21 10:54:57 +02:00
Philip Jägenstedt
54e6f65ef3 vp8: move #ifdef HAVE_VP8_ENCODER/DECODER
Otherwise we'll try including e.g. <vpx/vp8cx.h> which doesn't exist.
2010-05-21 08:27:06 +02:00
Sebastian Dröge
d3c9d84fdf vp8: Only enable the encoder or decoder if it's available in libvpx
Fixes bug #619172.
2010-05-20 16:49:55 +02:00
Philip Jägenstedt
e428c10605 vp8: exlcude dec/enc based on CONFIG_VP8_DECODER/ENCODER
This may not be very autotoolish, but works with libvpx in the state
that libvpx is actually in. Moved the debug init to the elements
themselves to minimize amount of #ifdefs
2010-05-20 16:49:55 +02:00
Sebastian Dröge
fd77b419a4 vp8: Undef HAVE_CONFIG_H before including libvpx headers
A public libvpx header includes private headers if this is
defined, causing compilation failures because the private headers
are not installed of course.
2010-05-20 09:56:25 +02:00
Sebastian Dröge
e3925075f9 vp8dec: Fix memory leak 2010-05-19 23:04:07 +02:00
Sebastian Dröge
5dd5a8292a vp8dec: Add properties to control the VP8 decoder post processing feature
This is disabled by default for now.
2010-05-19 19:24:04 +02:00
Sebastian Dröge
ab14c8cf5a vp8: Improve error handling and debug output 2010-05-19 19:24:04 +02:00
Sebastian Dröge
31d603b3c9 vp8: Use correct strides and plane offsets for GStreamer 2010-05-19 19:24:03 +02:00
Sebastian Dröge
66844e24d1 vp8dec: Fix memory leaks and fail if initializing the decoder fails 2010-05-19 19:24:03 +02:00
Sebastian Dröge
557fe5c0e4 vp8dec: Fix decoding of invisible frames 2010-05-19 19:24:03 +02:00
Sebastian Dröge
ac7cba4ac2 vp8dec: Correctly initialize stream info before peeking at the stream
Otherwise peeking will fail and we'll get invalid values
2010-05-19 19:24:03 +02:00
Sebastian Dröge
16f6ed7195 vp8dec: Make sure to pass a keyframe as first frame to the decoder, copy output frames only once and require width/height/etc on the input caps 2010-05-19 19:24:02 +02:00
David Schleef
bf8ae5a18e vp8dec: Fix reset after seeking
Also remove some unused code.
2010-05-19 19:24:02 +02:00
David Schleef
4991d5fef3 vp8: Add encoder/decoder 2010-05-19 19:24:02 +02:00