Commit graph

829 commits

Author SHA1 Message Date
Matej Knopp
70d13bbb32 basevideo: Make GstVideoFrame a reference counted boxed object
...and also clear all existing frames when resetting the decoder or encoder.
2011-12-12 14:12:36 +01:00
Sebastian Dröge
811a2ef7aa basevideoencoder: Only make the header buffer metadata writable, not the buffer 2011-12-08 11:51:36 +01:00
Sebastian Dröge
fd828c4ac7 basevideoencoder: Fix handling of force-keyunit events 2011-12-08 10:19:40 +01:00
Zhao Halley
4960d27d73 codecparsers: first video_packet_header doesn't start with resync_marker 2011-12-06 17:05:52 -03:00
Zhao Halley
5aaf56af29 codecparsers: return NO_PACKET if needed 2011-12-06 17:05:52 -03:00
Zhao Halley
3aa9081ef5 codecparsers: fix an issue in check resync marker 2011-12-06 17:05:52 -03:00
Zhao Halley
befc724e5a codecparsers: fix an issue in finding the last video packet in vop 2011-12-06 17:05:52 -03:00
Zhao Halley
164faafad6 codecparsers: include resync marker in video packet size 2011-12-06 17:05:52 -03:00
Zhao Halley
f33f26e437 codecparsers: scan next resync marker after current one 2011-12-06 13:29:40 -03:00
Zhao Halley
012c40140f codecparsers: fix < 0 issue of guint in mpeg4 parser
gst_byte_reader_masked_scan_uint32 returns a guint, not a gint, which
explains the issue we sometime get using < 0 instead of == -1;
2011-12-06 13:29:40 -03:00
Zhao Halley
391ecbda71 codecparsers: fix pattern/mask of resync_marker parsing of mpeg4 2011-12-06 13:29:40 -03:00
Alessandro Decina
702c055645 codecparsers: fix compile warnings in gstmpeg4parser.c 2011-12-06 13:15:58 +01:00
Edward Hervey
c4d987b6d3 codecparsers: Variant of _identify_nalu without checks
This is useful for cases where the caller *knows* that the provided
input contains a whole NALU and can therefore avoid:
* the expensive checks for the next start code (which won't be present)
* delaying the input parsing (since we would need the next incoming NALU
  in order for the parsing code to detect the next start code)

https://bugzilla.gnome.org/show_bug.cgi?id=665584
2011-12-05 19:03:05 +01:00
Mark Nauwelaerts
91e054ba58 codecparser: unbreak h264 slice header parsing
.. introduced by refactoring in commit 177451c921
2011-12-05 13:10:18 +01:00
Gwenole Beauchesne
177451c921 codecparsers: h264: record ref_pic_list_modification(). 2011-11-29 09:49:53 -03:00
Gwenole Beauchesne
99101a5824 codecparsers: h264: rename ref_pic_list_reordering() to ref_pic_list_modification().
Upgrade to current AVC specification.
2011-11-29 09:49:53 -03:00
Sebastian Dröge
e98b17a8dc basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass 2011-11-29 12:18:20 +01:00
Sebastian Dröge
de6782cce4 basevideoencoder: Implement full support for the new force-key-unit event
Including support for the running-time and count fields.
2011-11-29 12:18:20 +01:00
Sebastian Dröge
97515ca050 basevideoencoder: Use new force-keyunit event API from gst-plugins-base 2011-11-29 12:18:20 +01:00
Sebastian Dröge
904eed3547 basevideoencoder: Adjusting padding is not required for -bad libraries 2011-11-29 12:18:19 +01:00
Sebastian Dröge
25002df594 basevideoencoder: Move some fields to the private part of the instance struct 2011-11-29 12:18:19 +01:00
Sebastian Dröge
b0000b9041 basevideoencoder: Make headers metadata writable before pushing downstream
The timestamp, duration, etc of the headers has to be changed.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
4501412af3 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
Even if the corresponding GstVideoFrame doesn't have the is_sync_point
flag set.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
209ea84ef4 basevideoencoder: Don't push an upstream force-keyunit event downstream 2011-11-29 12:18:19 +01:00
Jonas Larsson
54cb226009 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
See bug #607742.
2011-11-29 12:18:19 +01:00
Tim-Philipp Müller
12c678c7cf codecparsers: minor fixes
Const-ify one more VLC table. Fix spelling of 'hybrid'.
No need to explicitly call ensure_debug_category() everywhere,
that will be done automatically from GST_LOG() and friends
via GST_CAT_DEFAULT.
2011-11-29 09:15:11 +00:00
Thibault Saunier
e1bacb4813 codecparser: mpeg4: Look for resync code in _mpeg4_parse
This way the API is simpler and users can call 1 single function for packet
detection.
2011-11-28 21:25:34 -03:00
Thibault Saunier
e464370163 codecparsers: Declare private arrays as static all around 2011-11-28 21:25:34 -03:00
Thibault Saunier
fd593d6cc8 codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library 2011-11-28 21:25:34 -03:00
Thibault Saunier
4439048e4a codecparsers: Move shared code to a parser utils file 2011-11-28 21:25:34 -03:00
Vincent Penquerc'h
7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Tim-Philipp Müller
f78e9e1684 basevideodecoder: some more debug logging 2011-11-25 11:37:57 +00:00
Tim-Philipp Müller
a039499bf1 basevideodecoder: add API to drop a frame and post a QoS message on the bus
https://bugzilla.gnome.org/show_bug.cgi?id=640017

API: gst_base_video_decoder_drop_frame()
2011-11-25 11:37:57 +00:00
Tim-Philipp Müller
27556bd668 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs 2011-11-22 23:04:49 +00:00
Tim-Philipp Müller
c75922b96b basevideodecoder: fix weird event list handling
Get rid of weird code that copies a list manually, taking
ownership of the elements and then frees the old list. Instead,
just take over the old list entirely. (If the intent was to
reverse the list, one could use g_list_reverse() instead).

Then, push events in the list out from last to first (since they
were prepended as they came in) instead of just pushing out the
last in the list and leaking the others.
2011-11-22 20:04:13 +00:00
Mark Nauwelaerts
eba9bb5e5a h264parser: initialize additional sps field value
Fixes #663552.
2011-11-18 17:19:57 +01:00
Sebastian Dröge
022cdfc5d3 basevideoencoder: Only call ::reset once in READY->PAUSED 2011-11-17 10:34:07 -08:00
Sreerenj Balachandran
f509960fea mpegvideoparse:Correct the skipping of vbv_delay in picture header and some typo fixes.
https://bugzilla.gnome.org/show_bug.cgi?id=663309
2011-11-14 08:32:32 -03:00
Thijs Vermeir
e40ca78278 fix documentation typo 2011-11-09 12:00:05 +01:00
Vincent Penquerc'h
8766717b6c mpegvideoparser: input data is const, mark it so 2011-11-07 11:12:44 +00:00
René Stadler
9cbc1fd23a h264parser: add more size checks and improve existing
Don't subtract with unsigned values, that will bite us. Also fix format
specifier in the log message.
2011-11-04 13:10:01 +01:00
Olivier Crête
9f76573bda surfaceconverter: Remove duplicated forward declaration
It seems that some compilers don't like duplicated typedefs.
2011-11-03 17:17:10 -04:00
Nicolas Dufresne
149c058209 video: Add GstVideoContext interface
This interface will be used to implement video context sharing. Those
context could be X11 Display, VaDisplay, etc.
2011-11-03 10:41:55 +01:00
Nicolas Dufresne
2808290592 video: Abstract surface API for HW accelerated codecs 2011-11-03 10:33:11 +01:00
Vincent Penquerc'h
ca2f96caac vc1parser: do not overwrite buffer
I do not know the bitstream format, but this seems likely
to be what was intended. Also add a check on the number of
items to read.

https://bugzilla.gnome.org/show_bug.cgi?id=662776
2011-11-03 09:46:02 +01:00
Sreerenj Balachandran
32a1e05795 vc1parser: fix parsing of RANGEREDFRM 2011-11-03 09:44:18 +01:00
René Stadler
fd4eb2e220 h264parser: fix access to uninitialized memory
When vui->timing_info_present is 0, vui->fixed_frame_rate_flag and others
cannot be accessed since they have not been set.

It was also possible that sps->fps_{num,den} end up initialized here.
2011-11-01 15:13:56 +01:00
René Stadler
6c4f5b6ae9 h264parser: fix MAX_SPS/PPS boundary checks 2011-11-01 12:29:35 +01:00
Alessandro Decina
16ce440e7f basevideoencoder: handle failures in start() and stop() 2011-10-31 11:38:58 +01:00
Tommi Myöhänen
de138dbc57 basecamerasrc: optimize state changing speed
Create preview pipeline already in initialization phase. This speeds
up NULL_TO_READY state change. Also implement a separate function for
setting the preview filter element.

This also restricts the preview filter property to work only on
NULL state.
2011-10-31 07:14:36 -03:00