Commit graph

1316 commits

Author SHA1 Message Date
Mathieu Duponchelle
0243810e1e x264enc: Don't unref future state but the old one
Being silly will lead us nowhere.
2013-09-05 22:56:48 +02:00
Sebastian Dröge
55037ab411 x264enc: Check if we have an input state before using it
Flushing might happen before caps were set on the encoder,
which would lead to crashes here.

Thanks to Matej Knopp for analyzing this.

https://bugzilla.gnome.org/show_bug.cgi?id=707414
2013-09-04 16:33:18 +02:00
Matej Knopp
ae45623450 x264enc: fix unsigned comparison warning 2013-09-04 10:47:55 +02:00
Tim-Philipp Müller
6572393629 x264enc: log when we output a lower profile than requested 2013-08-27 14:13:06 +01:00
Sebastian Dröge
aab5534573 x264enc: Consider subset relations of profiles when setting srcpad caps
constrained-baseline is a subset of baseline, is a subset of main,
is a subset of high profile.

https://bugzilla.gnome.org/show_bug.cgi?id=705425
2013-08-21 18:35:09 +02:00
Tim-Philipp Müller
e0ae81ebac x264enc: propagate flow return back to base class and upstream
https://bugzilla.gnome.org/show_bug.cgi?id=705425
2013-08-21 12:35:32 +01:00
Tim-Philipp Müller
71ce5136d1 x264enc: minor clean-up
We requires x264 build >= 120 now.
2013-08-17 23:09:15 +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
Edward Hervey
767005d8c0 x264: Fix dts comparision
We were assigning to a guint64 value (frame->dts) the sum of a unsigned
and signed value... resulting it the result never being < 0.

Instead just check if it is smaller before assigning to frame->dts.
2013-07-26 16:47:30 +02:00
Sebastian Dröge
f8e05c2af0 mpeg2dec: Clean up reset/start/stop handling 2013-07-25 13:35:44 +02:00
Sebastian Dröge
a4a89275f8 x264enc: React properly to flushing/resetting the encoder
https://bugzilla.gnome.org/show_bug.cgi?id=656007
2013-07-25 12:48:55 +02:00
Sebastian Dröge
828791fadc siddec: Add support for group-id in the stream-start event 2013-07-22 16:02:46 +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
Mark Nauwelaerts
d0502b0a52 dvdreadsrc: correctly determine last chapter's duration
This (mostly) reverts 683f5eeae7.
It worked just fine before ...
2013-07-09 22:04:51 +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
Olivier Crête
c9e20af4cb lamemp3enc: Tell GstAudioEncoder about the number of incoming samples
lame does internal resampling, but the base class only cares about
the number of raw samples, so tell finish frames about that, not
the number of samples in the outgoing frame.:
2013-05-09 19:48:37 -04:00
Tim-Philipp Müller
62ac56668a x264enc: output byte-stream if downstream has ANY caps
It's what people expect when they pipe the output to
filesink or into a tcp connection or pipe.
2013-04-30 10:04:23 +01:00
Sebastian Dröge
ef182de45f gst: Add better support for static plugins 2013-04-15 15:56:02 +02:00
Tom Greenwood
2e38f24b56 x264enc: Fix for 0/1 framerate - now uses VFR in this case
Previously did a division by zero.

https://bugzilla.gnome.org/show_bug.cgi?id=695728
2013-03-25 10:08:44 +01:00
Tim-Philipp Müller
5f83e4101f x264enc: simplify template caps
No need to make an array for one single element.
2013-02-08 00:15:01 +00:00
Tim-Philipp Müller
201e3f74be x264enc: put all theoretically possible formats in template caps
and decide at runtime which subset of these (8-bit or 10-bit video
formats) is supported. libx264 will be compiled for one of these
two options, and it is possible to switch by pointing the dynamic
linker to a different libx264 build at runtime. If we want our
template caps to be correct, they should contain all then, with
the actually supported ones determined at runtime.

https://bugzilla.gnome.org/show_bug.cgi?id=691935
2013-02-08 00:11:03 +00:00
Tim-Philipp Müller
e765deb01b x264enc: detect supported bit depth and pixel formats at runtime
http://bugs.debian.org/667573
https://bugzilla.gnome.org/show_bug.cgi?id=691935
2013-02-07 13:37:44 +00:00
Thijs Vermeir
6461d0e035 mpeg2dec: use appropriate printf format for gsize 2012-12-19 17:16:53 +01:00
Thijs Vermeir
d1f6c462c4 cdio: Fix redundant redeclaration of 'cdio_version_string'
cdio/version.h is already included by cdio/cdio.h
2012-12-19 17:15:03 +01:00
Wim Taymans
248b96d25e siddec: init debug category 2012-12-01 13:26:26 +01:00
Tim-Philipp Müller
2b814e4191 dvdread: link to libgmodule-2.0 since the g_module_* API is used
And the gmodule lib has been moved into the Requires.private
section of the pkg-config file in core.
2012-11-30 20:09:03 +00:00
Tim-Philipp Müller
1ab41f83b7 cdiocddasrc: detect whether drive produces samples in non-host endianness
If drive produces samples in other endianness than the host,
we need to byte swap them before pushing them out, or we
produce nothing but noise. cdparanoia detects this automatically,
but libcdio does not, so we have to do it ourselves.

This is needed on e.g. the PowerBook G4 with Matshita UJ-816 drive.

https://bugzilla.gnome.org/show_bug.cgi?id=377280
2012-11-27 18:12:43 +00:00
Sebastian Dröge
fcd55cfd12 x264enc: Add support for 10-bit color formats
Requires x264 to be built with 10-bit support, which disables
9-bit support. Also only advertise the color formats that were
compiled into x264.
2012-11-15 16:42:09 +01:00
Sebastian Dröge
d098eb0941 x264enc: Add support for Y444, Y42B and NV12 2012-11-15 16:21:49 +01:00
Tim-Philipp Müller
c4335cf663 cdio: use gst_tag_freeform_string_to_utf8() for CD-TEXT strings
They're probably not going to be UTF-8, but ISO-8859-1 or somesuch
if they're not plain ASCII.
2012-11-11 20:42:42 +00: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
Wim Taymans
b979e19af7 siddec: reset bytes counter
Reset the total_bytes counter so that we get timestamps correct.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686931
2012-10-30 09:20:04 +00:00
Mark Nauwelaerts
f4248f002a dvdreadsrc: correctly set next cell when seeking to sector 2012-10-18 22:19:04 +02:00
Mark Nauwelaerts
c7272913d1 dvdreadsrc: update dvd event to enhanced approach
... in line with resindvdsrc.
2012-10-12 14:49:28 +02: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
Tim-Philipp Müller
4935096912 x264enc: when setting fallback decoder latency, set valid min_latency
Min. latency needs to be a valid time, so pass 0 as default
value in the fallback case where we can't determine any latency,
and avoid nasty criticals at runtime.
2012-09-26 01:05:52 +01:00
Tim-Philipp Müller
5f9a086484 Remove -DGST_USE_UNSTABLE_API 2012-09-17 16:57:30 +01:00
Tim-Philipp Müller
59c54c7a66 cdio: work around cdio headers re-defining VERSION and PACKAGE_VERSION
Thanks guys. Fixes plugin version in gst-inspect-1.0 and docs
introspection/updating for this plugin.
2012-09-17 12:25:25 +01:00
Wim Taymans
49f5cb7d76 rename some caps and elements in examples 2012-09-14 16:28:54 +02: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
Wim Taymans
a0e9f6890e mad: fix email address 2012-09-11 11:14:19 +02:00
Wim Taymans
acbf0313ef mad: init base class method only once 2012-09-11 11:14:19 +02:00
Mark Nauwelaerts
b06e81b532 x264enc: clean up some debug statements 2012-09-09 16:04:56 +02:00
Mark Nauwelaerts
839e75d5d1 x264enc: handle possibly negative DTS provided by codec
... by arranging for an offset such that DTS == PTS for keyframes,
which is expected elsewhere to go along with semantics of PTS and DTS.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679443
2012-09-07 17:38:40 +02:00
Sebastian Dröge
9390195cfe x264enc: Use new video encoder base class API for handling tags 2012-08-09 16:30:10 +02:00
Sebastian Dröge
87d9927126 gst: Add stream-id to stream-start events 2012-08-06 14:04:05 +02: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
Tim-Philipp Müller
c7fd90c842 gst_tag_list_free -> gst_tag_list_unref 2012-08-04 16:13:36 +01:00
Sebastian Dröge
32857a7621 tag: Update for taglist/tag event API changes 2012-07-28 00:35:59 +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
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