Commit graph

379 commits

Author SHA1 Message Date
Sebastian Dröge
3393095cd0 Merge branch 'master' into 0.11 2012-01-18 10:21:36 +01:00
Sebastian Dröge
99d4792014 ffdec: Only set get_buffer() function for video
Fixes bug #666435.
2012-01-18 10:11:49 +01:00
Sebastian Dröge
44a1dc0138 ffmpeg: Fix merge mistakes 2012-01-10 11:39:27 +01:00
Sebastian Dröge
bde3117e72 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/ffmpeg/gstffmpegcodecmap.c
	ext/ffmpeg/gstffmpegdec.c
	ext/ffmpeg/gstffmpegdeinterlace.c
	ext/ffmpeg/gstffmpegmux.c
	ext/libswscale/gstffmpegscale.c
2012-01-10 11:35:55 +01:00
Sebastian Dröge
3d43013d4f ffdec: Give the (E)AC3/DTS decoders a rank of marginal
Even if they don't downmix to stereo, they're still working
correctly. The only advantage of dtsdec/a52dec is that they
downmix to stereo (using the special downmixing matrices) if
downstream prefers stereo but in every other case they should
be equivalent.
2012-01-10 11:06:53 +01:00
Sebastian Dröge
ad53e32665 ffdec: Revert accidentially committed rank change of the (E)AC3/DTS decoders 2012-01-10 10:59:57 +01:00
Sebastian Dröge
6931afe0ba ffmpegdec: Reorder audio channels after clipping the audio buffer 2012-01-10 10:45:42 +01:00
Sebastian Dröge
3d6c803917 ffmpegdec: Correctly reorder audio channels to the GStreamer order if necessary 2012-01-10 10:37:50 +01:00
Sebastian Dröge
42bc8f5ad7 ffmpeg: Use stack-allocated channel positions array 2012-01-10 10:01:26 +01:00
Wim Taymans
290d3120fb ffdec: fill in the stride alignment
Copy the stride alignment we got from ffmpeg to the alignment structure.
2011-12-21 18:06:32 +01:00
Wim Taymans
9ea5b22de6 ffmpegdec: update for new interlace fields 2011-12-19 18:14:27 +01:00
Edward Hervey
15ae52392e ffmpegdec: Report latency if B-frames are present
... and cleanup the query handler while we're at it

https://bugzilla.gnome.org/show_bug.cgi?id=663616
2011-12-01 19:29:24 +01:00
Wim Taymans
152e090891 add parent to pad functions 2011-11-17 12:49:33 +01:00
Wim Taymans
63a890a746 add parent to query function 2011-11-16 17:29:22 +01:00
Wim Taymans
f65f9938d0 _query_peer_*() -> _peer_query_*() 2011-11-15 17:55:29 +01:00
Wim Taymans
175a092331 ffmpeg: change getcaps to query 2011-11-15 16:35:17 +01:00
Wim Taymans
cbb41c36ff ffdec: get the pixfmt correctly
Use the pixfmt from the passed context, which can be different from our other
context and which might not have the pixfmt set correctly.
2011-11-04 16:23:32 +01:00
Edward Hervey
5264fd3c97 Merge remote-tracking branch 'origin/master' into 0.11 2011-10-17 16:29:10 +02:00
Edward Hervey
99e61c5f3b gstffmpegdec: Re-enable MT-decoding by default 2011-10-17 16:27:36 +02:00
Wim Taymans
3b230ce9b6 dec: remove interlaced update code 2011-10-03 11:34:34 +02:00
Wim Taymans
d4b2751c39 Merge branch 'master' into 0.11 2011-10-03 11:32:24 +02:00
Vincent Penquerc'h
d4d5e350d0 ffdec: ensure buffers have correct interlacedness in caps
Whether a frame is interlaced or not is unknown at the time of
buffer allocation, so caps on the buffer in opaque will have
a previous frame's interlaced flag set. So if interlacedness
changes, we update the buffer (if any) caps with the correct
interlaced flag once we know.

https://bugzilla.gnome.org/show_bug.cgi?id=656155
2011-10-03 11:18:06 +02:00
Wim Taymans
afb740b897 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/ffmpeg/gstffmpegcodecmap.c
	ext/ffmpeg/gstffmpegdeinterlace.c
2011-09-28 13:29:08 +02:00
Vincent Penquerc'h
8bf3d5a2b7 ffmpegdec: post QoS messages when dropping a frame
There seems to be a little bit of non obvious logic where
the QoS logic can decide to not drop decoding a frame and
pass it to ffmpeg, telling it to drop.
In this case, the QoS logic does not drop the frame itself,
but since the frame will end up being dropped, we still
mark it as dropped and post a QoS message.

https://bugzilla.gnome.org/show_bug.cgi?id=657950
2011-09-26 20:13:58 +01:00
Tim-Philipp Müller
8a34abff64 ffmpegdec: disable parser for already-parsed FLAC input
Not needed to make anything work, just seems to make sense.

https://bugzilla.gnome.org/show_bug.cgi?id=589361
2011-09-26 19:55:54 +01:00
Nicolas Dufresne
eacf516f7f ffdec: Blacklist non-working subtitle decoders
This include decoder for ASS, SRT, PGS, DVD and DVB. Those are generated
with bad capabilities and are not usable in GStreamer. Other elements exist
to handle those subtitle formats.

https://bugzilla.gnome.org/show_bug.cgi?id=658019
2011-09-03 12:32:55 +01:00
Wim Taymans
85fa801d42 ffdec: port to new flags 2011-08-25 16:41:36 +02:00
Wim Taymans
dd56c2c7ea ffmpeg: port to new audio caps 2011-08-19 18:33:11 +02:00
Wim Taymans
7ae8b453ca ffmpegdec: react to the reconfigure event
Also renegotiate the caps and bufferpool when we have a rereconfigure event
pending.
2011-08-05 12:04:13 +02:00
Wim Taymans
dc12f1c9c9 ffdec: ensure bufferpool size
Make sure the bufferpool size is at least what we expect.
Add some more debug.
2011-08-04 11:10:26 +02:00
Wim Taymans
5151ec83e2 ffdec: enable direct rendering for all formats
Since we now support padding, we can enable direct rendering for all formats.
2011-08-01 18:10:53 +02:00
Wim Taymans
2e02fbba58 ffdec: add alignment support
Always diable EMU_EDGE. Use the bufferpool options to enable extra padding on
allocated frames. If the downstream bufferpool does not support the padding,
disable direct rendering and do the final copy/cropping into the non-padded
output frame.
2011-08-01 17:57:38 +02:00
Wim Taymans
1dc718b195 ffdec: refactor picture fill code
Make a method to hold the code to convert a GstVideoFrame to an AVFrame so that
we can reuse it in the non-direct rendering case.
2011-07-29 13:40:30 +02:00
Wim Taymans
3a8445fc80 ffdec: cleanups
Make things a little more readable.
2011-07-29 13:08:53 +02:00
Wim Taymans
3efd2bcbf7 ffdec: use video frame helpers
Use the video frame helper functions to map and set up the strides in the
picture for ffmpeg.
2011-07-29 12:36:12 +02:00
Wim Taymans
afb69cf1d2 ffmpegdec: fix for query API change 2011-07-29 12:34:04 +02:00
Wim Taymans
b507d2e013 ffdec: remove unused variable 2011-07-29 10:57:20 +02:00
Wim Taymans
1565260765 ffmpeg: First set of cleanups
Store incomming info from the caps, current context and output formats into
separate variables so that we can more easily handle them.
Refactor the negotiation code.
Rework the bufferpool setup code. Take into account that we might want to
negotiate extra borders around the image in direct rendering.
Remove some of the cropping code for now.
2011-07-29 10:31:03 +02:00
Wim Taymans
408b54f5e4 ffdec: cleanups
Remove useless switch
Remove old EXTRA_REF define
Move errors out of the main code path
2011-07-28 12:08:34 +02:00
Wim Taymans
3dd45343d3 ffdec: small cleanups
USe gst_pad_peer_query() to forward the query to the peer.
2011-07-28 12:08:30 +02:00
Edward Hervey
b41422f1f3 Merge branch 'master' into 0.11 2011-07-15 12:34:19 +02:00
Edward Hervey
2f63830924 ffmpegdec: Set default number of threads to 1
Too many suspicious errors/warnings pop up when more than 1 thread
is used.

Fixes #653649
2011-07-11 10:47:26 +02:00
Wim Taymans
fc6b32330a Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/ffmpeg/gstffmpegdec.c
2011-07-07 13:50:18 +02:00
Edward Hervey
37f5d70332 ffmpegdec: Setting AC3/EAC3/DTS decoders to rank NONE for release
This still causes issues with bad (missing?) downmixing.

They can be handled by existing a52dec/dtsdec

See Bug #608892
2011-06-30 21:38:57 +02:00
Mark Nauwelaerts
856dbe6f21 ffmpegdec: avoid allocating and leaking local avpacket helpers
... by _init'ing them as locals rather than _new'ing them.

Fixes #653648.
2011-06-30 11:49:39 +02:00
Mark Nauwelaerts
1583b89942 ffmpegdec: unref eaten caps event 2011-06-29 11:44:27 +02:00
Mark Nauwelaerts
36fe313fbd ffmpegdec: unref allocation query 2011-06-29 11:44:11 +02:00
Jan Schmidt
3a12092ae6 Enable threading in ffmpeg decoders that support it.
Add a max-threads property, which defaults to '0 = auto'
Add a utility function taken from libschroedinger which sets
the ffmpeg worker thread count to match the computer processor
count by default.
2011-06-21 14:33:29 +10:00
Wim Taymans
0c026bde71 ffmpeg: port to new caps 2011-06-20 11:57:29 +02:00
Wim Taymans
7f4df8f536 ffdec: update for bufferpool API change 2011-06-11 18:55:05 +02:00