Wim Taymans
73190bcf79
video-chroma: add interlaced flag
2013-05-27 11:25:09 +02:00
Wim Taymans
0c60f0daa4
video-chroma: add chroma resampler
...
Add functions to up/downsample chroma in horizontal and vertical
directions. These functions work in-placeand are meant to be used on the
input/output of the pack/unpack functions.
2013-05-27 11:05:07 +02:00
Wim Taymans
2924365020
video: don't perform subsampling while packing
...
Don't perform subsampling when packing but let this be done by a
separate subsampling step.
2013-05-27 11:05:06 +02:00
Wim Taymans
b5de0552a5
video: move chroma functions to separate file
2013-05-27 11:05:06 +02:00
Wim Taymans
38317e3f09
videometa: fix docs
2013-05-27 11:05:06 +02:00
Sebastian Dröge
c5e9df4b51
videoencoder: Don't require an output state to be set before allocating output buffers
2013-05-25 16:08:06 +02:00
Sebastian Dröge
0c2c909497
video: Always provide a buffer in gst_video_(enc|dec)oder_allocate_output_buffer()
...
We have no way of tell the caller of the exact error (e.g. if we're flushing),
so will have to wait until the caller uses API that returns a GstFlowReturn,
for example when pushing this buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=700006
2013-05-24 16:54:46 +02:00
Tim-Philipp Müller
612e20d4f6
video: make mask arguments to gst_video_format_from_masks() unsigned
...
These should really be unsigned.
2013-05-16 11:35:58 +01:00
Benjamin Gaignard
5da2bd3216
video: fix gst_video_format_from_masks() for little endian masks with alpha
...
Need to byte-order swap the alpha mask as well in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=700413
2013-05-16 10:36:20 +01:00
Tim-Philipp Müller
77405b97ed
video: update disted orc backup files to fix build without liborc
...
https://bugzilla.gnome.org/show_bug.cgi?id=700400
2013-05-15 18:20:50 +01:00
Arnaud Vrac
af24e23880
video: add NV16 format
...
This format is usually used by hardware video decoders for 4:2:2 sampling
https://bugzilla.gnome.org/show_bug.cgi?id=700377
2013-05-15 13:46:46 +02:00
Mathieu Duponchelle
6f233f67ef
videodecoder: don't set the list to NULL after taking its address
2013-05-10 09:22:07 +02:00
Sebastian Dröge
2cc6a62b31
videoencoder: Make sure to push any pre-caps events before the caps are set
2013-05-09 16:05:59 +02:00
Sebastian Dröge
82f1572205
videodecoder: Make sure to not push any post-caps events before we have caps
...
and that we push pre-caps events before we push caps, even if we don't
have a GstVideoFrame yet.
2013-05-09 16:05:59 +02:00
Sebastian Dröge
ba8e7062a4
Revert "videodecoder: If a frame is to be dropped, don't update timestamps"
...
This reverts commit c9c5cd8eef
.
2013-05-09 10:37:06 +02:00
Sebastian Dröge
c9c5cd8eef
videodecoder: If a frame is to be dropped, don't update timestamps
2013-05-09 08:54:45 +02:00
Sebastian Dröge
3e4aec6e7b
video: Make sure to push pre-caps events before the caps event
...
https://bugzilla.gnome.org/show_bug.cgi?id=699894
2013-05-08 15:50:34 +02:00
Sebastian Dröge
f7db63f1b8
videoencoder: Try harder to push writable buffers downstream
...
For this release the corresponding GstVideoCodecFrame before
pushing the buffer. The buffer will now be writable unless
the subclass still holds another reference to the buffer or
the frame.
2013-04-25 16:23:14 +02:00
Sebastian Dröge
0be8d14965
videodecoder: Try harder to push writable buffers downstream
...
For this release the corresponding GstVideoCodecFrame before
pushing the buffer. The buffer will now be writable unless
the subclass still holds another reference to the buffer or
the frame.
2013-04-25 16:13:10 +02:00
Tim-Philipp Müller
f5c0d61be7
Update disted orc backup files
...
Generated with 0.4.17 now.
2013-04-22 13:58:33 +01:00
Sebastian Dröge
9d309a3e06
videoencoder: Simply setcaps function
2013-04-18 09:58:37 +02:00
Sebastian Dröge
74f6376c53
videometa: Extend GstVideoGLTextureUploadMeta
...
https://bugzilla.gnome.org/show_bug.cgi?id=697112
2013-04-17 10:50:05 +02:00
Sebastian Dröge
0b83d13231
videoencoder: Ignore caps events if the caps did not change
2013-04-15 09:44:37 +02:00
Tom Greenwood
3023521366
videodecoder: Ignore caps events if the caps did not change
...
https://bugzilla.gnome.org/show_bug.cgi?id=697672
2013-04-15 09:44:36 +02:00
Víctor Manuel Jáquez Leal
52d269b6b1
videometa: gst_buffer_add_meta() can return NULL
...
https://bugzilla.gnome.org/show_bug.cgi?id=697824
2013-04-11 23:47:36 +01:00
Matej Knopp
c78cbd0d95
videofilter: add caps to pool config
...
Does not cause problems but it fixes a warning in the log.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696916
2013-04-04 10:44:13 +02:00
Tim-Philipp Müller
707d112315
docs: add since marker for new video API
2013-04-02 23:40:13 +01:00
Sebastian Dröge
229d7aa910
video-format: Add GST_VIDEO_CAPS_MAKE_WITH_FEATURES() macro
2013-04-01 10:22:04 +02:00
Sebastian Dröge
f14c4bbbd7
videometa: Add caps feature #defines for video and GL texture upload meta
2013-04-01 10:22:04 +02:00
Wim Taymans
c3651a7905
videodecoder: always send the new buffer to parse functions
...
When we get a new buffer, always call the parse function, even if it is a 0
sized buffer. For theora we need to also decode 0 sized buffers.
Ideally we would like to make theoradec be packetized but that fails currently
because of oggdemux and because of the assumptions that the base class makes.
2013-03-31 18:31:37 +02:00
Wim Taymans
3b8d053232
videodecoder: forward stream-start immediately
2013-03-30 19:14:40 +01:00
Sebastian Dröge
c5d5221cb2
videometa: Add documentation for GstVideoGLTextureUploadMeta
2013-03-29 16:56:25 +01:00
Sebastian Dröge
3d1322f08e
videometa: Implement copying of GstVideoGLTextureUploadMeta
2013-03-29 16:37:01 +01:00
Sebastian Dröge
5f79a8cb93
videometa: API: Add GstVideoGLTextureUploadMeta
...
This allows elements to specify a function to upload
a buffer content to a specific OpenGL texture ID. It
could be used by the vaapi elements to provide a way
for eglglessink or WebKit to upload a VA surface to
an GL texture without the respective sinks knowing
anything about VA.
2013-03-29 16:07:23 +01:00
Wim Taymans
052a1d0f1e
video: set interlaced flag correctly in frame
...
We only look at the interlaced buffer flag in mixed mode, in other modes we
always need to set the interlaced flag.
2013-03-25 09:59:45 +01:00
Wim Taymans
bf642ea085
video-format: add small comment
2013-03-24 00:39:01 +01:00
Tim-Philipp Müller
5afc2002b0
video: navigation: minor GValue optimisation
2013-03-03 17:43:47 +00:00
Arnaud Vrac
95266cf212
video-overlay-composition: fix ayuv/argb conversion
...
Helps when using dvbsuboverlay in connection with vaapisink
or some other video sink that wants ARGB pixels (dvbsuboverlay
attaches pixels in AYUV format, and we then convert as needed).
Alignment should not be a problem here.
2013-02-19 20:39:29 +00:00
Tim-Philipp Müller
0b329f2c22
video: add define for video formats supported by the overlay blending code
...
For use in template caps by overlay elements that use
video_overlay_composition_blend().
API: GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS
https://bugzilla.gnome.org/show_bug.cgi?id=665751
2013-02-19 12:54:40 +00:00
Thijs Vermeir
d189beda4d
videodecoder: allow parse function to not use all data on adapter
2013-02-12 10:17:46 +01:00
David Schleef
31312d586e
videodecoder: Don't blindly assign DTS to PTS
...
DTS and PTS usually have a non-zero offset between them in MPEG-TS,
so assigning DTS to PTS is almost always wrong. The other, newer
timestamp recovery code does it correctly if we leave it as invalid.
2013-02-11 11:57:08 -08:00
David Schleef
ceb6585d26
videodecoder: warn if frame list gets long
...
Decoders that get unparsed input are internally leaking nearly
every incoming buffer. This checks that case.
2013-02-11 11:56:14 -08:00
Tim-Philipp Müller
dce49a1a7e
video: fix return type of _get_palette() and add since markers to docs
...
'const gpointer' is not the same as 'gconstpointer', see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35928 .
2013-02-06 12:43:51 +00:00
Wim Taymans
c1a25d2ce7
video-format: fix interlaced 4:2:0 and 4:1:0 pack/unpack
...
For interlaced vertically subsampled images we need to combine alternating
chroma lines with alternating luma lines. That is line 0 and 2 are combined
with the first line of chroma samples and line 1 and 3 with the second line
of chroma samples.
See also: https://bugzilla.gnome.org/show_bug.cgi?id=588535
2013-02-04 15:06:10 +01:00
Wim Taymans
cb7a7cd05c
video-format: add method to get palette
...
Make a new method to get the default palette for paletted formats.
2013-02-04 15:06:07 +01:00
Wim Taymans
e303b0ad33
video-format: add interlace flag
...
Add an interlaced flag that can be used to control the unpack/pack
functions.
2013-02-04 15:05:59 +01:00
Tim-Philipp Müller
664adc6e19
gst-libs: use GST_*_1_0 environment variables everywhere
...
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
2013-01-16 10:16:27 +00:00
Nicolas Dufresne
7107e97273
videoencoder: Remove done ToDo
...
https://bugzilla.gnome.org/show_bug.cgi?id=675761
2012-12-31 19:09:01 +00:00
Nicolas Dufresne
8a233a215d
videoencoder: Documentation fix
...
https://bugzilla.gnome.org/show_bug.cgi?id=675761
2012-12-31 19:03:29 +00:00
Tim-Philipp Müller
df186d5240
video: fix A420 size calculation
2012-12-22 21:04:11 +00:00
Thijs Vermeir
675562d362
video: use appropriate printf format for gsize
2012-12-18 15:31:52 +01:00
Sebastian Dröge
3f82e919dd
libs: Use foo/foo.h as single-include header consistently everywhere
...
https://bugzilla.gnome.org/show_bug.cgi?id=688785
2012-12-12 17:13:10 +00:00
Tim-Philipp Müller
e05abf0ef1
docs: fix up some more GstXOverlay -> GstVideoOverlay
...
https://bugzilla.gnome.org/show_bug.cgi?id=689740
2012-12-10 13:40:26 +00:00
Sebastian Dröge
0bb5c6c012
videodecoder: Only keep track of timestamps if the subclass is parsing data
...
Otherwise we just pass through the timestamps directly and don't
need to waste additional memory for them.
Fixes bug #689814 .
2012-12-10 11:51:02 +00:00
Sebastian Dröge
7af386fdaf
libs: Fix last commit by using correct include paths and only include existing headers
2012-11-21 11:12:57 +01:00
Evan Nemerson
4d77fba46c
libs: Add missing single include headers and use them in GIRs
2012-11-21 11:01:24 +01:00
Sebastian Dröge
1990c45b60
videodecoder: Return the proportion directly
2012-11-20 12:21:08 +01:00
Sebastian Dröge
6228872df7
videodecoder: Rename from get_qos_info() to get_qos_proportion()
...
And only return the proportion. The earliest time already can be
retrieved from get_max_decode_time() and by renaming we allow this
to be more extensible in the future.
2012-11-20 12:08:26 +01:00
Andoni Morales Alastruey
5f55ea1ef3
videodecoder: add getter for QoS proportion and earliest_time
...
Add a getter for the QoS proportion and earliest_time to help
subclasses do better estimations based on the proportion.
API: gst_video_decoder_get_qos_info()
https://bugzilla.gnome.org/show_bug.cgi?id=687991
2012-11-19 23:57:43 +00:00
Wim Taymans
7de757a0d4
video-format: fix plane offsets for GBR formats
...
Also make some macros to get to the R/G/B planes
Remove unused stride macros.
2012-11-13 16:22:12 +01:00
Sebastian Dröge
1ebeac9a22
video: Add GBR/GBR_10LE/GBR_10BE color formats
...
Planar RGB color format used by h264
2012-11-10 22:24:08 +01:00
Sebastian Dröge
b83e67dd5a
video: Add Y444_10{LE,BE} video formats
2012-11-10 22:24:08 +01:00
Sebastian Dröge
d697dd6d39
videodecoder: Reset the error count to 0 after successfully decoding a frame
2012-11-09 16:47:37 +01:00
Tim-Philipp Müller
377c806685
video: don't crash when blending onto video formats that unpack to 64 bits per pixel
...
We only allocate 8 bits per component for our temp buffers, which
causes invalid memory accesses if we try to unpack formats that
unpack into a format with 16 bits per component such as e.g. v210.
We don't support blending onto those yet, so just bail out.
2012-11-07 11:17:14 +00:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Miguel Angel Cabrera Moya
2d8edb1e86
video-blend: fix memory leak when called with invalid parameters
...
https://bugzilla.gnome.org/show_bug.cgi?id=687472
2012-11-02 19:37:26 +00:00
Tim-Philipp Müller
a4f2df6341
Revert "g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X"
...
This reverts commit e39fbe6b7e
.
Looks like we need to pass the full .la file after all in a setup
with libtool, or it might not find the library, e.g. like
ERROR: can't resolve libraries to shared libraries: gstfft-1.0
Conflicts:
gst-libs/gst/audio/Makefile.am
gst-libs/gst/pbutils/Makefile.am
Also see https://bugzilla.gnome.org/show_bug.cgi?id=603710
2012-10-29 12:47:05 +00:00
Sreerenj Balachandran
f816f94995
videodecoder: fix inappropriate compiler optimization hint macro usage
...
https://bugzilla.gnome.org/show_bug.cgi?id=679456
2012-10-28 23:09:36 +00:00
Tim-Philipp Müller
e39fbe6b7e
g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X
...
As it should be according to the man page.
https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:35:57 +00:00
Tim-Philipp Müller
6c0c3eb967
videodecoder: don't leak message strings when error is not fatal
2012-10-20 11:37:33 +01:00
Tim-Philipp Müller
efff57d497
videodecoder: return NULL from _allocate_output_buffer() if alloc fails
...
.. instead of garbage pointer. Also log failure in debug log.
Should've returned the flow return like _allocate_output_frame().
https://bugzilla.gnome.org/show_bug.cgi?id=683098
2012-10-17 10:55:01 +01:00
Mark Nauwelaerts
706498cb6e
videodecoder: finetune missing timestamp estimating
...
Monitor for reordered output timestamps, and then avoid oldest DTS
as PTS approach, and try for an oldest PTS as out PTS approach,
if at least all valid PTS available.
Avoids bogus estimating upon sparse available input PTS, and tries
to handle all-keyframe input, or input PTS which are actually DTS.
2012-10-10 15:04:10 +02:00
Andoni Morales Alastruey
8a5cf5ef4d
audio/video: update documentation for vfunc's that require chaining up
2012-10-08 13:04:02 +02:00
Wim Taymans
c1d67d9bd6
video: small docs fix
2012-10-08 09:21:16 +02:00
Michael Smith
92560517e8
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base
2012-10-03 10:45:26 -07:00
Michael Smith
a29c4f9489
meta registration: use g_once functions to register these threadsafely.
2012-10-03 10:44:59 -07:00
Sebastian Dröge
9d59b789c7
videodecoder: Fix unused variable compiler warning if debugging is disabled
2012-10-02 09:29:49 +02:00
Olivier Crête
531a5af30c
videodecoder: Also use the object lock to protect the output_state
...
Hold both the stream and the object lock to modify the output_state,
this way it can be safely modified while hold either one or the other.
Also, only hold the object lock in the query
https://bugzilla.gnome.org/show_bug.cgi?id=684832
2012-10-01 14:43:29 -04:00
Mark Nauwelaerts
4adfff03ef
video{de,en}coder: fix missing timestamp estimating
...
... by having some more timestamp tracking in a private frame field.
Not doing so would lead to (a.o.) losing the needed minimum timestamp in
an earlier sent frame.
2012-09-28 13:59:24 +02:00
Mark Nauwelaerts
dc2f2c9a40
videodecoder: use oldest frame DTS to estimate missing outgoing PTS
2012-09-27 11:31:34 +02:00
Mark Nauwelaerts
dbc89e3ab6
videoencoder: use oldest frame PTS to estimate missing outgoing DTS
2012-09-26 16:32:37 +02:00
Mark Nauwelaerts
d247301aec
videoencoder: incoming buffer DTS is irrelevant
...
... and bogus anyway if PTS != DTS
2012-09-26 16:32:37 +02:00
Mark Nauwelaerts
6973a66813
videoencoder: clip input buffers to current input segment
...
... rather than to output segment, which will only be set
to current input segment if some output is produced
(coming from non-clipped input).
Also fixup debug message.
2012-09-25 17:19:15 +02:00
Tim-Philipp Müller
62c111f1e4
videodecoder: don't take STREAM_LOCK on upstream events
...
Don't try to take STREAM_LOCK on upstream events such as QOS.
Protect qos-related variables with object lock instead. Fixes
possible deadlock when shutting down in certain situations.
https://bugzilla.gnome.org/show_bug.cgi?id=684658
2012-09-24 10:56:35 +01:00
Sebastian Dröge
1e8f5a0b06
videodecoder: Update comments about forwarding/not-forwarding serialized events immediately
2012-09-20 10:04:30 +02:00
Olivier Crête
ebae8ffa71
videodecoder: Protect all accesses to priv->output_frame with the stream lock
...
Fixes segfault as queries/events can happen after a reset
2012-09-19 21:16:01 -04:00
Tim-Philipp Müller
5e0dfec62c
Remove -DGST_USE_UNSTABLE_API
2012-09-17 16:05:37 +01:00
Wim Taymans
24bab1e5a8
fix for appsink GstFlowReturn
2012-09-14 13:39:20 +02:00
Tim-Philipp Müller
f7c6aa5abd
Release 0.11.94
2012-09-14 02:47:54 +01:00
Jan Schmidt
6159817c95
videodecoder: Handle GAP events
...
Drain out the decoder when encountering a gap. Needed for DVD 'still'
sequences which consist of a single video frame, and a large gap
while audio plays.
2012-09-12 23:07:29 -07:00
Jan Schmidt
52cfce851a
Fix still-frame handling.
...
Still frame events are not OOB downstream. Also, always send
immediately downstream.
2012-09-12 23:07:28 -07:00
Michael Smith
79f0210aed
video: Add support for 4:2:2 10 bit video.
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683838
2012-09-12 09:59:26 +02:00
Wim Taymans
cbb78eb610
video-info: don't do alignment on the palette
...
Don't align the palette data. Fixes endless loop when trying to align
paletted formats.
2012-09-11 12:53:01 +02:00
Mark Nauwelaerts
214b7b6d1d
video: add some padding
...
... and clean up some related resolved FIXMEs
2012-09-10 14:03:49 +02:00
Mark Nauwelaerts
75fe950c33
gst-libs: restore original full padding
2012-09-10 11:45:44 +02:00
Tim-Philipp Müller
5101adf740
Remove some #define GLIB_DISABLE_DEPRECATION_WARNINGS that are no longer needed
2012-09-10 01:27:18 +01:00
Thibault Saunier
39a907d04d
video: port to the new GLib thread API
2012-09-09 20:41:06 -03:00
Tim-Philipp Müller
2079a8c12b
Remove glib-compat-private.h stuff we don't need any more
...
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Mark Nauwelaerts
d4c1b160ef
videoencoder: only set invalid DTS equal to PTS for keyframe
...
Also add a bit more debug.
See also https://bugzilla.gnome.org/show_bug.cgi?id=679443
2012-09-07 17:41:52 +02:00
Mark Nauwelaerts
20806e4c16
videoencoder: plug some leaks
2012-09-06 13:04:56 +02:00