Thiago Santos
81471099d2
videodecoder: error out if no frames are decoded before eos
...
Raise an error in case no frames are decoded before EOS and we
have input, meaning that data was received but it was somehow invalid.
https://bugzilla.gnome.org/show_bug.cgi?id=711094
2013-11-25 10:53:25 -03:00
Thiago Santos
0765962fbc
videodecoder: allow using -1 for infinite tolerated errors
...
Allows using -1 to make videodecoder never post an error message
after decoding errors.
https://bugzilla.gnome.org/show_bug.cgi?id=711094
2013-11-25 10:53:14 -03:00
Mark Nauwelaerts
ee86a91957
videodecoder: avoid descending output timestamps
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712796
2013-11-23 19:39:52 +01:00
Sreerenj Balachandran
cd52ff313e
videodecoder: try to negotiate the buffer pool even though there is no o/p format
...
We could have allocation query before caps event and even without caps inside
the query. In such cases , the downstream can return a bufferpool object with
out actually configuring it. This feature is helpful to negotiate the bufferpool
with out knowing the output video format. For eg: some hardware accelerated
decoders can interpret the o/p video format only after it finishes the decoding
of one buffer at least.
https://bugzilla.gnome.org/show_bug.cgi?id=687183
2013-11-11 13:28:11 +01:00
Stephan Sundermann
2b45196042
navigation: Add missing out parameter annotations to GstNavigation
...
https://bugzilla.gnome.org/show_bug.cgi?id=709938
2013-10-11 23:06:55 +02:00
Stefan Sauer
9269bee9bd
videodecoder: don't overflow in bytes<->time conversion
...
fps_n and _d values can be large and this can overflow a uint. Also fix
copy'n'paste mistake in comments.
2013-10-08 09:15:21 +02:00
Wim Taymans
30a0cccbf6
video-frame: copy offsets from metadata
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708606
2013-09-23 11:55:07 +02:00
Olivier Crête
c10311ba70
videodecoder: If there is no PTS at all, assume it starts from the segment start
...
This is to make the multifilesrc ! pngdec case work
https://bugzilla.gnome.org/show_bug.cgi?id=688043
2013-09-19 09:52:48 +02:00
Sebastian Dröge
35ee4b056b
videodecoder/videoencoder: Mark pads as requiring reconfiguration again if negotiation fails
...
Otherwise we might end up in non-optimal configuration, especially
when a flush happened during reconfiguration.
2013-09-12 09:35:00 +02:00
Wim Taymans
d3641943b3
docs: fix some doc blocks
2013-09-09 15:52:05 +02:00
Mathieu Duponchelle
1664468eaa
videofilter: implement transform_meta virtual method.
...
If tags of the meta only contain "video", let it be copied.
2013-09-09 15:37:02 +02:00
Mathieu Duponchelle
d1cb9c994b
video/audio: #define metadata strings.
...
For instance "orientation" becomes GST_VIDEO_ORIENTATION_METADATA.
2013-09-09 15:37:02 +02:00
Tim-Philipp Müller
d7775cffb9
video: fix build without orc or older or versions
...
./.libs/libgstvideo-1.0.so: undefined reference to `video_orc_unpack_NV24'
./.libs/libgstvideo-1.0.so: undefined reference to `video_orc_pack_NV24'
2013-09-06 13:28:00 +01:00
Wim Taymans
fae9d82515
video-format: fix NV24 pack/unpack function
...
We can't reuse the NV12 functions, we need to make new ones.
2013-09-06 12:45:36 +02:00
Wim Taymans
26d04c7582
video-format: handle odd width in more pack/unpack functions
2013-09-06 12:45:36 +02:00
Tim-Philipp Müller
2f6f0ee214
video-format: minor pack_YVYU optimisation
...
Re-use already calculated line offset.
2013-09-05 18:34:21 +01:00
Wim Taymans
e55ff1e374
video-format: fix chroma offsets
2013-09-05 17:06:36 +02:00
Wim Taymans
bbeac11e74
video-format: fix unpack functions for odd formats
2013-09-05 16:16:12 +02:00
Wim Taymans
d33e73e00f
video-format: clean up pack/unpack functions
2013-09-05 15:02:17 +02:00
Wim Taymans
6508c738ff
video-format: handle odd width in various pack functions
2013-09-05 14:13:24 +02:00
Wim Taymans
9b01d9a1d9
video-format: don't overrun the arrays on UYVP
2013-09-05 12:44:32 +02:00
Matej Knopp
d03feedf4c
videoencoder: Check for invalid stop position before calculating a duration from it
...
https://bugzilla.gnome.org/show_bug.cgi?id=707332
2013-09-03 09:50:56 +02:00
Andoni Morales Alastruey
688505de88
videoencoder: fix forwarding of GstForceKeyUnit events
...
Use the frame id to match the output forced keyframe with
the event that forced it.
https://bugzilla.gnome.org/show_bug.cgi?id=706885
2013-08-27 15:11:33 +02:00
Sebastian Dröge
b0e4b5f69a
videoencoder: Make sure to return TRUE if the same caps are set again
2013-08-25 10:26:30 +02:00
Sebastian Dröge
f678411c6e
videoencoder: Only set the caps when they actually changed
2013-08-23 19:20:03 +02:00
Edward Hervey
d1cf4b2b9a
videocoder: Don't push out identical caps
...
This avoids triggering plenty of extra code/methods/overhead downstream when
we can just quickly check whenever we want to set caps whether they are
identical or not
https://bugzilla.gnome.org/show_bug.cgi?id=706600
2013-08-23 15:22:43 +02:00
Rico Tzschichholz
cb3e2fd218
videometa: fix syntax error
2013-08-21 11:20:28 +01:00
Tim-Philipp Müller
2f05268517
video: make direct includes work again
...
Not nice to break people's code if we can avoid it. Could
add a warning in the next cycle, and then require single
includes in the cycle after.
https://bugzilla.gnome.org/show_bug.cgi?id=695889
2013-08-16 14:14:15 +01:00
Sebastian Dröge
c4d7ffddb5
videodecoder: Don't reset too much if we're resetting because of a soft-flush
...
Fixes reverse playback with Ogg/Theora.
2013-08-15 14:33:18 +02:00
Sebastian Dröge
695675ab7e
videodecoder: Don't reset decoder on segment events
...
Either there was a flush before that resets everything anyway,
or resetting would make us lose information we might need if
it's just a segment update.
2013-08-15 13:26:39 +02:00
Sebastian Dröge
146bb1a153
video{en,de}coder: Add new flush vfunc as a replacement for reset
2013-08-15 13:26:39 +02:00
Sebastian Dröge
9df036c216
video{en,de}coder: Revert to old ::reset() behaviour and deprecate it
2013-08-15 13:26:38 +02:00
Youness Alaoui
17eb692c6a
videodecoder: Clear taglist on reception of a STREAM_START event
...
https://bugzilla.gnome.org/show_bug.cgi?id=705109
2013-08-12 13:02:28 +02:00
Edward Hervey
b4b9f74f8b
videodecoder: Revert previous commit
...
The 'hard' argument of reset changed signification after the latest
start/stop/reset refactoring.
2013-08-02 08:22:59 +02:00
Edward Hervey
84d476610b
videodecoder: Pass on 'hard' argument from _flush to _reset
...
When most of the code was moved from _flush() to _reset() the 'hard'
argument was no longer propagated.
2013-08-01 16:02:48 +02:00
Sebastian Dröge
047abdc944
videodecoder/encoder: Call reset() always between start() and stop() and never outside
2013-07-26 10:22:32 +02:00
Sebastian Dröge
9259ee6729
videoencoder/decoder: Call reset() before start() too
2013-07-25 14:25:31 +02:00
Sebastian Dröge
99ef452fc4
audio/videodecoder: Rename variable in macro from dec to __dec
...
Otherwise it might shadow another variable in the outside scope
and cause interesting side effects.
2013-07-25 14:11:28 +02:00
Sebastian Dröge
c24995c31c
videoencoder: There's no point in resetting the encoder when the caps change
...
The subclass will be called with set_format() and there it can drain
if necessary and reset whatever is necessary. This is the same behaviour
as for the video decoder.
2013-07-25 10:53:14 +02:00
Sebastian Dröge
291b05b40a
videoencoder: Reset internal state and segments on FLUSH_STOP
...
https://bugzilla.gnome.org/show_bug.cgi?id=656007
2013-07-25 10:46:04 +02:00
Sebastian Dröge
7074fff7b4
videoencoder: Refactor GstVideoEncoder::reset() handling a bit
...
Let gst_video_encoder_reset() call it as would be intuitive and
only call it indirectly from gst_video_encoder_drain(). Now it
actually makes sense.
2013-07-25 10:43:08 +02:00
Sebastian Dröge
612a2cf9d0
videodecoder: Refactor GstVideoDecoder::reset() handling a bit
...
Let gst_video_decoder_reset() call it as would be intuitive and
only call it indirectly from gst_video_decoder_flush(). Now it
actually makes sense.
2013-07-25 10:25:34 +02:00
Wim Taymans
409cb22253
videodecoder: Take DTS as PTS for keyframes as a last resort if we can't calculate any PTS
...
https://bugzilla.gnome.org/show_bug.cgi?id=704193
2013-07-24 09:24:45 +02:00
Wim Taymans
5732ced692
video-info: respect stride alignment
...
Increase the left padding so that we don't cause stride alignments later when we
apply the padding.
https://bugzilla.gnome.org/show_bug.cgi?id=694299
2013-07-19 10:47:27 +02:00
Wim Taymans
fad4589579
Revert "video: respect stride alignment when calculating planes offsets"
...
This reverts commit 28e1dadbfa
.
Incrementing the offset to make the plane aligned causes the image to be
incompatible with what Xv expects. Rather that forcing a memcpy in the
xvimagesink we would like to do adjust the left padding instead.
2013-07-19 10:43:38 +02:00
Arnaud Vrac
28e1dadbfa
video: respect stride alignment when calculating planes offsets
...
https://bugzilla.gnome.org/show_bug.cgi?id=694299
2013-07-18 16:23:33 +02:00
Sebastian Dröge
97fc9b5f86
videometa: Add docs to the region of interest meta functions
2013-07-17 11:43:14 +02:00
Wim Taymans
b0eb99baaa
meta: fix ROI meta getter
2013-07-16 16:54:10 +02:00
Sebastian Dröge
92b685eb74
video: Add support for NV24 color format
...
This is semi-planar 4:4:4 YUV.
https://bugzilla.gnome.org/show_bug.cgi?id=703259
2013-07-16 11:47:59 +02:00
Sebastian Dröge
95605a79c9
videometa: Add to the docs and make function names more consistent with others
2013-07-16 10:09:27 +02:00