Commit graph

257 commits

Author SHA1 Message Date
Vincent Penquerc'h
6b887060b1 mpeg2dec: do not reset the whole video info when setting size
New changes to gstvideo will reset all the video info state
when calling _set_format, overwriting what was previously set
in the preceding code.

The comment says the following code is meant to preserve the
pre-crop size, so let's just keep the size and related data
 as this does not seem to break anything else (this is what
the _set_format call would have set before the change that
reset all data, except the colorimetry).
2014-04-04 10:58:50 +01:00
Sebastian Dröge
6049866ca6 mpeg2dec: Use new gst_video_decoder_set_needs_format() API 2013-12-05 11:44:10 +01:00
Mark Nauwelaerts
8c1be8796e mpeg2dec: graceful degradation for badly parsed input 2013-11-11 13:25:22 +01:00
Sebastian Dröge
22b3a60dbd mpeg2dec: Fix mpeg2_reset() calls 2013-08-15 15:30:31 +02:00
Sebastian Dröge
f541f94262 ext: Use new flush vfunc of video codec base classes and remove reset implementations 2013-08-15 15:27:48 +02:00
Edward Hervey
96c15877f2 mpeg2dec: Do a hard reset of flush_stop
Which is notified by hard == 0 with latest refactoring.
2013-08-02 08:25:49 +02:00
Sebastian Dröge
f8e05c2af0 mpeg2dec: Clean up reset/start/stop handling 2013-07-25 13:35:44 +02:00
Edward Hervey
576fe462bc mpeg2dec: Properly reset on sequence changes
Otherwise we end up using stray data/buffers.

Fixes #690701
2013-07-17 16:17:54 +02:00
Sreerenj Balachandran
866f60cce6 mpeg2dec: make the aspect ratio calculation more accurate.
Utilize the libmpeg2 api: mpeg2_guess_aspect() to guess the
aspect-ratio if we don't have a valid upstream PAR.

https://bugzilla.gnome.org/show_bug.cgi?id=685103
2013-06-04 17:29:31 +02:00
Sebastian Dröge
ef182de45f gst: Add better support for static plugins 2013-04-15 15:56:02 +02:00
Thijs Vermeir
6461d0e035 mpeg2dec: use appropriate printf format for gsize 2012-12-19 17:16:53 +01:00
Tim-Philipp Müller
9c690b2018 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:40:37 +00:00
Jan Schmidt
6d35db313f mpeg2dec: Don't error out when there is no associated buffer
In 0.10, having mpeg2dec occasionally tell us to output a frame that
was never decoded was just ignored, so do the same in 1.0

Fixes: #685107
2012-10-01 10:43:26 +10:00
Jan Schmidt
ddd13808b3 mpeg2dec: Hold ref to buffer while mapped
So that the buffer still exists when we go to unmap it later,
even if it got pushed in the meantime.
2012-09-11 23:16:45 -07:00
Edward Hervey
2cc06f7aaf mpeg2dec: Don't use NULL values for fbuf
We need to make a difference between the initial dummy buffers (which
have a fbuf->id of NULL) and the buffers on which we allocated
video frames.
2012-08-06 11:53:55 +02:00
Edward Hervey
707b14a2ef mpeg2dec: Avoid dropping first GOP
We use the mpeg2_fbuf_t id field as an integer and not as a pointer, so
do not check if it is NULL or not.

And cleanup a bit of debug
2012-07-26 18:30:04 +02:00
Wim Taymans
f0b0ffa1cf mpeg2dec: copy buffer flags when cropping
When we crop a buffer, copy the flags as well.
2012-07-23 13:32:26 +02:00
Robert Swain
5bc6b54185 mpeg2dec: Fix GstVideoInfo pointer 2012-07-23 11:28:51 +02:00
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
Wim Taymans
91ba1a2ebb fix for allocator API changes 2012-07-09 16:27:25 +02:00
Wim Taymans
ddd57f9107 update for query api changes 2012-07-06 11:27:27 +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
Wim Taymans
ca77ad4e05 mpeg2dec: fix compilation 2012-06-20 13:23:51 +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
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
7fa3eb2605 video: Update for libgstvideo API changes 2012-04-19 12:22:08 +02: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
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
Edward Hervey
4a4d652dd4 mpeg2dec: Copy planes in one go when possible 2012-03-05 13:01:52 +01:00
Wim Taymans
9f4b02389e update for metadata API changes 2012-02-29 17:26:42 +01:00