Gwenole Beauchesne
5c9f790075
codecparsers: h264: record number of emulation prevention bytes in slice_header().
...
Some hardware video decode acceleration API (VA-API, DXVA) require
a bit count to the first macroblock, minus the number of emulation
prevention bytes. So, instead of having the consumer of the library
scan the slice_header() again, just record that number while parsing.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
https://bugzilla.gnome.org/show_bug.cgi?id=671203
2012-03-03 15:53:46 +00:00
Jonas Larsson
e373df2a97
codecparsers: h264: fix SEI parsing
...
... in the presence of emulation_prevention_three_byte.
Fixes #668381 .
2012-02-15 15:10:06 +01:00
Gwenole Beauchesne
4964db6a1c
codecparsers: h264: fix parsing of VUI parameters.
...
max_dec_frame_buffering was mis-parsed because log2_max_mv_length_vertical
was parsed twice.
https://bugzilla.gnome.org/show_bug.cgi?id=668660
2012-01-30 15:21:23 +00:00
Vincent Penquerc'h
8147669971
plenty: fixup glib deprecations
2012-01-27 15:47:07 +00:00
Jonas Larsson
9feea330bb
h264parse: fix gst_h264_parse_clock_timestamp always failing
2012-01-23 18:31:51 +00:00
Jonas Larsson
657226d9f0
codecparsers: read the cbr_flag in h264_parse_hrd_parameters
2012-01-23 19:01:04 +01:00
Mark Nauwelaerts
b5c5fb58a3
basevideoencoder: fix parameter sanity check
2012-01-23 14:13:38 +01:00
Gwenole Beauchesne
c92efe38e9
codecparsers: h264: fix ref_pic_list_modification()
...
The entries were not filled in linearly and the termination was not
recorded either. Now, the actual number of modifications is recorded
similarly to dec_ref_pic_marking(). i.e. an explicit counter instead
of storing the termination value in the array.
https://bugzilla.gnome.org/show_bug.cgi?id=668192
2012-01-20 18:40:29 +00:00
Vincent Penquerc'h
b6edb1a03a
mpegvideoparser: fix memory leak
2012-01-12 14:34:25 +00:00
Oleksij Rempel (Alexey Fisher)
1d0507af89
basevideodecoder: add option to hande alt frame data
...
altref/invisible 'frame' do not describe some frame directly, so it can't be
displayed and timestamps should not be updated.
Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245
Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-01-10 08:48:45 +01:00
Mark Nauwelaerts
360cbaa46c
codecparsers: mpeg4: fix parsing when recursively skipping user data
2012-01-09 15:03:30 +01:00
Zhao Halley
5676ff5bf4
codecparsers: remove h263 gob parsing, since there is no gob immediate after svh
2012-01-05 08:34:36 -03:00
Zhao Halley
bb52df5e24
codecparsers: add missing zero_bits in h263 parsing
2012-01-05 08:34:35 -03:00
Zhao Halley
1138aab1db
codecparsers: includes start_marker in h263 header for parsing
2012-01-05 08:34:35 -03:00
Zhao Halley
052d1ace5e
codecparsers: fix offset issue in h263 parse
2012-01-05 08:34:35 -03:00
Zhao Halley
70390ad846
codecparsers: fix mask pattern for h263 start marker
2012-01-05 08:34:35 -03:00
Thiago Santos
51f399686e
basevideocodec: Reset should reset current caps
...
New caps will need to be negotiated when reset happens
(PAUSED to READY). Without reseting the internal
stored format, basevideoencoder/decoder wouldn't call the
configuration function when the same caps was negotiated
again as they would believe this was the same caps as before.
The issue is that _stop has been called when going to READY and
the elements would have reset their internal codec libs/state as
well. A new configuration should be done.
2011-12-30 00:02:46 -03:00
Thiago Santos
36fbb8eea4
basecamerabinsrc: remove redundant functions
...
gst_bin_get_by_interface should be enough for applications.
Haven't seen anyone using those other than wrappercamerabinsrc.
2011-12-22 16:17:56 -03:00
Mark Nauwelaerts
248a1c86e0
codecparsers: h264: clear sei message prior to parsing
...
Fixes #666584 .
2011-12-20 14:06:34 +01:00
Sebastian Dröge
c869b21b17
basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
...
This would require GLib 2.26.
2011-12-13 10:18:24 +01:00
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