Commit graph

1262 commits

Author SHA1 Message Date
Robert Swain
870fe4e7ec mpeg2dec: Correctly flag output buffer interlaced state
If the sequence is not flagged as progressive its buffers are marked
interlace mode mixed. There is an individual picture flag indicating
whether picture in the sequence are interlaced or not. This is used
along with the new GST_VIDEO_BUFFER_FLAG_INTERLACED to correctly and
completely indicate the buffer's interlaced state.

Also, TFF and RFF should only be set if the sequence is not progressive.
2012-07-23 11:15:47 +02:00
Sebastian Dröge
a20ba81f9a ext: Update for video base classes API changes 2012-07-23 10:33:33 +02:00
Edward Hervey
89ff56321f mpeg2dec: Propagate GstFlowReturn where needed
It was just ignoring the return values...
2012-07-19 10:00:32 +02:00
Edward Hervey
e0a5d6de60 mpeg2dec: Store temporary buffers out of the way
When mpeg2dec needs to do cropping (because downstream can't handle it),
we need temporary buffers to decode to.

Use the user_data field to store those, and unify the rest of the code
that needs to touch a buffer (regardless of how/where it was allocated).

https://bugzilla.gnome.org/show_bug.cgi?id=680194
2012-07-19 10:00:32 +02:00
Edward Hervey
090e139048 mpeg2dec: Call gst_video_decoder_negotiate() 2012-07-18 18:33:23 +02:00
Tim-Philipp Müller
d6dbd2094e dvdreadsrc: mustn't drop queries like caps query if not started yet 2012-07-17 20:57:39 +01:00
Edward Hervey
2a0945887e demuxers: Push STREAM_START when needed 2012-07-13 13:59:42 +02:00
Tim-Philipp Müller
b8beab38eb dvdreadsrc: set rank to NONE
It should never be autoplugged really, for DVD
playback there's rsndvd (or will be, realsoonnow).
2012-07-12 18:05:10 +01:00
Wim Taymans
91ba1a2ebb fix for allocator API changes 2012-07-09 16:27:25 +02:00
Wim Taymans
f711750bba update for query api changes 2012-07-06 11:50:55 +02:00
Wim Taymans
ddd57f9107 update for query api changes 2012-07-06 11:27:27 +02:00
Wim Taymans
ef07bb9d47 update for allocation query changes 2012-07-06 11:05:17 +02:00
Sebastian Dröge
7c99d37ad6 mpeg2dec: Add comment explaining why we first chain up to the parent class' decide_allocation 2012-06-25 09:43:53 +02:00
Sebastian Dröge
a7aa984d67 mpeg2dec: Set allocation parameters to guarantee 16-byte aligned output buffers
Fixes bug #377713.
2012-06-25 09:34:53 +02:00
Matej Knopp
711d2b18a7 x264enc: Fix unitialized variable and taglist event 2012-06-21 08:45:22 +01:00
Wim Taymans
ca77ad4e05 mpeg2dec: fix compilation 2012-06-20 13:23:51 +02:00
Wim Taymans
d90fd7a250 update for task api change 2012-06-20 10:39:37 +02:00
Wim Taymans
e956902511 fix compilation 2012-06-20 10:39:24 +02:00
Sebastian Dröge
349eb6710e mpeg2dec: Port to 0.11 again 2012-06-20 09:06:37 +01:00
Sebastian Dröge
d424827283 x264enc: Fix compiler warning 2012-06-19 15:19:28 +01:00
Edward Hervey
c31467413a mpeg2dec: Report PAR if not present upstream
And clean up some code
2012-06-19 14:10:20 +01:00
Nicolas Dufresne
32c45932e4 mpeg2dec: use _scale_ceil to compute frame period
https://bugzilla.gnome.org/show_bug.cgi?id=675769
2012-06-19 14:10:20 +01:00
Nicolas Dufresne
4bfeef832e mpeg2dec: mpeg2dec actually has 3 frame latency
https://bugzilla.gnome.org/show_bug.cgi?id=675769
2012-06-19 14:10:20 +01:00
Nicolas Dufresne
da928611b7 mpeg2dec: Fix large output buffers leak 2012-06-19 14:10:20 +01:00
Nicolas Dufresne
92d71237bf mpeg2dec: Port to new way of handling frame reference 2012-06-19 14:10:20 +01:00
Wim Taymans
98a21f9026 mpeg2dec: don't leak input_state 2012-06-19 14:10:20 +01:00
Nicolas Dufresne
9dc1d53cac mpeg2dec: Port to GstVideoDecoder base class
Conflicts:

	ext/mpeg2dec/gstmpeg2dec.c
	ext/mpeg2dec/gstmpeg2dec.h

Back to 0.10 state, needs to be ported to 0.11 again.
2012-06-19 14:10:01 +01:00
Sebastian Dröge
f664108a6e x264enc: Port to 0.11 again 2012-06-19 09:26:02 +01:00
Nicolas Dufresne
3527ccc07e x264enc: Don't set latency while holding object lock
This reverts commit 30a0b50e9ca0d625e61f994d4f8acd022dcddf38.

https://bugzilla.gnome.org/show_bug.cgi?id=675762
2012-06-18 16:01:20 +01:00
Nicolas Dufresne
017bb86d82 x264enc: Use video encoder stream lock to avoid deadlock 2012-06-18 16:01:20 +01:00
Nicolas Dufresne
43093dffea x264enc: Port to new way of passing frame reference 2012-06-18 16:01:20 +01:00
Nicolas Dufresne
2656e42bb7 x264enc: Set default stream-format to avc as it's a better format 2012-06-18 16:01:20 +01:00
Nicolas Dufresne
c3cc8d416c x264enc: Fix setting latency
Fixes setting latency when framerate is dynamic and round up the latency
to avoid rounding issues.
2012-06-18 16:01:20 +01:00
Nicolas Dufresne
6e920bc4aa x264enc: gst_video_encoder_get_frame() is now transfer full 2012-06-18 16:01:20 +01:00
Nicolas Dufresne
31b5e86ebd x264enc: don't leak output state 2012-06-18 16:01:20 +01:00
Nicolas Dufresne
565b21aefb x264enc: Remove x264 backward compatibility support 2012-06-18 16:01:20 +01:00
Nicolas Dufresne
16ddcae4e3 x264enc: Report latency base on x264 buffer size 2012-06-18 16:01:20 +01:00
Nicolas Dufresne
4fbb1a042e x264enc: Port to GstVideoEncoder baseclass
Conflicts:

	configure.ac
	ext/x264/gstx264enc.c
	ext/x264/gstx264enc.h

Back to 0.10 state, needs to be ported to 0.11 again.
2012-06-18 16:00:53 +01:00
Wim Taymans
8172d8b683 update for tag event change 2012-06-06 13:03:04 +02:00
Julien Isorce
6f0f28af45 a52dec: really prefer the original number (and position) of channels
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676495
2012-05-24 15:52:42 +02:00
Tim-Philipp Müller
004abdaddf x264: bump x264 requirement to build 106 or later
Build 106 is from September 2010.

https://bugzilla.gnome.org/show_bug.cgi?id=676257
2012-05-17 21:16:08 +01:00
Руслан Ижбулатов
b199334a6b a52dec: adapt to work also with new liba52
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674091
2012-05-17 13:15:05 +02:00
Mark Nauwelaerts
4d97760993 a52dec: trigger renegotiation upon changed stream channels
Fixes #675451
2012-05-17 13:08:55 +02:00
Leon Merten Lohse
649bd92cd2 cdio: compensate for libcdio's recent cd-text api changes
https://bugzilla.gnome.org/show_bug.cgi?id=675112

Conflicts:

	ext/cdio/gstcdiocddasrc.c
2012-05-03 23:58:03 +01:00
Tim-Philipp Müller
ccc59fc924 dvdread: fix build after recent include reshuffling in core
Need to include gmodule.h ourselves now.
2012-04-30 21:27:52 +01:00
Sebastian Dröge
7fa3eb2605 video: Update for libgstvideo API changes 2012-04-19 12:22:08 +02:00
Alban Browaeys
43afed8752 a52dec: fix first_access bigger than 2
gst_buffer_extract returns the number of bytes extracted, here 2 max.
Set size to the buffer size as was done in 0.10 to avoid first_access
error when it bypass 2.

https://bugzilla.gnome.org/show_bug.cgi?id=673434
2012-04-15 14:46:35 +01:00
Tim-Philipp Müller
3f5ff831fc mad: remove .c.orig file 2012-04-10 00:48:47 +01:00
Tim-Philipp Müller
08d20e4da8 Use new gst_element_class_set_static_metadata() 2012-04-10 00:47:44 +01:00
Sebastian Dröge
29a893b494 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:40:12 +02:00
Sebastian Dröge
9e5a55a70f gst: Update versioning 2012-04-04 14:38:53 +02:00
Wim Taymans
ec170a27eb mpeg2dec: fix cropping
fix cropping in mpeg2dec
2012-04-02 15:21:36 +02:00
Wim Taymans
f503ef97f7 mpeg2dec: add crop metadata when buffer is still writable 2012-04-01 20:19:36 +02:00
Sebastian Dröge
90b1e8ac71 ext: Update for audio decoder API changes 2012-03-30 11:54:17 +02:00
Wim Taymans
6d371c89c1 x264enc: remove deprecated properties 2012-03-21 13:18:11 +01:00
Tim-Philipp Müller
ef64b43ac8 Merge remote-tracking branch 'origin/master' into 0.11
So 0.11 folks also get amr include fixes.

Conflicts:
	ext/a52dec/gsta52dec.c
	ext/mad/gstmad.c
2012-03-20 12:08:23 +00:00
Wim Taymans
fdfea36e93 update for bufferpool changes 2012-03-15 22:11:41 +01:00
Wim Taymans
5aba4d40c1 update for allocation query changes 2012-03-15 20:38:50 +01:00
Wim Taymans
7cd283ebc6 update for memory api changes 2012-03-15 13:38:16 +01:00
Wim Taymans
11c077bfd1 take padding into account 2012-03-14 19:52:52 +01:00
Mark Nauwelaerts
6d44ed77a4 mad: simplify parsing code
Also fixes #671455 (expected at least).
2012-03-13 18:28:49 +01:00
Wim Taymans
3270eadf8d fix for caps _normalize changes 2012-03-12 12:23:43 +01:00
Wim Taymans
c65625be9e fix for caps api changes 2012-03-11 19:07:19 +01:00
Mark Nauwelaerts
110a993cc9 a52dec: use base class tag handling helper
... so as to ensure these to be handled and sent at proper time.
2012-03-06 16:20:10 +01:00
Sebastian Dröge
6e9a534223 dvdreadsrc: Use variable type with correct signedness 2012-03-06 14:28:15 +01:00
Edward Hervey
4a4d652dd4 mpeg2dec: Copy planes in one go when possible 2012-03-05 13:01:52 +01:00
Tim-Philipp Müller
425e6e395f amrnb, amrwbdec: fix build with opencore-amr >= 0.1.3
In previous versions, the opencore-amr include sub-directory
would be specified in the include path in the CFLAGS, but this
is no longer the case in newer versions, so we need to add those
to our include directives.

Based on patch by: Christian Morales Vega

https://bugzilla.gnome.org/show_bug.cgi?id=671123
2012-03-03 17:21:28 +00:00
Wim Taymans
9f4b02389e update for metadata API changes 2012-02-29 17:26:42 +01:00
Alessandro Decina
16406b18d7 amrwbdec, lame, mad: link to libgstbase 2012-02-27 06:35:01 +01:00
Alessandro Decina
b09945ab27 x264enc: fix compiler warning 2012-02-27 06:33:48 +01:00
Tim-Philipp Müller
42d53650fa Merge commit '02f5d72a0519bcbe8f6958fab6dd998fc8ccda6b' into 0.11
Conflicts:
	ext/mad/gstmad.c
2012-02-27 00:34:09 +00:00
Wim Taymans
829301f1e4 x264: convert g_print to LOG 2012-02-22 02:17:55 +01:00
Wim Taymans
ca1c36a8b4 x264enc: handle pts and dts 2012-02-22 02:07:29 +01:00
Mark Nauwelaerts
838493c9a7 mad: handle libmad freeform parsing quirk 2012-02-21 18:54:52 +01:00
Mark Nauwelaerts
5dead1c400 mad: fixup unhacking last frame coaxing
... so as to not only replace the data pointer but also available size.
2012-02-21 18:54:42 +01:00
Wim Taymans
ed4b967d16 Merge branch 'master' into 0.11
Conflicts:
	ext/mad/gstmad.c
2012-02-17 09:16:32 +01:00
Mark Nauwelaerts
2e35999f68 mad: unhack last frame coaxing
... so as to maximally use available base class API and interfere least
as possible with its internal state.
2012-02-16 14:49:04 +01:00
Wim Taymans
7de44ab61b mad: fix compilation 2012-02-15 13:45:00 +01:00
Wim Taymans
d6b150a1f1 mad: chain up to default event handler 2012-02-15 13:40:13 +01:00
Matej Knopp
0f9e7c3863 x264enc: unmap video frame after encoding
Fixes major memory leak.

https://bugzilla.gnome.org/show_bug.cgi?id=669863
2012-02-11 13:33:24 +00:00
Wim Taymans
05a446b3c4 x264enc: fix after merge 2012-02-10 17:02:38 +01:00
Wim Taymans
49f4bc87d9 Merge branch 'master' into 0.11
Conflicts:
	ext/x264/gstx264enc.c
2012-02-10 17:00:33 +01:00
Wim Taymans
be075f643e sidplay: don't use ulong properties 2012-02-09 18:10:48 +01:00
Wim Taymans
bfb8a04d4f sidplay: fix negotiation 2012-02-09 16:14:55 +01:00
Robert Swain
ed561dcdb1 x264enc: Add baseline profile to caps
libx264 does not yet support the features that create the difference
between baseline and constrained baseline profile. Hence it currently
supports both though it can only technically encode constrained
baseline.
2012-02-09 11:55:07 +01:00
Wim Taymans
f731208bcd GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:38:09 +01:00
Sebastian Dröge
2af62366da twolame: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:49 +01:00
Sebastian Dröge
ba521ebba0 lame: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:49 +01:00
Sebastian Dröge
72d930b75c mad: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:49 +01:00
Sebastian Dröge
acde15adc3 a52dec: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:49 +01:00
Sebastian Dröge
77c41a22f0 amrwbdec: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:49 +01:00
Sebastian Dröge
20b889a588 amrnb: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:49 +01:00
Vincent Penquerc'h
73330c2ab8 mad: ensure we do not confuse the base class with our buffer guard
mad expects extra bytes at the end of a buffer (see discussion in
http://www.mars.org/mailman/public/mad-dev/2001-May/000262.html),
and since we inject these without the base class' knowledge, we
need to hide the bodies better.

This fixes an assert at EOS when decoding an mp3 manually without
an intervening mpegaudioparse.
2012-01-31 15:52:38 +00:00
Alessandro Decina
4322fd0752 x264enc: implement force-key-unit API 2012-01-26 19:44:05 +01:00
Wim Taymans
cc1e26147d amr: port to 0.11 again 2012-01-25 13:58:54 +01:00
Sebastian Dröge
74de5954af Merge branch 'master' into 0.11
Conflicts:
	ext/a52dec/gsta52dec.c
2012-01-25 13:03:33 +01:00
Wim Taymans
56a07a14b5 port to new memory API 2012-01-25 11:57:07 +01:00
Vincent Penquerc'h
1651493ae0 a52dec: fix read buffer overflow upon syncing
The wrong size was being decremented, leading to a runaway
read loop.
2012-01-19 15:27:22 +00:00
Mark Nauwelaerts
7b51343363 amrwbdec: _parse should not return OK if not enough data yet 2012-01-17 11:57:26 +01:00
Mark Nauwelaerts
1d71315dc9 amrnbdec: _parse should not return OK if not enough data yet 2012-01-17 11:57:21 +01:00