Commit graph

90 commits

Author SHA1 Message Date
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
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
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
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
Mark Nauwelaerts
248a1c86e0 codecparsers: h264: clear sei message prior to parsing
Fixes #666584.
2011-12-20 14:06:34 +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
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
Mark Nauwelaerts
eba9bb5e5a h264parser: initialize additional sps field value
Fixes #663552.
2011-11-18 17:19:57 +01: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
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
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
Sreerenj Balachandran
48275dc071 vc1parser: Correct the parsing of FRMRTQ_POSTPROC and BITRTQ_POSTPROC 2011-10-21 10:53:47 +02:00
Sreerenj Balachandran
30a3c5147b vc1parser: Correct the parsing of sequece layer. 2011-10-21 10:53:47 +02:00
Thibault Saunier
73d847ba24 codecparsers: VC1: Compute par and fps in advanced profile 2011-10-17 13:17:40 +02:00
Thibault Saunier
14590f06a0 codecparsers: VC1: Handle interlaced fields 2011-10-17 13:17:40 +02:00
Thibault Saunier
88766dc738 codecparsers: VC1: Handle interlaced frames properly 2011-10-17 13:17:40 +02:00
Thibault Saunier
7a689b6805 codecparsers: VC1: Use enums when possible
Add GstVC1FrameCodingMode and use it for the fcm field
Use GstVC1PictureType as variable type for ptype
Use GstVC1Level as variable type for level
2011-10-17 13:17:40 +02:00
Gwenole Beauchesne
40a1ed8288 codecparsers: vc1: fix bitplanes decoding (check for errors). 2011-10-17 13:17:40 +02:00
Gwenole Beauchesne
839acd54f6 codecparsers: vc1: fix bitplanes decoding (INVERT mode). 2011-10-17 13:17:40 +02:00
Gwenole Beauchesne
4280a61a23 codecparsers: vc1: fix MVMODE and MVMODE2 parsing. 2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
b23f7eb38d codecparsers: vc1: handle skipped pictures gracefully. 2011-10-17 13:17:39 +02:00