Sebastian Dröge
6189847ed0
videodecoder: Always drain the decoder after a discont group in reverse playback mode
2014-03-30 18:26:59 +02:00
Sebastian Dröge
5a4fbb1638
videodecoder: Flush the decoder once per discont group, not once per keyframe
2014-03-30 18:00:53 +02:00
Sebastian Dröge
f1f8731ff5
videodecoder: Handle reverse playback with multiple GOPs per discont group properly
...
baseparse will reverse each GOP for us already, so the segment events can
be after our keyframe. Make sure to get it and all other relevant sticky
events before starting to decode.
2014-03-30 17:59:55 +02:00
Sebastian Dröge
50c2218d4d
videodecoder: Log event types of events that are pushed downstream
2014-03-29 10:33:01 +01:00
Sebastian Dröge
1c26e5734c
videodecoder: In reverse playback mode we need to finish the subclass after passing all frames to it
2014-03-29 10:33:01 +01:00
Matthieu Bouron
a8951c16da
video-overlay-composition: add GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION
2014-03-05 20:38:45 +01:00
Sebastian Rasmussen
900c204eb9
videoformat: Remove duplicate/incorrect section
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521
2014-03-02 23:41:51 +00:00
Sebastian Rasmussen
35bb1b3328
docs: Add annotations for return values
...
Rephrase and clarify some return value descriptions
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521
2014-03-02 23:41:18 +00:00
Sebastian Rasmussen
5b4f2ba20b
docs: Fix argument and annotation typos
...
* colorbalance: Fix misspelled annotation
* rtsp: Replace incorrectly documented function argument
* sdp: Escape @ character to avoid gtk-doc warning
* video-*: Add missing annotation colon
* videodecoder/video-color: Fix function argument typos
* videoutils: Remove unknown annotation field
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521
2014-03-02 23:22:51 +00:00
Tim-Philipp Müller
6442e76e9f
docs: add GstVideoPool to docs
2014-02-23 14:42:12 +00:00
Nicolas Dufresne
6b77971097
video: Fix NV12_64Z32 default offset and size
...
This was a regression introduced by f52fd7a68
, where we started using
the stride to encode the dimensions in tiles. This patch simply updates
offset and size calculation as described in the documentation,
part-mediatype-video-raw.txt.
2014-02-18 13:09:21 -05:00
Thiago Santos
da54836a33
videoencoder: push tags and events before eos
...
if any tags or events are pending, push them before pushing eos
2014-01-29 12:33:59 -03:00
Wim Taymans
8ac3dbc4f3
video-chroma: don't crash on NULL resamplers
...
Make dummy resamplers for all cases and only execute the horizontal
resampler instead of crashing.
See https://bugzilla.gnome.org/show_bug.cgi?id=722742
2014-01-23 10:45:00 +01:00
Sebastian Dröge
87829debe4
videodecoder: Add API to get the currently pending frame size for parsing
...
https://bugzilla.gnome.org/show_bug.cgi?id=719890
2014-01-18 13:54:22 +01:00
Thiago Santos
47f720a8f0
videodecoder: plug leak when frames are released on subclass stop
...
They end up stored in the 'pending_events' list and should be
freed after calling stop
2014-01-17 11:21:33 -03:00
Sebastian Dröge
335e6e888d
videoverlay: Don't mention gconf elements and add a sentence about playbin/playsink
...
playbin/playsink now implement the video overlay interface
2014-01-14 13:20:48 +01:00
Wim Taymans
ecac298e4e
videodecoder: only copy chroma_site when known
...
Only overwrite the chroma-site if we have a valid value in the reference
format.
2014-01-13 17:24:01 +01:00
Wim Taymans
fba783a5fe
videoutils: add some debug
2014-01-13 17:24:01 +01:00
Nicolas Dufresne
595bcfb4d7
video: Generate types for tile enumeration
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:47:23 -05:00
Nicolas Dufresne
f52fd7a68b
video: Don't use extra plane and componenent for tile format
...
Instead of using extra plane, we encode the number of tiles in x and y in the stride of
each planes (i.e. y_tiles << 16 | x_tiles) and introduce tile_mode, tile_width and
tile_height into GstVideoFormatInfo structure.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:47:03 -05:00
Wim Taymans
d899e6df5a
video: rename NV12T -> NV12_64Z32
...
Is a bit more descriptive and allows us to add more tiled types
later.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:52 -05:00
Nicolas Dufresne
c8597330a9
video-frame: scale vertical tiles based on subsampling
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:45 -05:00
Nicolas Dufresne
53605e35f4
video-frame: fix tiled pixel stride
...
Pixel stride is per component, not per plane. We get the tile mode from
the pixelstride of the TILE component.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:37 -05:00
Wim Taymans
61cbdf379b
format: improve docs
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:31 -05:00
Wim Taymans
f3e989179b
video-format: fix off-by-one for tiled coordinates
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:17 -05:00
Wim Taymans
fb0fecbf48
video-tile: improve docs
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:07 -05:00
Wim Taymans
33c486e5c1
video-format: use shifts when possible
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:01 -05:00
Wim Taymans
980811c120
video-frame: fix copy of tiled formats
...
Add code to copy tiled planes.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:45:50 -05:00
Wim Taymans
3ceb7dfe22
video-tile: add tile mode and helper functions
...
Move the tile helper functions to their own file. Make it possible to
make other tiling modes later.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:45:37 -05:00
Wim Taymans
f8d3b9b4fc
video: add NV12T support
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:45:26 -05:00
Wim Taymans
67a2717235
Add tiled color format support
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:45:02 -05:00
Thiago Santos
672cda66db
videodecoder: do not lose events when dropping frames
...
Events must be persisted after a frame is dropped to avoid
losing obligatory information for the stream.
https://bugzilla.gnome.org/show_bug.cgi?id=721835
2014-01-13 06:11:09 -03:00
Thiago Santos
5b8e1925b5
videodecoder: use new segment earlier for reverse playback
...
For reverse playback, the segment event will only be pushed when
the first buffer is actually pushed. But for decoding frames and storing
those into the list to be pushed the output_segment.rate value is used
to determine if it is forward or reverse playback.
In case a previous segment event (or none) is in use it will mistakenly
think it is doing forward playback and push the buffers immediatelly and
try to clip buffers based on an old segment (or an uninitialized one, leading
to an assertion)
This patch fixes this by copying the segment earlier if on reverse playback
https://bugzilla.gnome.org/show_bug.cgi?id=721666
2014-01-13 06:11:09 -03:00
Sebastian Dröge
58592a2af3
audio/video-info: Properly initialize the info structures in set_format()
...
And don't assume in other code that set_format() preserves any fields at
all. These assumptions were already made here for fields that were changed
by set_format().
2013-12-30 10:53:24 +01:00
Sebastian Dröge
65732d9c97
audio/video-info: Initialize the complete struct to 0 in the beginning
...
Instead of only initializing some parts in some code paths. Also
makes it easier to use the reserved bits of the structs later.
https://bugzilla.gnome.org/show_bug.cgi?id=720810
2013-12-30 10:15:20 +01:00
Wim Taymans
f8e3a25415
video-frame: fix plane copy for index plane
...
Move the code to handle the index plane in the _copy_plane.
2013-12-25 10:54:55 +01:00
Lionel Landwerlin
aedca7acfc
colorbalance: add missing annotation for list_channels()
...
https://bugzilla.gnome.org/show_bug.cgi?id=720999
2013-12-24 09:25:53 +00:00
Edward Hervey
b97c711def
audio/video: Initialize all {audio|video}info fields
...
Fixes "Unitialized Scalar Variable" issues reported by Coverity.
Has the added advantage of detecting whether somebody *does* use those
fields (ending up with a invalid address).
https://bugzilla.gnome.org/show_bug.cgi?id=720810
2013-12-20 14:47:22 +01:00
Sebastian Dröge
27c1261c72
video-format: Document usage of GST_VIDEO_FORMAT_ENCODED
...
This must only ever be used in caps in combination with a non-system
memory GstCapsFeatures, and where it does not make sense to specify
any of the other video formats. Examples of this would be in gst-vaapi.
2013-12-17 17:25:07 +01:00
Sebastian Dröge
8499a0e35a
Revert "video: specify/restrict usage of GST_VIDEO_FORMAT_ENCODED"
...
This reverts commit 5fcdabd907
.
Instead of making it impossible to use the ENCODED format we should
just document that it must not be used for capsfeature-less caps.
Also this commit broke API/ABI.
2013-12-17 17:23:19 +01:00
Sebastian Dröge
3e61449c86
videoencoder: Release the allocator on hard resets
2013-12-17 17:10:19 +01:00
Julien Isorce
2e38741b94
videodecoder: release buffer pool and allocator on full reset
...
It allows to release the buffer pool sooner (i.e. when going
to GST_STATE_READY). Previously it was released in finalize.
Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=720389
2013-12-16 16:07:05 +00:00
Sebastian Dröge
b5d26f3907
videodecoder: gst_video_decoder_release_frame() is available since 1.2.2
2013-12-13 14:37:24 +01:00
Edward Hervey
5fcdabd907
video: specify/restrict usage of GST_VIDEO_FORMAT_ENCODED
...
GST_VIDEO_FORMAT_ENCODED was added to support *extracting* video-related
information (like width, height, framerate,...) from caps.
It is __NOT__ intended to be used as a format field on video/x-raw caps.
2013-12-11 16:51:42 +01:00
Sebastian Dröge
9ec4eaa866
convertframe: Fix indention
2013-12-09 16:34:22 +01:00
Sebastian Dröge
729e3c8a10
videoencoder: Add sink_query() src_query() virtual functions
...
Based on the videodecoder change by Nicolas Dufresne and applied
here for consistency.
https://bugzilla.gnome.org/show_bug.cgi?id=720103
2013-12-09 16:34:19 +01:00
Nicolas Dufresne
09a6ca97d2
videodecoder: Add sink_query() src_query() virtual
...
https://bugzilla.gnome.org/show_bug.cgi?id=720103
2013-12-09 09:41:46 -05:00
Olivier Crête
d273d0c156
videocodecframe: Correct function name in doc
2013-12-06 19:27:08 -05:00
Olivier Crête
779e360352
videoencoder: Remove gst_video_encoder_set/get_discont
...
They've never existed outside the header file.
2013-12-06 16:24:46 -05:00
Julien Isorce
79ef75888c
videodec/enc: clear reconfigure flag if negotiate succeeds
...
So that it avoids to send an allocation query twice.
One from an early call to gst_video_encoder_negotiate from a
subclass, then one from gst_video_encoder_allocate_output_frame.
Which means that previously gst_video_encoder_negotiate was not
clearing the GST_PAD_FLAG_NEED_RECONFIGURE even on success.
Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719684
2013-12-05 15:19:16 +00:00