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
Mark Nauwelaerts
cd2e795154
videooverlaycomposition: add some _get_argb and _get_ayuv functions
...
... that will handle automatic conversion to indicated format.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683180
2012-09-05 10:15:51 +02:00
Jan Schmidt
041c16b47d
On a still-frame begin message, drain out the decoder and send it.
...
Fixes still frame handling on DVDs
2012-09-02 23:19:09 -07:00
Jan Schmidt
acadc94279
Revert "videodecoder: Send serialised events immediately, after we're pre-rolled."
...
This reverts commit ef5316fbb0
.
2012-09-02 22:59:58 -07:00
Jan Schmidt
ef5316fbb0
videodecoder: Send serialised events immediately, after we're pre-rolled.
...
Only hold back events until the first buffer is generated, then just
send them directly. Otherwise, important events like 'still-frame' are
held forever, waiting for a frame that'll never arrive.
2012-08-31 12:40:36 -07:00
Mark Nauwelaerts
89228e911c
videooverlaycomposition: allow more formats for rectangle pixel data
...
... adding AYUV, and allowing for ARGB or RGBA endian-independent.
2012-08-30 12:12:39 +02:00
Mark Nauwelaerts
9262e00007
videodecoder: parsing loop must ensure for a current frame
2012-08-28 14:31:06 +02:00
Mark Nauwelaerts
dd4836a8d1
videooverlaycomposition: stricter check on input variables
2012-08-28 11:01:46 +02:00
Tim-Philipp Müller
7970a0ac71
docs: add docs for some of the video info macros
2012-08-24 17:23:08 +01:00
Wim Taymans
a994ebcf1b
videoencoder: allow 0 sized output frames
...
Allow 0 sized frames in gst_video_encoder_allocate_output_frame(). Theora
encodes repeat frames, for example, as 0 sized buffers.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681196
2012-08-24 16:56:00 +02:00
Wim Taymans
211b8b6004
video-frame: only copy the visible region
...
Make sure to only copy the visible region instead of assuming that the complete
stride is visible (which is not the case when padding is used).
2012-08-20 16:17:27 +02:00
Wim Taymans
6702a2f64c
videometa: add more debug
2012-08-20 16:14:07 +02:00
Wim Taymans
9583d1bfc9
video-info: update padding
...
Update the alignement structure with the new padding values because they could
have been changed when the padding was increased to align the strides.
2012-08-20 11:12:31 +02:00
Wim Taymans
9a2344c2e5
video: expose gst_video_info_align
...
Expose the gst_video_info_align function that adds padding and does stride
alignment on a GstVideoInfo. Move this previously private function to
video-info.co
Move the definition of the alignment structure to video.h where it can be picked
up by both the bufferpool and the video-info.
2012-08-20 10:50:59 +02:00
Wim Taymans
f56e1222da
videopool: improve alignment
...
Check the alignment of the strides in gst_video_info_align and increase the
padding on the frame until the strides are aligned.
2012-08-20 10:25:39 +02:00
Wim Taymans
ca77174f91
videopool: improve alignment
...
Align each plane instead of each component, we might otherwise apply the
alignment adjustement twice if a plane contains multiple components.
2012-08-20 10:06:15 +02:00
Wim Taymans
2bffebcb02
video-format: fix docs a little
2012-08-20 10:06:15 +02:00
Sebastian Dröge
bdc056c12d
video: Add methods to return a list of all pending GstVideoCodecFrames
2012-08-16 12:13:25 +02:00
Víctor Manuel Jáquez Leal
c02dcda885
videoencoder: getter for allocator
...
Sometimes the encoder would need to use the allocator for something else than
just allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:23 +02:00
Víctor Manuel Jáquez Leal
efe9e31b34
videodecoder: getters for pool and allocator
...
Sometimes the decoder would need to use the pool or the allocator for
something else than just allocating output buffers. For example, the querying
for different parameters, such as asking for a bigger number of buffers to
allocate in the pool.
This patch expose a two getters accessors: one for the buffer pool and the
other for the memory allocator.
2012-08-14 15:47:04 +02:00
Tim-Philipp Müller
d1299d1357
videodecoder: fix seeking again
...
Add missing break in FLUSH_STOP case.
2012-08-09 19:57:49 +01:00
Sebastian Dröge
b141bfed60
video: Merge upstream stream tags
2012-08-09 16:24:24 +02:00
Sebastian Dröge
9ffb579b75
videodecoder: Add API to conveniently handle tags
2012-08-09 16:02:42 +02:00
Sebastian Dröge
3c915afc39
videoencoder: Add API to conveniently handle tags
2012-08-09 16:02:15 +02:00
Sebastian Dröge
e37bb460bd
videoencoder: Add negotiate vfunc that is used to negotiate with downstream
...
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 14:47:46 +02:00
Sebastian Dröge
7cb22ef241
videodecoder: Add negotiate vfunc that is used to negotiate with downstream
...
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 14:47:46 +02:00
Sebastian Dröge
7bdcb12b41
gst: Set alignment at the correct place of GstAllocationParams
2012-08-08 17:41:19 +02:00
Andoni Morales Alastruey
d8326a8eda
videoencoder: add proper format for gsize
2012-08-08 17:41:19 +02:00
Sebastian Dröge
98983e08ae
videoencoder: Always propose a video buffer pool when the subclass didn't provide one
...
And also request 16-byte aligned buffers if the subclass didn't
set anything else.
2012-08-08 17:41:19 +02:00
Sebastian Dröge
8b916da6d7
videofilter: Really add a buffer pool if none was provided
...
And also use the allocation parameters from the query if any
and if there are none set our own (16-byte alignment) on the
query.
2012-08-08 12:19:31 +02:00
Sreerenj Balachandran
8707546345
videofilter: Fix the crash in propose_allocation
...
Always set a buffer pool if none is provided and don't
set/unref a NULL buffer pool on the query.
https://bugzilla.gnome.org/show_bug.cgi?id=681436
2012-08-08 12:03:05 +02:00
Tim-Philipp Müller
6422f2d085
Update .gitignore
2012-08-08 09:06:30 +01:00
Tim-Philipp Müller
211cc1cf68
video: make sure g-i doesn't parse orc-generated video-orc.h file
...
It's not public API.
2012-08-05 14:40:03 +01:00
Wim Taymans
683a38ad65
update for new variable names
2012-07-27 15:24:43 +02:00
Edward Hervey
6423a4027e
video: Make all frame_number guint32
...
Unifies the code and ensures that:
* subclasses needing to use the frame_number on a void* field will
always work
* wraparounds will be automatically taken care of if we have to deal
with more than 2**32 frames
2012-07-26 18:38:42 +02:00
Mark Nauwelaerts
7b135e8810
video{de,en}coder: delay input caps processing until processing data
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680614
2012-07-26 14:35:45 +02:00
Arnaud Vrac
8ab19ba9ca
video-frame: fix invalid plane id on video frame mapping error
2012-07-26 01:52:25 +02:00
Mark Nauwelaerts
e1137b8c66
videoencoder: minor doc fix
2012-07-25 15:58:19 +02:00
Vivia Nikolaidou
d2e1b64e0c
videoencoder: Expose _negotiate function
...
This is to be called by encoders once they have set the output format
in order for (re)negotiation to be triggered as early as possible.
https://bugzilla.gnome.org/show_bug.cgi?id=679878
2012-07-24 20:42:49 +02:00
Sreerenj Balachandran
1256d5ed71
video-blend: Doc fix
2012-07-24 12:56:46 +02:00
Wim Taymans
38552a2a8a
video: rename gst_video_orc_* to video_orc_*
...
Because then the functions would not be exported
2012-07-23 17:10:08 +02:00
Wim Taymans
e98c8538c5
orc: prefix orc functions with gst_video_orc_
...
See https://bugzilla.gnome.org/show_bug.cgi?id=680025
2012-07-23 16:56:55 +02:00
Wim Taymans
b392b28179
orc: rename to video-orc*
2012-07-23 16:52:33 +02:00
Robert Swain
5be353ed5e
video-frame: Add missing closing brakcets on flag macros
2012-07-23 14:23:39 +02:00
Wim Taymans
9e08343d5c
video-frame: add macros to get frame flags
2012-07-23 13:58:07 +02:00
Wim Taymans
f9de2f499b
video-frame: use interlacing buffer flags
...
Also use the buffer flags to enhance the GstVideoInfo flags in the case where
there was metadata on the buffers.
2012-07-23 13:32:59 +02:00
Sebastian Dröge
fcf5e389ce
videoencoder: Hold the stream lock when reconfiguring the element
2012-07-23 12:06:16 +02:00
Sebastian Dröge
df08e333d2
video: Correct usage of the base class stream lock
...
And also renegotiate if the srcpad requires reconfiguration
2012-07-23 11:50:11 +02:00
Sebastian Dröge
1645ea4a90
video: Rename alloc_output_buffer() to allocate_output_buffer()
2012-07-23 10:18:41 +02:00
Sebastian Dröge
97ba363092
videoencoder: Minor cleanup
2012-07-23 10:04:48 +02:00
Sebastian Dröge
fc24035790
videoencoder: Fix parameters names in header
2012-07-23 09:54:50 +02:00
Sebastian Dröge
cce1078fe9
videoencoder: Add decide_allocation vfunc and functions to allocate buffers with the information from the allocation query
2012-07-23 09:39:47 +02:00
Wim Taymans
4b56b731d2
video-frame: add interlace flag
...
Add an interlace flag so that we can see if a frame is interlaced or progressive
in the mixed interlace-mode.
2012-07-20 10:20:38 +02:00
Tim-Philipp Müller
ed8504e590
video-overlay-composition: fix GSlice alloc/free size mismatch
...
Fix copy'n'paste bug which made us allocate a slice of the
size of a rectangle for the overlay composition, but then
free it passing the size of an overlay composition, which
is not something GSlice takes to kindly, resulting in scary
aborts like:
***MEMORY-ERROR***: GSlice: assertion failed: sinfo->n_allocated > 0
Also, g_slice_new already includes a cast, so remove our
own casts, without which the compiler would probably have
told us about this ages ago.
https://bugzilla.gnome.org/show_bug.cgi?id=680091
2012-07-19 13:39:25 +01:00
Edward Hervey
8feaebb6eb
videodecoder: Expose _negotiate function
...
This is to be called by decoders once they have set the output format
in order for (re)negotiation to be triggered as early as possible.
https://bugzilla.gnome.org/show_bug.cgi?id=679878
2012-07-18 18:17:57 +02:00
Mark Nauwelaerts
f89c7b605f
videooverlaycomposition: replace API parameters with required video meta on pixel data
2012-07-17 18:08:11 +02:00
Mark Nauwelaerts
d8a9c18e81
videooverlaycomposition: use GstVideoInfo internally and streamline stride handling
2012-07-17 18:08:11 +02:00
Mark Nauwelaerts
d03f926162
videoblend: use correct stride when scaling
2012-07-17 18:08:11 +02:00
Wim Taymans
eacb9ee554
video: add method to get offset and scale for a format
...
Add a method to get the offset and scale values to transform the color values of
a format to their normalized [0.0 .. 1.0] range. This is usually required as
the first step of a colorspace conversion.
2012-07-13 17:13:10 +02:00
Wim Taymans
a18c098f82
video: add option to unpack and truncate the range
...
Add an unpack option to specify what to do with the least significant bits of
the destination when the source format has less bits than the destination. By
default we will now copy the most significant bits of the source into the least
significant bits of the destination so that the full color range is represented.
Add an option to leave the extra destination bits 0, which may be faster and
could be compensated for in the element algorithm.
2012-07-13 15:42:26 +02:00
Wim Taymans
866bf89dfe
video: fix endianness of the pack formats
2012-07-13 15:35:27 +02:00
Wim Taymans
bc78df5d2d
video: fix r210 format
...
It is an RGB format.
2012-07-13 15:22:57 +02:00
Edward Hervey
3eb5378247
video-blend: Fix argument signedness
...
The x/y values are meant to be signed.
This bug was introduced by 76c0881549
Conflicts:
gst-libs/gst/video/video-blend.c
gst-libs/gst/video/video-blend.h
2012-07-13 12:18:29 +02:00
Edward Hervey
2817bdadc9
libs: Remove "Since" markers and minor doc fixups
2012-07-13 12:11:06 +02:00
Wim Taymans
0dd87d7eb7
fix for allocator API changes
2012-07-09 16:28:25 +02:00
Wim Taymans
53fc1f3fca
update for query api changes
2012-07-06 11:50:44 +02:00
Wim Taymans
bc5ba349b7
update for allocation query changes
2012-07-06 11:05:09 +02:00
Mark Nauwelaerts
db3ce93c51
Revert "videooverlaycomposition: ensure proper buffer copy"
...
This reverts commit 1d413ace64
.
Plain gst_buffer_copy() is now doing the expected ...
See https://bugzilla.gnome.org/show_bug.cgi?id=678384 .
2012-07-05 16:39:17 +02:00
Sebastian Dröge
9002471c93
video: Document buffer ownership of the GstVideoCodecFrame more explicit
...
And also the implications of calling the finish() functions.
2012-07-05 14:29:42 +02:00
Sebastian Dröge
7803ae97e9
videodecoder: Make sure the buffer is writable before changing fields in finish_frame() too
...
We can't be sure that we have the one and only reference here either.
2012-07-05 13:38:48 +02:00
Sebastian Dröge
8e15a2c28d
videodecoder: Create a complete subbuffer before pushing
...
Otherwise we can't be sure that we are allowed to change the
buffer fields later for clipping.
2012-07-05 13:37:37 +02:00
Wim Taymans
f7f2c13efc
update for miniobject changes
2012-07-04 17:06:28 +02:00
Wim Taymans
676375ecfe
videodec: add some assert
2012-07-04 09:15:26 +02:00
Wim Taymans
c7cfb66467
videodec: clear the right variable
2012-07-04 09:15:26 +02:00
Mark Nauwelaerts
bcc5a89a98
videooverlaycomposition: make API meta oriented
...
... and as such more consistent with other buffer meta components.
2012-07-03 14:27:35 +02:00
Mark Nauwelaerts
fa72c94a53
videooverlaycomposition: remove some post-port obsolete parts
2012-07-03 14:27:34 +02:00
Mark Nauwelaerts
1d413ace64
videooverlaycomposition: ensure proper buffer copy
...
This is only temporary and could and should be modified to use
regular buffer copy once https://bugzilla.gnome.org/show_bug.cgi?id=679145
is resolved.
2012-07-02 14:34:14 +02:00
Mark Nauwelaerts
0fba95a7b1
videooverlaycomposition: fix some refcounting and avoid possible NULL use
2012-06-29 18:56:09 +02:00
Mark Nauwelaerts
e94022806f
videooverlaycomposition: port to 0.11
...
... which also entails porting video-blend
Fixes #678384 .
2012-06-28 18:16:20 +02:00
Wim Taymans
136a3fd37f
videoencoder: make PTS and DTS handling more explicit
2012-06-27 16:56:22 +02:00
Wim Taymans
c68683c15f
videodecoder: avoid crash when getting duration
...
Check that we have a valid output_state before attempting to use it to calculate
the duration of a buffer. It is possible that we don't have a state yet, for
example when we are dropping the first buffers.
2012-06-27 16:56:22 +02:00
Sebastian Dröge
43e94eea98
videodecoder: Use GSlice to allocate the timestamp tracking structures
2012-06-27 16:42:10 +02:00
Wim Taymans
3327d13f1b
videodecoder: small cleanups
2012-06-27 14:13:02 +02:00
Wim Taymans
9f591a0bd1
videodecoder: improve PTS and DTS handling
...
Also keep track of the DTS and use it to set PTS on keyframes.
Set DTS on outgoing buffers.
2012-06-27 13:48:58 +02:00
Jan Schmidt
1718697ae2
videodecoder: Don't leak a ref to frames in reverse playback
2012-06-26 22:26:57 +10:00
Wim Taymans
1ed29bdb90
video-frame: handle map errors
...
Error out when something failed
2012-06-26 11:12:00 +02:00
Wim Taymans
59e99e827e
videometa: improve debug error reporting
2012-06-26 11:12:00 +02:00
Sreerenj Balachandran
a44058c12e
videoutils: Use g_list_free_full instead of g_list_foreach and g_list_free
2012-06-25 11:39:08 +02:00
Wim Taymans
fcc1e1f457
update for bus api changes
2012-06-20 12:34:01 +02:00
Jan Schmidt
b7759a4d42
videodecoder: Don't give out bogus frame deadlines
...
Make sure the frame deadline was set before calculating the
max_decode_time. Fixes problems with ffmpeg skipping frames when
it doesn't need to, when the input doesn't have full timestamping
(divx in avi)
2012-06-20 03:45:14 +10:00
Jan Schmidt
9a79a145b1
videodecoder: Remove gst_video_decoder_get_timestamp function
...
Interpolating the timestamps from the picture numbers
does more harm than good, getting it wrong in a lot of
cases (especially reverse playback). Removing it in favour
of simply incrementing the timestamps until there's
something better
2012-06-20 03:40:29 +10:00
Jan Schmidt
45cf9f651b
videodecoder: EOS handling for reverse mode.
...
Handle EOS correctly in reverse mode by treating it
as a final discont and flushing out whatever we can.
2012-06-20 01:43:36 +10:00
Jan Schmidt
6718f0cfff
videodecoder: misc improvements/changes
...
Use g_list_free_full instead of walking lists twice when freeing
them.
Remove pointless clause in gst_video_decoder_chain that doesn't
actually have any effect.
Other changes to make the code slightly more like the 0.11
version.
2012-06-20 01:43:31 +10:00
Jan Schmidt
ffd0f28460
videodecoder: Improve timestamp handling.
...
Fix problems with timestamp calculations when the incoming
buffers have sparse timestamps (as for theora) and reverse
playback. Fixes #675773
2012-06-20 01:43:26 +10:00
Jan Schmidt
1935cf0022
videodecoder: Re-work reverse playback handling
...
Move processing of the gather list into the flush_parse function.
Add a last ditch attempt to apply timestamps to outgoing buffers
when walking backwards through decoded frames. Requires that each
gathered region has at least one timestamp.
Make sure to remove decoded packets from the decode list when
they are sent - otherwise the list just grows on each cycle, with
more and more frames being decoded and then clipped away.
Break out of the processing loop early on a bad flow return to make
seeking more responsive.
Use the gst_video_decoder_clip_and_push_buf function in reverse
mode, instead of pushing all buffers arbitrarily.
A couple of small efficiency gains in the list handling, by moving
list elements directly and not reallocating, and by reversing
and concatenating the gather list instead of moving it one node
at a time.
Rename the gst_video_decoder_do_finish_frame function to
gst_video_decoder_release_frame.
2012-06-20 01:34:44 +10:00
Jan Schmidt
5dc7d4ea3a
videodecoder: Split gst_video_decoder_finish_frame
...
Split the 2nd half of the gst_video_decoder_finish_frame function
out to gst_video_decoder_clip_and_push_buf.
2012-06-20 01:32:05 +10:00
Jan Schmidt
c977aa2c01
videodecoder: Rename queued list to output_queued for clarity.
...
Use g_list_free_full instead of g_list_foreach + g_list_free
2012-06-20 01:32:05 +10:00
Jan Schmidt
487e5348e0
videodecoder: Small cleanups
...
Remove extra deref using a local var, and add/change some doc comments
and debug statements
2012-06-20 01:32:05 +10:00
Jan Schmidt
2d770ac406
videodecoder: Rename gst_video_decoder_have_frame_2 function
...
Rename gst_video_decoder_have_frame_2 to
gst_video_decoder_decode_frame and pass the frame to process
directly, rather than using the current_frame pointer as a holding
pen.
Move the negative rate handling out of the function to where it
is needed, and remove the process flag.
2012-06-20 01:32:05 +10:00
Jan Schmidt
ca09aaabc7
videodecoder: Extend docs and add comments
...
Update the documentation block for the base class, and add a comment
block about the reverse-playback logic and implementation.
2012-06-20 01:32:03 +10:00
Sebastian Dröge
bdb4f7c101
videofilter: Don't duplicate code to create a new buffer pool if none is in the query
2012-06-19 13:57:00 +01:00
Sebastian Dröge
cb6b835d11
videoencoder: Ensure buffers don't disappear early
...
The frames are the owners of the buffers
2012-06-19 09:34:49 +01:00
Edward Hervey
4b946e8cee
videodecoder: Ensure buffers don't disappear early
...
The frames are the owners of the buffers. In cases where a decoder
would keep around reference frames, we need to ensure they don't
disappear early.
To handle this, we pass downstream a complete sub-buffer of the output
buffer, ensuring that the buffer will only be released when downstream
is done with it *AND* the frame is no longer used.
Conflicts:
gst-libs/gst/video/gstvideodecoder.c
2012-06-19 09:33:03 +01:00
Sebastian Dröge
4119246081
videoencoder,videodecoder: Return new references from _get_frame()
2012-06-19 09:26:36 +01:00
Sebastian Dröge
1e635f682f
videodecoder: Add GstVideoDecoder::propose_allocation() vfunc
2012-06-15 16:38:16 +02:00
Jan Schmidt
f865729e95
videodecoder: Fix initial timestamp in ogg, and a warning.
...
Don't replace the initial frame's timestamp with a bogus
one calculated from the (incorrect for Ogg) frame number just
because the 'sync time' hasn't changed.
Also, don't output a bogus warning about the output_frame being
NULL when it's being dropped/skipped due to QoS.
2012-06-13 01:58:05 +10:00
Vincent Penquerc'h
8b10be67e4
videodecoder: use GST_CLOCK_TIME_IS_VALID where appropriate
2012-06-08 13:59:53 +01:00
Wim Taymans
c2112cb402
video: mark unpack formats with a flag
...
Add a new _UNPACK flag and use it to mark potential unpack formats.
2012-06-08 11:50:57 +02:00
Vincent Penquerc'h
d7ee6a9c57
videodecoder: do not do timestamp arithmetic from an invalid timestamp
...
This fixes untimestampped buffers from being rejected by the segment clipper.
https://bugzilla.gnome.org/show_bug.cgi?id=676022
2012-06-07 16:59:09 +01:00
Vincent Penquerc'h
fd35793c38
video: fix memory leak
2012-06-07 11:23:21 +01:00
Wim Taymans
bc221fba78
video: add pack_lines variable
...
Use a separate variable to describe the amount of lines that will be used in
packing instead of abusing the h_sub variable. Some formats might have no
subsampling but need to operate on multipe lines.
2012-06-06 11:38:00 +02:00
Wim Taymans
a96acd3dbe
video: add macro for component depth
2012-06-06 11:18:56 +02:00
Wim Taymans
ecdfb96f17
video: move methods into separate files
...
Move different video functionalities into different files
2012-06-05 12:47:22 +02:00
Wim Taymans
887d442da4
video: don't add unknown colorimetry
2012-06-04 18:24:03 +02:00
Wim Taymans
d923f9fe70
videodecoder: only copy known colorimetry values
...
Avoid overriding the default colorimetry values.
2012-06-04 18:17:42 +02:00
Wim Taymans
831519364c
video: add unknown colorimetry parameters as well..
2012-06-04 18:08:11 +02:00
Wim Taymans
379eb410c8
video: use unknown colorimetry for unknown formats
...
Use the default RGB colorimetry into only on RGB formats and use an unknown set
of defaults for the unknown format.
2012-06-04 18:00:42 +02:00
Wim Taymans
24f0ac588f
video: (de)serialize colorimetry on caps
2012-06-04 16:17:32 +02:00
Wim Taymans
8f88f015f0
video: don't add empty colorimetry to caps
...
Don't use extra default colorimetry entries in the table to construct an output
colorimetry shortcut because they don't have a name.
2012-06-04 16:17:32 +02:00
Wim Taymans
c76f44bebb
video: fix default colorspace settings
...
HD content is defined as height > 576
2012-06-04 16:17:32 +02:00
Wim Taymans
b718dc26b5
video: add generic film primaries
2012-06-04 16:17:31 +02:00
Sebastian Dröge
86b36c3463
videoencoder: Don't unref frame twice if not in the list
2012-06-04 10:46:13 +02:00
Matej Knopp
e316ff5435
videodecoder: Do not unref frame if not in the list
2012-06-04 10:43:56 +02:00
Wim Taymans
1c9f9654bb
video: set default colorimetry info
...
Set default colorimetry info when not otherwise specified in caps.
2012-06-01 12:09:44 +02:00
Tim-Philipp Müller
38df7e2d27
video: update disted orc backup files for recent changes
2012-06-01 10:02:02 +01:00
Wim Taymans
7f134c1441
video: fix paletted format
...
RGB8_PALETTED -> RGB8P
Fix the definition of paletted formats, store the palette in the second
plane.
Make sure we copy the palette correctly in gst_video_frame_copy()
Don't do alignment on the palette in videopool
2012-05-31 13:44:43 +02:00
Sebastian Dröge
8f92acdc86
video: And fix the build of the ORC sources
2012-05-30 13:07:57 +02:00
Sebastian Dröge
b354613556
video: Fix generation of orc sources
2012-05-30 13:06:11 +02:00
Wim Taymans
cdf55c7c7a
video-blend: prepare for 0.11 porting
...
Remove obsolete code.
Remove the BlendInfo structure, we can do this better with GstVideoFrame
Use GstVideoFrame in the API
Prefix functions with gst_
2012-05-30 09:25:12 +02:00
Wim Taymans
a45bca53a1
video: add support for premultiplied alpha
2012-05-30 09:21:46 +02:00
Wim Taymans
69787d6f0c
video: move enum difinition
...
c++ doesn't seem to like the typedef
2012-05-29 17:52:06 +02:00
Wim Taymans
fda981045a
video: Remove duplicate formats
...
Remove Y800 and Y16 wich are the same as GRAY8 and GRAY16_LE
Add const to the GstVideoFormatInfo when used in argument
Add GRAY8 and GRAY16 pack/unpack functions
2012-05-29 17:52:06 +02:00
Wim Taymans
2d078e42a8
video: rename orc function names
2012-05-29 17:52:06 +02:00
Wim Taymans
abe4b0b235
video: fill in the pack/unpack functions
...
Add support for supporting chroma subsampling correctly in the pack
function.
Fill in the pack and unpack functions for most formats.
Add some missing pack/unpack functions to the orc file.
2012-05-29 17:52:06 +02:00
Wim Taymans
67587918f3
video-blend: remove unused defines
2012-05-29 17:52:06 +02:00
Wim Taymans
2ba36a69bf
video: add flags for the pack/unpack functions
...
Add a flag argument to the pack and unpack function so that we can expand it
later when needed. We could for example prefer a High Quality pack/unpack
operation later.
2012-05-29 09:53:15 +02:00
Wim Taymans
3925b20e25
video: add padding
2012-05-29 09:52:40 +02:00
Wim Taymans
467f8d360a
video: fix v216 format description
...
Fix the offsets of v216 video
Add the complex flag to some formats
2012-05-28 16:14:30 +02:00
Wim Taymans
413cd6dc2e
videopool: take pixel stride into account
...
When we need to add borders, take the pixel stride into account to move to the
right horizintal offset.
2012-05-28 12:59:40 +02:00
Wim Taymans
59d8d73aa2
video: add 10 bits I420 format
...
Add 10 bits I420 format definitions
Move encoded format as second entry in the array so that it doesn't end up in a
weird place when we add formats.
See https://bugzilla.gnome.org/show_bug.cgi?id=665034
2012-05-25 17:01:19 +02:00
Raimo Järvi
d42a197c04
video: Fix printf format warnings on mingw-w64
...
https://bugzilla.gnome.org/show_bug.cgi?id=676442
2012-05-24 10:57:21 +02:00
Sreerenj Balachandran
38a2fe673e
videodecoder: improve doc
2012-05-23 10:16:25 +02:00
Sreerenj Balachandran
a19ae16b5a
videoutils: improve doc
2012-05-23 10:16:25 +02:00
Sebastian Dröge
ed6d46e156
video: Rename gst_video_codec_frame_set_hook() to gst_video_codec_frame_set_user_data()
...
And also add a getter and allow to set NULL user_data but still call
the passed destroy notify.
2012-05-16 14:06:12 +02:00
Tim-Philipp Müller
c1bc70300d
docs: fix up video decoder/encoder docs a bit
...
Makes gtk-doc happy.
2012-05-16 12:40:07 +01:00
Nicolas Dufresne
c2f52f8154
video: Key unit event properties are optional
...
https://bugzilla.gnome.org/show_bug.cgi?id=675758
2012-05-10 16:08:58 +02:00
Sebastian Rasmussen
b7b123964b
gst-libs: make pkg-config get path to pkg-config dirs from configure
...
When --with-pkg-config-path is supplied to configure this path is now
explicitly propagated to pkg-config.
https://bugzilla.gnome.org/show_bug.cgi?id=673377
2012-05-05 23:26:20 +01:00
Sebastian Dröge
ecd061e48c
videodecoder: Also change gst_video_decoder_get_oldest_frame() to return a new reference
2012-05-01 16:59:10 +02:00
Edward Hervey
4d7cd2e638
videoencoder: _get_oldest_frame: return a reference
2012-05-01 16:59:06 +02:00
Edward Hervey
67a4c0c7b2
videoencoder: Add a reference to frame passed to subclass
...
We have one reference owned by the internal frame list and one reference
passed to the subclass.
2012-05-01 16:59:00 +02:00
Edward Hervey
8217575af1
videodecoder: Add a reference to frame passed to subclass
...
We have one reference owned by the internal frame list and one reference
passed to the subclass.
2012-05-01 16:58:55 +02:00
Wim Taymans
34bfcb2af9
videodecoder: don't leak events
...
When need to push out all the previously received events, concatenate all the
events from the previous frames (instead of leaking the old ones)
Improve debugging a little
Conflicts:
gst-libs/gst/video/gstvideodecoder.c
2012-05-01 16:58:48 +02:00
Wim Taymans
8fde7850c0
videodecoder: don't leak frames
...
Frames receive a refcount when added to the frames list so release that refcount
in gst_video_decoder_do_finish_frame(). Also release the ref on the frame
because gst_video_decoder_do_finish_frame() takes ownership of the passed frame.
2012-05-01 15:03:40 +02:00
Wim Taymans
e8c7f57a0a
videodecoder: avoid double unlock
2012-05-01 15:03:21 +02:00
Sebastian Dröge
52dfa13522
videofilter: Use a GstVideoBufferPool if none was provided
2012-05-01 13:33:20 +02:00
Sebastian Dröge
cb04d8e003
videodecoder: Do bufferpool configuration inside the default decide_allocation() implementation
...
This allows subclasses to override it, as is necessary for e.g. the
video-crop meta. It is now necessary that after decide_allocation()
there is always a allocator and a configured buffer pool inside the
query.
2012-05-01 13:33:20 +02:00
Sebastian Dröge
f9facc6a4a
video: Remove interlaced handling from the video base classes
...
This must be handled by the subclasses in 0.11 because interlacing
is much more complex now and can't be handled in a generic way.
2012-04-25 18:21:03 +02:00
Wim Taymans
ae42b25c07
video: improve docs and design of multiview interlaced
...
Put fields of interlaced frames after eachother.
Improve the docs of the video interlaced enums.
2012-04-25 15:27:04 +02:00
Wim Taymans
07d34f576a
video: add fields interlacing enum
...
Add an enum and docs for the fields interlace mode.
Improve the video caps docs for the fields interlace mode.
2012-04-25 14:57:40 +02:00
Wim Taymans
777d044357
videodec: remove some FIXMEs
2012-04-25 14:57:40 +02:00
Sebastian Dröge
bcef106f73
video: Fix latency query handling if the element's own max_latency is GST_CLOCK_TIME_NONE
2012-04-25 13:53:29 +02:00
Sebastian Dröge
71900c4342
video: Only use the interlacing buffer flags if the caps specify interlaced video
2012-04-25 13:46:00 +02:00
Sebastian Dröge
47e169b0b5
videoencoder: Proxy the interlaced buffer flags to the GstVideoCodecFrame
2012-04-25 13:44:30 +02:00
Sebastian Dröge
76f47979c1
videoencoder: Don't propose video-meta by default
2012-04-25 13:19:11 +02:00
Sebastian Dröge
7c165187af
videodecoder: Change configure_buffer_pool() vfunc to decide_allocation() with same semantics as in basetransform
2012-04-25 13:19:11 +02:00
Sebastian Dröge
3de8d58c4e
videoencoder: Add support for subclasses to propose allocation parameters
2012-04-24 22:42:59 +02:00
Sebastian Dröge
1483997207
videodecoder: Add support for subclasses to configure the buffer pool
2012-04-24 22:35:29 +02:00
Sebastian Dröge
a8c40a658c
video: Some porting bugfixes
2012-04-24 21:32:08 +02:00
Sebastian Dröge
b945c01549
videodecoder: Add minimal support for buffer pools
2012-04-24 20:04:48 +02:00
Sebastian Dröge
63563e3d5e
videodecoder: Require to chain up to the parent classes event functions
2012-04-24 19:51:30 +02:00
Sebastian Dröge
13b88908ce
videoencoder: Require to chain up to the parent's sink event functions
2012-04-24 19:47:22 +02:00
Sebastian Dröge
f7bc9cc5ba
video: Initial port of video base classes and related things to 0.11
2012-04-24 19:35:24 +02:00
Sebastian Dröge
3ab5be1cff
video: Remove custom marshallers
2012-04-24 18:16:27 +02:00
Sebastian Dröge
a0e3a9e32d
Merge remote-tracking branch 'origin/0.10'
...
Video base classes and theora plugin still needs to be ported again
Conflicts:
docs/libs/gst-plugins-base-libs-docs.sgml
docs/libs/gst-plugins-base-libs-sections.txt
docs/libs/gst-plugins-base-libs.types
ext/theora/gsttheoradec.c
ext/theora/gsttheoradec.h
ext/theora/gsttheoraenc.c
ext/theora/gsttheoraenc.h
gst-libs/gst/video/Makefile.am
gst-libs/gst/video/video.c
gst-libs/gst/video/video.h
gst/playback/gsturidecodebin.c
tests/check/libs/video.c
tests/check/pipelines/theoraenc.c
win32/common/libgstvideo.def
2012-04-24 18:14:31 +02:00
Edward Hervey
4f1e7eec40
video: Fix gst_video_info_to_caps
...
And use the 0.10 caps style
2012-04-24 17:03:40 +02:00
Edward Hervey
a744c98985
videodecoder: Detect buffers inputted with DTS
...
Some container formats (like AVI) set DTS on the buffers instead of
PTS.
We detect this by:
* detecting if input timestamps are non-increasing
* detecting if the order the frames come out is the same as the order
they were inputted (meaning the implementation is reordering frames).
If the decoder reorders frames, but input buffer timestamps were not
reordered, that means the buffers has DTS and not PTS as their timestamp.
If this is the case, we use set the PTS of the outgoing frames in the
same order as they were given to the decoder.
This fixes the issue for any decoder using this base class (yay).
2012-04-24 17:03:40 +02:00
Edward Hervey
f6cfd763e4
video: Base classes for video decoders and encoders
2012-04-24 17:03:40 +02:00
Edward Hervey
a22545134d
video: Add gst_video_info_is_equal
2012-04-24 10:44:44 +02:00
Edward Hervey
0a7d047b1f
video: Add GST_VIDEO_FORMAT_ENCODED
2012-04-24 10:44:44 +02:00
Edward Hervey
8f00d76c97
video: Backport GstVideoInfo/GstVideoFormatInfo from 0.11
2012-04-24 10:44:44 +02:00
Wim Taymans
04a2610444
video: improve frame_flags
...
Rename the frame_flags to flags. Because they are flags on the frame object it
does not need the redundant frame_ prefix.
Change the order of the metadata constructor so that the flags come before the
format and dimension arguments.
2012-04-19 14:14:35 +02:00
Sebastian Dröge
91ffe7dd5e
video: Clean up interlaced flags and enums
...
There's a new GstVideoFrameFlags enum now that contains the frame
specific flags only. GstVideoFlags does not contain the TFF/TFF/ONEFIELD
flags anymore because these are strictly frame specific.
Also add fallback to parse these fields from the GstBufferFlags in
gst_video_frame_map() if there's no GstVideoMeta attached to the buffer.
2012-04-19 12:30:57 +02:00
Wim Taymans
66615a8a6a
videofilter: shortcut transform_ip when not set
...
We can ask the base class to not call our transform_ip method when the subclass
didn't provide an in-place transform function.
2012-04-14 11:26:28 +02:00
Víctor Manuel Jáquez Leal
3f3dceb675
videopool: fix mem leak
...
When setting its config, the pool increase the ref count of the allocator, but
at finalize the ref count is also increased rather than decreased.
This one-liner patch changes the gst_allocator_ref() for gst_allocator_unref()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674011
2012-04-14 10:36:02 +02:00
Sebastian Dröge
69b18ab09d
gst-libs: Remove interfaces libs and mixer/tuner interfaces
...
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Sebastian Dröge
65307dd132
gst: Update versioning
2012-04-04 14:55:15 +02:00
Wim Taymans
ac9a8781ba
video: fix macros
2012-04-02 12:25:30 +02:00
Wim Taymans
1d60bd12e5
videometa: use new buffer methods when mapping memory
...
Use _find_memory and _map_range to simplify, improve and optimize the
memory mapping of video frames.
2012-04-01 18:04:10 +02:00
Wim Taymans
6f8347de9f
videofilter: don't map writable in passthrough
...
In passthrough mode we shouldn't map the buffer in write mode because the buffer
might not be writable.
2012-04-01 18:01:15 +02:00
Edward Hervey
32c617c867
video: Fix 'comparison of unsigned enum expression < 0 is always false' compiler warning
2012-03-30 12:05:51 +02:00
Sebastian Dröge
9e13d70b2c
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
gst-libs/gst/video/video-overlay-composition.c
tests/check/libs/video.c
2012-03-29 15:00:22 +02:00
Wim Taymans
18fe3ed9fa
videopool: avoid caps copy
...
Now that the caps from the bufferpool are not returned as const we
can take a ref instead of doing a copy.
2012-03-27 15:44:59 +02:00
Wim Taymans
c6f55538e3
video: keep the buffer reffed in the videoframe
...
This would also ensure that the buffer is not writable while mapped.
2012-03-27 15:01:01 +02:00
Wim Taymans
bee3d7b683
update for get_param changes
...
Remove the const from the GstCaps.
Fix some GstStructure leaks.
2012-03-27 12:44:02 +02:00
Mark Nauwelaerts
6c260d732c
video: remove bogus define
2012-03-26 18:13:13 +02:00
Tim-Philipp Müller
3242f55861
test: fix leak in video overlay composition unit test
...
gst_buffer_set_qdata() will leak the structure passed to it
when called incorrectly (e.g. on a non-metadata-writable buffer).
This is expected, but we must avoid doing that in valgrind.
2012-03-25 13:35:23 +01:00
Tim-Philipp Müller
35a17ac152
video: overlay-composition: blending micro-optimisation
2012-03-25 11:33:04 +01:00
Tim-Philipp Müller
79953f27a8
video: overlay-composition: try to avoid floating point maths in inner loop
...
Try to avoid floating point maths for each pixel to be blended in
inner loop, and try to avoid the multiplication entirely for the
most common case of the global alpha being 1. Could probably be
refactored a bit more.
2012-03-25 11:31:31 +01:00
Tim-Philipp Müller
32679e1826
video: overlay-composition: some minor clean-ups
...
extract_alpha and apply_global alpha always return TRUE really,
so just do away with the return value. Convert a g_return_if_fail()
into a g_assert(), since this is only to check internal consistency
and not a guard for public API. Add some locking.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-25 11:27:24 +01:00
Holger Kaelberer
76c0881549
video: overlay-composition: add support for global alpha multiplicator
...
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-25 11:27:24 +01:00
Wim Taymans
32bd12dba9
Merge branch 'master' into 0.11
...
Conflicts:
.gitignore
common
configure.ac
ext/vorbis/gstvorbisdeclib.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/riff/riff-read.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
tests/check/libs/video.c
2012-03-22 11:35:13 +01:00
Mark Nauwelaerts
d455b29db4
video: fix assertion comparison mishap
2012-03-20 11:22:29 +01:00
Wim Taymans
e620dbc57d
video: add function to copy one video plane
2012-03-19 12:26:11 +01:00
Wim Taymans
1e884df1df
update for bufferpool changes
2012-03-15 22:10:58 +01:00
Wim Taymans
7c0e2b5b1e
update for allocation query changes
2012-03-15 20:36:51 +01:00
Wim Taymans
02dc419aae
update for bufferpool api change
2012-03-15 14:06:24 +01:00
Wim Taymans
df5253b22c
update for memory api changes
2012-03-15 13:32:08 +01:00
Wim Taymans
28034226c6
update for memory api changes
2012-03-14 21:35:45 +01:00
Wim Taymans
39d78762b9
take padding into account
2012-03-14 19:56:51 +01:00
Tim-Philipp Müller
2c4b379470
video: overlay-composition: fix alpha premultiply and unpremultiply
...
Fix component offsets for little endian systems.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
027f5bb471
video: overlay-composition: fix rectangle caching after alpha (un)premultiplying
...
If we are asked to (un)premultiply,we need to create the new rectangle
with the right flags, so we can find it properly on subsequent cache
lookups (also because it's wrong otherwise).
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
7a21d1eb32
video: overlay-composition: fix crash when doing premultiplied<->unpremultiplied alpha conversion
...
We need to copy the pixels before messing with them, not least
because the buffer creation code below assumes it's ok to take
ownership.
Fixes crash caused by double-free.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
6b7f25a2f0
video: overlay-composition: check the right flags when searching for a cached rectangle
...
Compare the flags of the *cached* rectangle to the desired flags when
checking for a suitable rectangle in the cache.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:37 +00:00
Wim Taymans
781f9474ea
videometa: also copy map/unmap functions
2012-03-13 20:17:55 +01:00
Tim-Philipp Müller
29c266ccff
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
common
docs/libs/gst-plugins-base-libs.types
ext/pango/gsttextoverlay.c
ext/vorbis/gstvorbisdec.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
sys/ximage/ximagesink.c
sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Wim Taymans
8ebd13ee5e
videopool: only do alignment when videometa is enabled
...
We require the videometa activated before we can implement the alignment of
buffers. Users of the bufferpool should do this manually based on the results of
the allocation query.
2012-03-08 13:03:22 +01:00
Wim Taymans
4da57f08a1
videometa: make video metatransform
...
Make more generic video meta transform data that can be used for many video
transformations later.
2012-03-06 12:52:01 +01:00
Sebastian Dröge
1af6f94d84
video-blend: Actually allow negative offsets in the function signature too
2012-03-06 12:42:03 +01:00
Wim Taymans
1ede067d27
videofilter: always chain up to parent propose_allocation
2012-03-02 17:34:50 +01:00
Wim Taymans
337eed6e91
videometa: add videoscale metadata transform
2012-03-02 13:11:36 +01:00
Sebastian Dröge
84a02f9f13
Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base into 0.11
2012-03-02 10:13:52 +01:00
Sebastian Dröge
f7939bb43f
Merge branch 'master' into 0.11
...
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gst-plugins-base-plugins.args
docs/plugins/gst-plugins-base-plugins.hierarchy
docs/plugins/gst-plugins-base-plugins.interfaces
docs/plugins/inspect/plugin-adder.xml
docs/plugins/inspect/plugin-alsa.xml
docs/plugins/inspect/plugin-app.xml
docs/plugins/inspect/plugin-audioconvert.xml
docs/plugins/inspect/plugin-audiorate.xml
docs/plugins/inspect/plugin-audioresample.xml
docs/plugins/inspect/plugin-audiotestsrc.xml
docs/plugins/inspect/plugin-cdparanoia.xml
docs/plugins/inspect/plugin-encoding.xml
docs/plugins/inspect/plugin-ffmpegcolorspace.xml
docs/plugins/inspect/plugin-gdp.xml
docs/plugins/inspect/plugin-gio.xml
docs/plugins/inspect/plugin-gnomevfs.xml
docs/plugins/inspect/plugin-libvisual.xml
docs/plugins/inspect/plugin-ogg.xml
docs/plugins/inspect/plugin-pango.xml
docs/plugins/inspect/plugin-playback.xml
docs/plugins/inspect/plugin-subparse.xml
docs/plugins/inspect/plugin-tcp.xml
docs/plugins/inspect/plugin-theora.xml
docs/plugins/inspect/plugin-typefindfunctions.xml
docs/plugins/inspect/plugin-uridecodebin.xml
docs/plugins/inspect/plugin-videorate.xml
docs/plugins/inspect/plugin-videoscale.xml
docs/plugins/inspect/plugin-videotestsrc.xml
docs/plugins/inspect/plugin-volume.xml
docs/plugins/inspect/plugin-vorbis.xml
docs/plugins/inspect/plugin-ximagesink.xml
docs/plugins/inspect/plugin-xvimagesink.xml
gst-libs/gst/app/gstappsink.c
gst-libs/gst/audio/mixer.c
gst-libs/gst/audio/mixer.h
gst-libs/gst/tag/gstxmptag.c
gst-libs/gst/video/colorbalance.c
gst-libs/gst/video/colorbalance.h
gst/adder/gstadder.c
gst/playback/gstplaybasebin.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysink.c
gst/videoscale/gstvideoscale.c
tests/check/elements/videoscale.c
tests/examples/seek/seek.c
tests/examples/v4l/probe.c
win32/common/_stdint.h
win32/common/audio-enumtypes.c
win32/common/config.h
2012-03-02 10:00:55 +01:00
Wim Taymans
91c587af22
videofilter: fix for decide_allocation changes
...
Chain up to parent.
2012-03-01 17:34:56 +01:00
Wim Taymans
502c12f827
update for metadata API changes
2012-02-29 17:25:10 +01:00
Wim Taymans
a232714065
meta: add return value to transform
2012-02-28 16:18:30 +01:00
Wim Taymans
af308ac04d
videofilter: fix some comments
2012-02-28 16:16:22 +01:00
Wim Taymans
1c05eeece5
update for metadata tags
2012-02-28 12:10:14 +01:00
Alessandro Decina
9f1732fba7
Fix compiler warnings
2012-02-26 20:36:46 +01:00
Wim Taymans
525f330142
update for metadata changes
2012-02-24 10:26:04 +01:00
Wim Taymans
06ccd80811
video: fix docs
2012-02-23 16:55:11 +01:00
Wim Taymans
e32e8f6c52
video: Improve video frame map/unmap
...
Install defaul map/unmap function on the metadata and really call the functions
instead of always calling a default implementation.
Rework some bits so that we don't have to mess with the GstMapInfo information
(adding the offset), instead pass the adjusted data pointer from the map function.
2012-02-23 16:50:28 +01:00
Wim Taymans
f552d8f0c0
videopool: fix docs
2012-02-23 16:16:37 +01:00
Wim Taymans
18e45a8a5f
videofilter: improve propose_allocation
...
When we are in passthrough, call the parent implementation. Otherwise we have to
suggest allocation parameters ourselves.
2012-02-22 15:27:59 +01:00
Wim Taymans
6c51a80f6f
videometa: adjust for memory api change
2012-02-13 18:12:01 +01:00
Wim Taymans
e615e4c2cf
video: add performance log for frame copy
2012-02-09 16:03:35 +01:00
Wim Taymans
f31d5d7505
debug: add some performance debug
2012-02-09 15:28:54 +01:00
Wim Taymans
bfa00d0996
video: mark endianness correctly
2012-02-06 18:33:59 +01:00
Wim Taymans
0c5755730b
videofilter: take care of in_place transform
...
If the subclass doesn't implement a transform_frame function we need to force
the baseclass into in_place transform.
2012-02-06 13:23:25 +01:00
Mark Nauwelaerts
fa63d7181d
video: add GST_VIDEO_INFO_COMP_BITS
2012-02-06 10:52:01 +01:00
Sebastian Dröge
103c59af24
video: Add GST_VIDEO_INFO_COMP_WIDTH
2012-02-06 09:53:22 +01:00
George Kiagiadakis
1251fb3fc0
video: Use host endianness when generating caps for 16-bit rgb formats
...
This is necessary in order to match what the caps strings in
video.h contain for 16-bit rgb formats and also to match how
gst_video_format_parse_caps expects them.
https://bugzilla.gnome.org/show_bug.cgi?id=667681
2012-01-30 15:56:44 +00:00
Wim Taymans
fa400c372b
videopool: update for allocator api update
2012-01-30 13:10:40 +01:00
Wim Taymans
fcdc385aa1
port to new map API
2012-01-25 12:30:53 +01:00
Wim Taymans
5872bcc33a
Update for memory API changes
2012-01-19 12:15:18 +01:00
Tim-Philipp Müller
576bbb4fd8
Remove compatibility code cruft for old GLib versions
2012-01-18 17:22:21 +00:00
Matej Knopp
5c91ca3256
videopool: fix printf warning in debug message
...
https://bugzilla.gnome.org/show_bug.cgi?id=662607
2012-01-15 13:58:24 +00:00
Tim-Philipp Müller
0461ed2ada
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/pbutils/gstdiscoverer-types.c
gst-libs/gst/pbutils/gstdiscoverer.c
tests/check/Makefile.am
2012-01-12 23:21:17 +00:00
Reynaldo H. Verdejo Pinochet
1a8ee4536c
Add missing DEFAULT_INCLUDES on androgenizer call
...
Fix building of the libgstvideo module on Android by adding the
missing and needed $(DEFAULT_INCLUDES) to CFLAGS for the
androgenizer call on gst-libs/gst/video/Makefile.am
Before this change, building was failing due to gst-plugins-base/
and gst-plugins-base/gst-libs/gst/video being left out of the
include path.
2012-01-11 21:04:40 -03:00
Sebastian Dröge
dc8984d76c
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/app/gstappsrc.c
gst-libs/gst/audio/multichannel.h
gst-libs/gst/video/videooverlay.c
gst/playback/gstplaysink.c
gst/playback/gststreamsynchronizer.c
tests/check/Makefile.am
win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Vincent Penquerc'h
5cf87eedc4
video: overlays may now have premultiplied alpha
...
https://bugzilla.gnome.org/show_bug.cgi?id=666177
2012-01-06 10:19:19 +00:00
Wim Taymans
21ed12739e
video: add macro to check interlaced
...
Add a convenience macro to check if the video is interlaced.
2012-01-03 10:41:51 +01:00
Wim Taymans
2f3cf3a7ee
videofilter: use caps of the allocation query
...
Use the caps from the allocation query to propose a video bufferpool instead of
our own negotiated caps.
2012-01-02 16:13:51 +01:00
Wim Taymans
21bf4f04f3
video: fix some video formats
...
Rename the offset field in GstVideoFormatInfo to poffset to avoid confusion with
the offset of the plane in the buffer. The poffset is the offset in the plane
where the first byte of the component data can be found.
Properly implement the COMP_OFFSET calculations.
Fix YV12 and YVU9, simply use the same offsets as the regular I420 and YUV9
variants, we use the plane info to reorder components already.
Improve the unit test.
2012-01-02 13:30:53 +01:00
Tim-Philipp Müller
942fec2031
video: add some padding to GstVideoFilter
2011-12-30 19:27:16 +00:00
Tim-Philipp Müller
d877ef13f5
docs: make gtk-doc happier
2011-12-30 19:24:09 +00:00
Edward Hervey
f562a29284
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
gst-libs/gst/tag/gstexiftag.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/playback/gstdecodebin2.c
gst/playback/gstsubtitleoverlay.c
tests/check/libs/tag.c
2011-12-30 13:21:35 +01:00
Wim Taymans
8d93f8edb3
videopool: add support for custom allocators
2011-12-28 15:35:52 +01:00
Wim Taymans
a5f3d21723
videofilter: improve video filter
...
Flesh out the video filter base class. Make it parse the input and output caps
and turn them into GstVideoInfo. Map buffers as video frames and pass them to
the transform functions.
This allows us to also implement the propose and decide_allocation vmethods.
Implement the transform size method as well.
Update subclasses with the new improvements.
2011-12-21 23:46:53 +01:00
Wim Taymans
f50573fd66
videopool: add videopool implementation
...
Add a GstVideoPool object that can be used to allocate video frames with support
for metadata and alignment.
Add method to reset alignment info.
2011-12-21 18:13:17 +01:00
Wim Taymans
ddc05e0ed1
propertyprobe: remove propertyprobe
...
Remove the propertyprobe interface
Improve docs
2011-12-21 11:58:53 +01:00
Vincent Penquerc'h
ceeff69bc1
gstvideo: fix a RGB ordering mixup in colorspace conversion code
2011-12-20 19:55:53 +00:00
Wim Taymans
6241ff63f8
video: update interlace caps and docs
...
Remove interlaced boolean from caps and replace with an interlace-mode enum.
document this new property in the video caps document. With the enum we can
put fields into separate video meta.
Add enum for this interlace-mode in the VideoInfo.
Update the buffer flags.
2011-12-19 18:03:45 +01:00
Tim-Philipp Müller
fb6d09055a
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/alsa/gstalsadeviceprobe.c
ext/alsa/gstalsamixer.c
ext/pango/gsttextoverlay.c
ext/pango/gsttextoverlay.h
gst-libs/gst/audio/gstaudiobasesink.c
gst-libs/gst/audio/gstaudioringbuffer.c
gst-libs/gst/audio/gstaudiosrc.c
gst-libs/gst/video/Makefile.am
gst-libs/gst/video/video.c
gst/encoding/gststreamcombiner.c
gst/encoding/gststreamsplitter.c
gst/playback/gstplaybasebin.c
gst/playback/gststreamsynchronizer.c
gst/playback/gstsubtitleoverlay.c
gst/playback/gsturidecodebin.c
sys/xvimage/xvimagesink.c
tests/examples/Makefile.am
win32/common/libgstvideo.def
Video overlay composition disabled for now, needs
porting to buffer meta.
2011-12-08 01:19:03 +00:00
Tim-Philipp Müller
91bbfbd819
video: make composition_blend() return a boolean
...
Not that anyone will ever check that, and it's not clear what
they're supposed to do if it fails, but at least it's there.
2011-12-07 18:45:28 +00:00
Tim-Philipp Müller
6757afc0bc
docs: add new API to docs
2011-12-07 18:38:06 +00:00
Tim-Philipp Müller
5037b39883
video: add seqnum getters for overlay compositions and rectangles
...
API: gst_video_overlay_composition_get_seqnum()
API: gst_video_overlay_rectangle_get_seqnum()
2011-12-07 17:57:08 +00:00
Thibault Saunier
39c5015ed0
video: support any type of video in _parse_caps
...
Slight change in semantics for convenience. Shouldn't cause any
problems since this function is usually only used on pre-filtered
caps and not random caps, and it's hard to imagine a situation
where someone would want to rely on the previous behaviour.
2011-12-07 15:51:14 +00:00
Tim-Philipp Müller
61d0ab1faa
video: fix leak in gst_video_format_new_template_caps()
...
g_value_reset() is not the same as g_value_unset()
2011-12-06 14:55:54 +00:00
Tim-Philipp Müller
7d20a7bdb9
video: don't use deprecated GStaticMutex with newer glib versions
2011-12-05 15:48:07 +00:00
Tim-Philipp Müller
6630236af4
video: add video overlay composition API for subtitles
...
Basic API to attach overlay rectangles to buffers,
or blend them directly onto raw video buffers.
To be used primarily for things like subtitles or
logo overlays, not meant to replace videomixer.
Allows us to associate subtitle overlays with
non-raw video surface buffers, so that subtitles
are not lost and can instead be rendered later
when those surfaces are displayed or converted,
whilst re-using all the existing overlay plugins
and not having to teach them about our special
video surfaces. Could also have been made part
of the surface buffer abstraction of course, but
a secondary goal was to consolidate the blending
code for raw video into libgstvideo, and this
kind of API allows us to do both in a way that's
minimally invasive to existing elements, and at
the same time is fairly intuitive.
More features and extensions like the ability to
pass the source data or text/markup directly will
be added later.
https://bugzilla.gnome.org/show_bug.cgi?id=665080
API: gst_video_buffer_get_overlay_composition()
API: gst_video_buffer_set_overlay_composition()
API: gst_video_overlay_composition_new()
API: gst_video_overlay_composition_add_rectangle()
API: gst_video_overlay_composition_n_rectangles()
API: gst_video_overlay_composition_get_rectangle()
API: gst_video_overlay_composition_make_writable()
API: gst_video_overlay_composition_copy()
API: gst_video_overlay_composition_ref()
API: gst_video_overlay_composition_unref()
API: gst_video_overlay_composition_blend()
API: gst_video_overlay_rectangle_new_argb()
API: gst_video_overlay_rectangle_get_pixels_argb()
API: gst_video_overlay_rectangle_get_pixels_unscaled_argb()
API: gst_video_overlay_rectangle_get_render_rectangle()
API: gst_video_overlay_rectangle_set_render_rectangle()
API: gst_video_overlay_rectangle_copy()
API: gst_video_overlay_rectangle_ref()
API: gst_video_overlay_rectangle_unref()
2011-12-05 15:37:02 +00:00
Tim-Philipp Müller
a7a3f969b3
video: hide private video-blend.[ch] from gobject-introspection
...
And remove unused fields from helper structure.
2011-12-05 15:37:02 +00:00
Tim-Philipp Müller
b0ff1d22e9
video: add fallbacks for compilation without orc
2011-12-05 15:36:56 +00:00
Thibault Saunier
80054a3b1e
video: add some internal helper functions for image blending
...
This could be improved if we decide we don't need it to
be this generic/flexible.
2011-12-05 15:03:47 +00:00
Tim-Philipp Müller
0d98aa25b8
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Tim-Philipp Müller
177525f89f
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/netbuffer/gstnetbuffer.c
gst/ffmpegcolorspace/avcodec.h
gst/ffmpegcolorspace/gstffmpegcodecmap.c
gst/ffmpegcolorspace/imgconvert.c
gst/ffmpegcolorspace/imgconvert_template.h
gst/ffmpegcolorspace/mem.c
gst/playback/README
gst/playback/gstplaybasebin.c
gst/playback/gstplaybasebin.h
gst/playback/gstplaybin.c
sys/v4l/v4lmjpegsrc_calls.c
sys/v4l/videodev_mjpeg.h
tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Tim-Philipp Müller
ec0d3566bf
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/alsa/gstalsasrc.c
ext/alsa/gstalsasrc.h
gst/adder/gstadder.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysinkconvertbin.c
win32/common/libgstvideo.def
2011-12-02 00:07:39 +00:00
Wim Taymans
59113af604
Use the new GstSample for snapshots
...
Make appsink return a GstSample. Remove the pull_buffer_list method because it
is not very useful anymore.
Pass GstSample to the conversion function.
Update playbin2 and examples
2011-12-01 16:53:11 +01:00
Wim Taymans
92ac25bdb3
videometa: add copy functions
...
Without copy functions, the metadata is lost when we make a buffer copy such as
when we make a buffer writable.
2011-12-01 15:45:28 +01:00
Edward Hervey
5bc6ffcd8b
video: Don't forget to install moved header files
2011-11-29 19:49:50 +01:00
Wim Taymans
871b306fce
video: move some interfaces
...
Move some interfaces to the video library
2011-11-29 19:10:01 +01:00
Alessandro Decina
848711706b
libgstvideo: minor fixes to key unit events
...
Make out args to gst_video_event_parse_{downstream|upstream}_force_key_unit
optional, update libgstvideo.def and fix docs a bit.
API: gst_video_event_new_upstream_force_key_unit
API: gst_video_event_new_downstream_force_key_unit
API: gst_video_event_is_force_key_unit
API: gst_video_event_parse_upstream_force_key_unit
API: gst_video_event_parse_downstream_force_key_unit
https://bugzilla.gnome.org/show_bug.cgi?id=607742
2011-11-29 09:15:59 +01:00
Andoni Morales Alastruey
df44e771f1
libgstvideo: Add force key unit events
2011-11-29 08:58:28 +01:00
Vincent Penquerc'h
ea78b060a7
Revert "libgstvideo: add a new API to handle QoS events and dropping logic"
...
This reverts commit eb03323fb6
.
*grumble* I managed to merge something I did not mean to.
2011-11-28 13:26:53 +00:00
Vincent Penquerc'h
eb03323fb6
libgstvideo: add a new API to handle QoS events and dropping logic
...
https://bugzilla.gnome.org/show_bug.cgi?id=658241
2011-11-28 12:34:43 +00:00
Edward Hervey
d94535832b
gst-libs: Add --warn-all to introspection scanner
...
And let's get fixing those docs :)
2011-11-25 10:31:38 +01:00
René Stadler
8023733da8
video: init chroma-size and colorimetry members even if missing from caps
...
This makes a TRUE return from gst_video_info_from_caps fully consistent with
gst_video_info_init.
2011-11-11 19:57:25 +01:00
Wim Taymans
06a6ab3e32
video: add support for max-framerate
...
Add support for max-framerate in the video helpers and update the video
caps document.
2011-11-11 13:14:21 +01:00
Wim Taymans
b14e3b9adc
remove bogus file
2011-11-11 12:35:50 +01:00
Wim Taymans
fe766cf9f4
videosink: reset padding
2011-11-10 17:52:36 +01:00
Stefan Sauer
e9629e37b7
video: log important details and fix format strings
...
If we complain about wrong parameters passed, also log the actual value.
2011-11-08 09:32:00 +01:00
Tim-Philipp Müller
d7fc45f42e
docs: fix up some Since: markers
2011-11-07 23:05:44 +00:00
Edward Hervey
dfc9d1658d
video: Add convenience macros for accessing GstVideoInfo flags
2011-11-02 11:24:33 +01:00
Wim Taymans
e067e67923
rename meta* -> *meta
2011-11-02 09:04:27 +01:00
René Stadler
372cf41a6d
audio, video: init audio/video format info to UNKNOWN format
...
This is to prevent e.g. GST_AUDIO_INFO_FORMAT() from crashing on a NULL pointer
dereference when used with an unset info.
2011-10-28 11:24:00 +02:00
Thiago Santos
123671bc05
libs: video: Add protection against null strings
...
Check and assert if input for gst_video_format_from_string is null.
Return GST_VIDEO_FORMAT_UNKNOWN as a fallback
2011-10-09 17:05:15 -03:00
Wim Taymans
8778cff7f0
video: add h264 transfer functions
2011-10-03 10:02:43 +02:00
Wim Taymans
67f1a097bf
video: add another color matrix for mpeg2
2011-09-30 11:04:19 +02:00
Wim Taymans
9592796d8a
video: fix docs
2011-09-30 11:04:19 +02:00
Wim Taymans
4bf9022e0c
docs: improve docs
2011-09-27 11:19:24 +02:00
Wim Taymans
f04b8fd8af
audio/video add descriptions
...
Add a description to the audio and video format info in case we want to use this
later.
2011-09-06 16:46:48 +02:00
Wim Taymans
7012e88090
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/gstaudiodecoder.c
gst-libs/gst/audio/gstaudiodecoder.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudioencoder.h
gst/playback/Makefile.am
gst/playback/gstplaybin.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
gst/videoscale/gstvideoscale.c
win32/common/libgstaudio.def
2011-09-06 15:24:32 +02:00
Wim Taymans
2f2aa4ac32
video: improve docs a little
2011-08-31 13:32:21 +02:00
Wim Taymans
de4aeab544
video: add some more macros
2011-08-30 14:04:54 +02:00
Edward Hervey
d0eb0ed058
video: Fix typo in interlaced flag (TTF => TFF)
2011-08-25 17:41:11 +02:00
Wim Taymans
b79ddf66d2
video: clean up the custom flags
...
Clean up the flags, make an enum of them. We can now do this because there are
no subclasses of buffer anymore.
2011-08-25 16:42:08 +02:00
Wim Taymans
7e97391195
convert: use new caps
2011-08-25 16:30:49 +02:00
Wim Taymans
24ea19935f
audio/video: add format of the pack functions
...
Replace the unpack_size with an unpack_format, which is more descriptive of the
kind of data the unpack function will create.
2011-08-24 16:40:43 +02:00
Wim Taymans
1bb83435fd
video: Add an id to the video frame
...
Rename @view_id to @id.
Add an id to the video metadata. Add a method to get the metadata from a buffer
with the given id.
Make a method to map a frame with a certain id. This only maps the frame with
the given id on the video metadata. The generic frame id can be used when a
buffer carries multiple video frames such as in multiview mode but maybe also
when dealing with interlaced video that stores the fields in separate buffers.
2011-08-24 13:52:20 +02:00
Wim Taymans
e78b66f5a3
video: fix chroma-site enums
2011-08-23 20:34:24 +02:00
Wim Taymans
14ad322e8b
video: avoid gst-indent breaking the code
2011-08-23 19:23:03 +02:00
Wim Taymans
76c4bef932
video: fix docs
2011-08-23 19:04:34 +02:00
Wim Taymans
9ad89374a3
video: add colorimetry info
...
Make enums for the chroma siting for easier use in the videoinfo.
Make enums for the color range, color matrix, transfer function and the
color primaries. Add these values to the video info structure in a Colorimetry
structure. These values define the exact colors and are needed to perform
correct colorspace conversion. Use a couple of predefined colorimetry specs
because in practice only a few combinations are in use.
Add view_id to the video frames to identify the view this frame represents in
multiview video.
Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
Port elements to new colorimetry info.
Remove deprecated colorspace property from videotestsrc.
2011-08-23 18:57:35 +02:00
Wim Taymans
00a30b5cfd
video: parse number of views
...
Parse the number of views in multiview video buffers.
2011-08-22 15:57:30 +02:00
Wim Taymans
3fab57b5cf
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/interfaces/videooverlay.c
gst-libs/gst/rtp/gstrtpbuffer.c
po/af.po
po/az.po
po/bg.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/es.po
po/eu.po
po/fi.po
po/fr.po
po/gl.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/lt.po
po/lv.po
po/nb.po
po/nl.po
po/or.po
po/pl.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/sq.po
po/sr.po
po/sv.po
po/tr.po
po/uk.po
po/vi.po
po/zh_CN.po
2011-08-22 13:06:27 +02:00
Wim Taymans
c81c62d03a
fourcc: remove fourcc
...
Remove fourcc in caps.
Fix pbutils descriptions.
Add more video macros
Fix some unit test
2011-08-22 12:22:02 +02:00
Stefan Kost
54c15acd11
docs: fix xref for the property
2011-08-20 19:46:31 +02:00
Stefan Kost
01bbdd6bdf
docs: handle warnings emitted by gtk-doc
...
This is useful and in most cases someone had put arbitrary markup into the docs,
misspelled xref'ed symbols, forgot to add stuff to the docs etc..
2011-08-20 19:16:42 +02:00
Wim Taymans
dae848818d
audio: rework audio caps.
...
Rework the audio caps similar to the video caps. Remove
width/depth/endianness/signed fields and replace with a simple string
format and media type audio/x-raw.
Create a GstAudioInfo and some helper methods to parse caps.
Remove duplicate code from the ringbuffer and replace with audio info.
Use AudioInfo in the base audio filter class.
Port elements to new API.
2011-08-18 19:15:03 +02:00
Wim Taymans
ba1ca45eda
video: add some more macros
2011-08-17 17:18:02 +02:00
Josep Torra
5629ed74b3
Fix debug statements
...
Fixes build on MacOSX
Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:15:41 +02:00
Wim Taymans
26c9db9280
video: improve debug
2011-08-04 15:18:03 +02:00
Wim Taymans
6b8617271c
video: ensure sign in scale function
2011-08-01 16:50:28 +02:00
Wim Taymans
d634b3e6d9
videopool: add implementation
...
Rename very long structure name to GstVideoAlignment
Add the implementation of the video alignment config setter and getters.
2011-08-01 16:48:46 +02:00
Wim Taymans
cfea7a74fd
videopool: add stuff related to bufferpools
...
Add bufferpool options and extra config parameters.
2011-07-29 17:14:07 +02:00
Wim Taymans
42b49f6b0e
video: add macro to access flags
2011-07-29 12:25:13 +02:00
Tim-Philipp Müller
c39ad574aa
video: make GST_VIDEO_FORMATS_ALL define more readable
...
We don't need all those quotes, strings will be parsed as strings
regardless, and g-i doesn't seem to like all those escaped quotes.
2011-07-28 13:39:14 +01:00
Wim Taymans
37e7d7415e
video: add pack and unpack functions
...
Add pack and unpack function to handle complex formats in the future.
2011-07-25 18:35:01 +02:00
Wim Taymans
68088f7992
video: add more info in the format structure
...
Add a field to describe how many bits are used to pack items.
Specify the shift for each component.
Add some more flags to better describe the format.
2011-07-25 18:08:24 +02:00
Wim Taymans
8ede2683df
metavideo: fix for API change
2011-07-11 18:21:49 +02:00
Mark Nauwelaerts
40aad050e2
video: init video info to some sensible defaults
2011-07-10 21:47:12 +02:00
Wim Taymans
87e06b6808
video: add macros for par and fps
2011-07-10 13:47:35 +02:00
Tim-Philipp Müller
dd56714b14
ffmpegcolorspace -> videoconvert
2011-07-07 23:59:59 +01:00
Wim Taymans
7197af583d
video: update docs
2011-07-05 16:58:04 +02:00
Tim-Philipp Müller
4bf26ba5d2
Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings
2011-07-05 10:07:08 +01:00
Wim Taymans
4340b80f81
video: add macro to get frame size
2011-07-04 18:08:25 +02:00
Wim Taymans
9b259250a1
video: add some more macros
...
Add macros to get the plane and offset of a component.
2011-07-04 16:27:50 +02:00
Wim Taymans
ddce68a5c2
video: More video helper library improvements
...
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Wim Taymans
65d2d56f03
meta: add some docs
2011-06-23 09:55:27 +02:00
Wim Taymans
d68f2d4694
meta: add video crop metadata
2011-06-23 09:30:19 +02:00
Wim Taymans
1d9deae5be
video: add video copy function
...
Add a function to copy a video frame, taking care of source and destination
strides.
2011-06-22 15:25:35 +02:00
Wim Taymans
296630a959
video: use gint to make parsing easier
...
Use gint for with/height etc to make it easier to pass the variables to various
caps and structure parsing functions.
2011-06-21 17:31:17 +02:00
Wim Taymans
6d9e76f2de
video: remove intermediate Plane structure
...
Remove the GstVideoPlane structure and move the fields directly into the
GstVideoInfo structure. This makes things a little easier to read and also makes
it more likely that we can pass the stride array to external libraries.
2011-06-20 11:25:58 +02:00
Wim Taymans
7426f19027
metavideo: small fixes
...
Set the buffer as a field in the metadata so that we can use it to map the
buffer data.
Fix wrong assert.
2011-06-17 17:44:56 +02:00
Wim Taymans
20d8d3050c
video: use metadata to set up strides
...
Use the GstMetaVideo when we can to map the buffers and set up the strides.
2011-06-17 16:47:25 +02:00
Wim Taymans
42abb6672e
video: Add GstVideoFrame helper structure
...
The videoframe structure can be used to easily parse the contents of video
buffers.
2011-06-17 15:41:31 +02:00
Wim Taymans
6a254de438
video: port to new API
...
Add support for palette again.
Rewrite setup code for videoconvert using the new video methods.
2011-06-17 15:39:50 +02:00
Wim Taymans
1aa7ad7dae
video: rework part 2
...
Update docs.
Add method to get number of components.
Implement method to calculate defaults from format and dimensions.
Improve caps parsing.
Implement GstVideoInfo to caps conversion.
2011-06-17 15:37:38 +02:00
Wim Taymans
a7ae8d41aa
video: rework part 1
...
Add GstVideoFlags similar to the flags on the metadata. The idea is to replace
the metadata flags with the GstVideoFlags.
Move VideoPlane to video.h, it contains the information for a plane.
Add GstVideoInfo structure that holds the current configuration of a video
format.
Add methods to parse caps into GstVideoInfo.
2011-06-17 15:33:12 +02:00
Wim Taymans
3b9477e173
video: add methods to parse X11 visuals
...
Add method to convert X11 visual description to GstVideoFormat
2011-06-16 12:52:13 +02:00
Wim Taymans
42fa1010cb
video: update video caps
2011-06-16 12:52:13 +02:00
Wim Taymans
e6f8f7f310
video: fix header after merge
2011-06-02 12:21:28 +02:00
Wim Taymans
f9967e4aac
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/video/video.h
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkvideoconvert.c
tests/check/libs/rtp.c
2011-06-02 12:18:13 +02:00
Tim-Philipp Müller
47614d3106
video: sprinkle some G_GNUC_CONST
...
Mark functions that have no effect besides their return value and
only inspect their input arguments with G_GNUC_CONST. (We just
ignore the g_return_val_if_fail() guards for this)
2011-05-28 12:29:46 +01:00
Tim-Philipp Müller
2699d875bf
video: clean up header file
...
Sprinkle some spaces and newlines here and there.
2011-05-28 12:29:46 +01:00
Wim Taymans
dfcb6580a3
convertframe: fix for merge conflict
2011-05-24 09:55:47 +02:00
Wim Taymans
a87c021237
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/video/convertframe.c
2011-05-24 09:47:15 +02:00
Stefan Kost
ce1369a7e5
docs: add missing parameter docs
2011-05-24 00:12:26 +03:00
Stefan Kost
6bee2cb4ee
docs: add missing documentation for various pieces
2011-05-23 23:56:09 +03:00
Stefan Kost
8db7c1221e
convertframe: fix docs
...
Fixup paramter mismatch between func and prototype. Add missing parameter docs.
2011-05-23 15:21:59 +03:00
Stefan Kost
b91b12b639
whitespace: trim trailing whitespace
2011-05-23 13:53:06 +03:00
Stefan Kost
6e12954c68
video.c: use a break and a final warning instead of early returns
...
Use breaks for case branches instead of return 0. We don't expect these to
happen anyway. Thus have a warning before the final return to make it easier to
see when things go out of sync.
2011-05-23 13:50:59 +03:00
Stefan Kost
40273cf2d3
video.c: use g_assert_not_reached() for logical error here.
...
This will help to detect them closer to the source if they ever happen.
2011-05-23 13:50:09 +03:00
Wim Taymans
489eed9bb8
Merge branch 'master' into 0.11
2011-05-19 11:31:53 +02:00
Robert Swain
ad2010d379
gstvideo: Add gst_video_get_size_from_caps function
...
gst_video_get_size_from_caps () allows easy calculation of the raw video
buffer size from some fixed video caps.
API: gst_video_get_size_from_caps()
2011-05-18 14:13:46 +02:00
Wim Taymans
c81b1b8019
-base: remove metadata (des)serialize functions
2011-05-11 19:12:42 +02:00
Wim Taymans
ec57868488
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Wim Taymans
e7f56a7817
metavideo: add flags and a define for the API
2011-04-29 11:27:46 +02:00
Wim Taymans
6cf9c890c9
metavideo: first attempt at video metadata
...
Add a first version of video metadata for buffers that can contain more info
about the video such as strides and flags etc.
2011-04-28 19:20:58 +02:00
Sebastian Dröge
c8792778f8
Merge branch 'master' into 0.11
2011-04-16 16:06:26 +02:00
Tim-Philipp Müller
1d05e81435
libs: gobject-introspection scanner doesn't need to scan or update plugin info
...
Make sure the scanner doesn't load or introspect or check any plugins,
(especially not outside the build directory).
2011-04-16 11:01:53 +01:00
Sebastian Dröge
8eceb64b99
Merge branch 'master' into 0.11
2011-04-16 09:33:44 +02:00
Sebastian Dröge
352edd1dd9
Merge branch 'master' into 0.11
2011-04-16 09:12:31 +02:00
David Schleef
ef3712b427
Revert "video: Remove the extensive checkings from switch"
...
This reverts commit 500d14c35c
.
2011-04-14 12:42:20 -07:00
Sreerenj Balachandran
500d14c35c
video: Remove the extensive checkings from switch
...
The default case handles them already
2011-04-14 10:02:42 +02:00
Tim-Philipp Müller
49cc1718a8
docs: fix typo in video format docs
2011-04-13 09:10:52 +01:00
Wim Taymans
6e160bed3d
Merge branch 'master' into 0.11
...
Conflicts:
android/alsa.mk
android/app.mk
android/app_plugin.mk
android/audio.mk
android/audioconvert.mk
android/decodebin.mk
android/decodebin2.mk
android/gdp.mk
android/interfaces.mk
android/netbuffer.mk
android/pbutils.mk
android/playbin.mk
android/queue2.mk
android/riff.mk
android/rtp.mk
android/rtsp.mk
android/sdp.mk
android/tag.mk
android/tcp.mk
android/typefindfunctions.mk
android/video.mk
2011-04-11 11:37:51 +02:00
Alessandro Decina
030f639a8e
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Wim Taymans
3ea2bc3ab0
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/rtp/gstbasertpdepayload.c
2011-04-07 16:19:08 +02:00
Sebastian Dröge
a29e55f9c4
video: Fix creation of grayscale caps
...
The endianness was not set correctly before.
Fixes bug #646923 .
2011-04-07 10:06:53 +02:00
Wim Taymans
4007076b55
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-04-06 16:33:56 +02:00
David Schleef
5f61df82da
video: Fix YUV9 and YVU9 again
2011-04-04 16:01:20 -07:00
Wim Taymans
da1c863711
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/tag/gstvorbistag.c
2011-04-04 11:31:33 +02:00
David Schleef
629cac4cad
video: Fix height calculation for YUV9/YVU9
2011-04-01 13:55:56 -07:00
Tim-Philipp Müller
45b6bda76c
libs: make sure gobject-introspection scanner calls gst_init()
...
Cherry-picked from 0.11, since it's the right thing to do (we
now silently rely on various _get_type() working without
gst_init() having been called).
2011-03-30 21:08:29 +01:00
Tim-Philipp Müller
a818fe7381
libs: replace 0.10 with @GST_MAJORMINOR@ in Makefile.am
...
For easier cherry-picking/merging later.
2011-03-30 20:57:32 +01:00
Wim Taymans
e1869fa267
Merge branch 'master' into 0.11-fdo
2011-03-28 20:13:59 +02:00
Wim Taymans
3d25a4b470
libs: port to new data API
2011-03-27 13:55:15 +02:00
Thiago Santos
78e8b33c38
video: Getting component offsets without dimensions is fine if it is not YUV
...
This fixes a regression that an assertion would happen if
gst_video_get_component_offset would be called with width or
height as 0.
Calling it with 0 is fine if the format isn't yuv and this
was already being used in some other places of video.c
2011-03-23 12:21:55 -03:00
David Schleef
a08227505f
video: Add gst_video_format_new_template_caps()
2011-03-22 12:11:49 -07:00
Tim-Philipp Müller
842911d241
libs: make sure gobject-introspection scanner calls gst_init()
...
Fixes introspection failures caused by type assertions/warnings.
Since we now moved from _get_type() functions to external GType
variables in a couple of places, we actually have to call gst_init()
to make sure these are set when we use GST_TYPE_FOO.
2011-03-09 12:17:14 +00:00
Wim Taymans
c6dd11981d
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/pbutils/Makefile.am
2011-02-28 11:47:44 +01:00
David Schleef
1265a42124
video: Add support for r210
2011-02-25 19:37:07 -08:00
Robert Swain
e0a658a664
gstvideo: Add GST_VIDEO_BUFFER_PROGRESSIVE flag
...
Maps to GST_BUFFER_FLAG_MEDIA4. The purpose is to explicitly indicate
whether a telecined buffer is progressive or not without having to make
assumptions based on previous buffers.
2011-02-25 15:29:56 +01:00
David Schleef
0ed72c2959
video: Add ARGB64 and AYUV64
...
16-bit per channel formats.
2011-02-20 12:04:02 -08:00
David Schleef
7a24e3ea4e
video: Add gst_video_format_get_component_depth()
2011-02-20 12:04:02 -08:00
Tim-Philipp Müller
0ed757db33
gobject-introspection: use same PKG_CONFIG_PATH for g-ir-compiler as for g-ir-scanner
...
Make sure to use the PKG_CONFIG_PATH set at configure time instead of
just relying on an env-var set one. This makes sure both g-ir-compiler
and g-ir-scanner use the same PKG_CONFIG_PATH for determining include
paths etc.
2011-01-08 02:10:03 +00:00
Edward Hervey
6ce0d6e78b
video: Fix uninitialized variables
...
reported by macosx gcc
2011-01-05 12:02:02 +01:00
Wim Taymans
eee6bc7dc9
more 0.10 -> 0.11 changes
2010-12-06 17:09:10 +01:00
Tim-Philipp Müller
78f33715ff
libs: use GLib 2.22 API unconditionally
2010-12-04 14:45:58 +00:00
Tim-Philipp Müller
8604fac13f
video: add missing break statement for the GST_VIDEO_FORMAT_RGB8_PALETTED case
2010-12-03 00:02:26 +00:00
Sebastian Dröge
8b60aa8e01
video: Add YUV9, YVU9 and IYU1 video formats
...
API: GST_VIDEO_FORMAT_YUV9: planar 4:1:0 YUV
API: GST_VIDEO_FORMAT_YVU9: planar 4:1:0 YUV (chroma planes swapped)
API: GST_VIDEO_FORMAT_IYU1: packed 4:1:1 YUV (Cr-Y0-Y1-Cb-Y2-Y3)
2010-12-02 19:04:29 +01:00
Sebastian Dröge
ea7446e5b5
video: Add 8-bit paletted RGB
...
API: Add GST_VIDEO_FORMAT_RGB8_PALETTED
API: Add GST_VIDEO_CAPS_RGB8_PALETTED
API: Add gst_video_parse_caps_palette()
2010-12-02 19:04:29 +01:00
Sebastian Dröge
a13720fc55
video: Return correct component width/height for A420
2010-12-02 19:04:27 +01:00
Evan Nemerson
8fb2c27ed0
introspection: Add information on exported packages to GIRs
...
https://bugzilla.gnome.org/show_bug.cgi?id=635392
2010-11-21 00:44:37 +00:00
Sebastian Dröge
b3192de682
video: Fix stupid copy&paste error in last commit
2010-10-15 11:26:50 +02:00
Sebastian Dröge
8741707430
video: API: Add A420 video format
...
This is planar 4:2:0 YUV plus non-subsampled alpha plane.
2010-10-15 11:12:34 +02:00
Tim-Philipp Müller
e98814c91e
docs: add Since: comment to docs for new GST_VIDEO_FORMAT_UYVP
2010-09-15 15:20:25 +01:00
Sebastian Dröge
7ac1938f0f
video: Add a destroy notify parameter to gst_video_convert_frame_async()
...
Binding generators apparently need this as they can't really know
that the callback is guaranteed to be called exactly once and that
the user_data can be freed at the end of it.
2010-09-15 11:26:48 +02:00
David Schleef
1a75dede56
video: Add UYVP, 10-bit 4:2:2
2010-09-14 12:33:21 -07:00
Sebastian Dröge
6407101c53
video: Add async variant of the convert frame function
...
API: gst_video_convert_frame_async()
2010-09-14 08:42:44 +02:00
Sebastian Dröge
a30371ab15
video: Strip framerate from the target caps
...
There will always be only a single output buffer and if the
target caps have a different framerate than the input there
will be a negotiation error during conversion.
2010-09-14 08:42:44 +02:00
Sebastian Dröge
b54c4b486a
video: Refactor convert_frame a bit and fix some minor memory leaks in error cases
2010-09-14 08:42:44 +02:00
Edward Hervey
349a76ed19
video: Add new method for converting a video frame
...
https://bugzilla.gnome.org/show_bug.cgi?id=629157
2010-09-14 08:42:43 +02:00
Sebastian Dröge
c30ad57e86
video: Fix component width for NV12/NV21
...
Both have width/2 as component width for the chroma planes.
2010-08-24 10:03:04 +02:00
Tim-Philipp Müller
e776699036
build: use new AG_GST_PKG_CONFIG_PATH m4 macro from common
...
Sets up a GST_PKG_CONFIG_PATH variable for use in Makefile.am
(avoids trailing ':' in PKG_CONFIG_PATH used).
2010-08-14 19:12:37 +01:00
Tim-Philipp Müller
b61b83376a
introspection: set PKG_CONFIG_PATH so that our in-tree libs come first when calling scanner
...
When calling gobject-introspection scanner, make sure our own
freshly-built libs within the source tree (well, build dir) come
first in the PKG_CONFIG_PATH. May or may not help to make sure
that it doesn't pick up older external plugins-base libs (or
.gir files) from outside the source tree / build directory as
dependencies of the introspected lib instead of using the
stuff we just built in a sibling directory.
https://bugzilla.gnome.org/show_bug.cgi?id=623698
2010-08-14 19:11:48 +01:00
Edward Hervey
3879c57b01
video: Fix unitialized variable.
...
yay macosx compilers :(
2010-06-14 14:13:16 +02:00
Sebastian Dröge
506be85356
video: Re-add (but deprecated) GST_VIDEO_{RED,GREEN,BLUE}_MASK_1[56]
2010-06-13 08:20:13 +02:00
Martin Bisson
b8f330dea6
video.{c,h}: Fix an endianness bug fix.
...
This commit makes sure the endianness is ok for RGB/BGR 15/16 formats.
2010-06-12 13:51:27 +02:00
Martin Bisson
f5a690f860
video.{c,h}: Add support for RGB and BGR with 15 and 16 bits.
2010-06-12 13:51:27 +02:00
Sebastian Dröge
80cc85d218
video: Return TRUE in gst_video_format_is_gray() for Y800 and Y16
2010-06-08 11:01:44 +02:00
Martin Bisson
b0d15133d7
video: Add support for Y800 and Y16
...
Fixes bug #620441 .
2010-06-07 08:17:55 +02:00
Sebastian Dröge
30b67cda5d
video: Use simple fraction multiplication functions instead of going through GValues
2010-05-13 11:16:02 +02:00
Sebastian Dröge
25c1a331be
video: API: Add GST_VIDEO_FORMAT_v308 for packed 4:4:4 YUV
2010-04-29 18:21:21 +02:00
Tim-Philipp Müller
0ebbb98bfa
docs: add gtk-doc chunks with Since: tags for new GST_VIDEO_CAPS_GRAY* API
2010-04-07 20:21:14 +01:00
Sebastian Dröge
fab97aec53
video: Fix parsing of 8-bit grayscale caps
2010-04-07 17:25:23 +02:00
Sebastian Dröge
bf8fff4e33
video: API: Add GST_VIDEO_CAPS_GRAY{8,16}
2010-04-07 17:23:22 +02:00
Sebastian Dröge
1e3a66f539
video: Add support for 8-bit and 16-bit grayscale formats
2010-04-07 17:06:36 +02:00
Vincent Untz
764c899215
libs: point gobject-introspection scanner to .la files
...
Point g-ir-scanner to the .la file of our library, which hopefully
makes it find the right dependencies in all cases (ie. our locally
built libgstreamer and not the system-installed one). This is also
how it's done in Gtk+ and how it's documented in the wiki, see
http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration
Fixes #603710 .
2010-04-03 14:03:45 +01:00
Tim-Philipp Müller
b37c993e4e
gst-libs: more gobject-introspection fixes
...
Use right .pc file variable for compiler includes this time:
g-ir-compiler wants the girdirs not the typelibdirs as includes.
2010-03-30 23:46:10 +01:00
Tim-Philipp Müller
64cfa6bf73
gst-libs: fix up gobject-introspection some more
...
Use new girdir and typlibdir from core .pc files, so we can figure
out the right includes to pass to the gobject-introspection tools,
whether core is installed in the same prefix as gobject-introspection
or in a different prefix or uninstalled. This also keeps us from adding
bogus paths to the includes that only work if core is uninstalled.
Also add some missing includes/pkgs where needed.
2010-03-30 19:56:56 +01:00
Tim-Philipp Müller
58a92964c6
build: Makefile.am fixes
...
Mostly just add missing $(GST_BASE_CFLAGS), but also fix up order
of flags (see docs/random/moving-plugins).
2010-03-19 01:00:36 +00:00
David Schleef
5379fbcd1a
video: add gst_video_parse_caps_chroma_site()
2010-03-15 01:31:20 -07:00
Tim-Philipp Müller
62ef200ca9
docs: fix Returns: for gst_video_parse_caps_color_matrix()
2010-03-10 01:07:09 +00:00
David Schleef
76afac25b4
video: Add color-matrix handling to caps
2010-03-09 13:17:34 -08:00