Commit graph

29 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
Mark Nauwelaerts
248a1c86e0 codecparsers: h264: clear sei message prior to parsing
Fixes #666584.
2011-12-20 14:06:34 +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
Thibault Saunier
e464370163 codecparsers: Declare private arrays as static all around 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
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
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
Edward Hervey
e6212219ed codecparsinglibs: Doc and indentation fixes 2011-09-19 14:03:23 +02:00
Vincent Penquerc'h
ac5121eb01 h264parse: do not try to read from a non existent VUI
https://bugzilla.gnome.org/show_bug.cgi?id=658800
2011-09-19 09:27:06 +02:00
Alessandro Decina
668b0ab4f8 codecparsers: fix compiler warnings 2011-09-12 10:33:06 +02:00
Thibault Saunier
edebb4ed92 codecparsers: h264: Implement the nal_parser_free function 2011-09-09 15:02:35 -03:00
Thibault Saunier
949ba4e895 codecparsers: h264: Use g_slice instead of g_malloc in nal_parser_new 2011-09-09 15:02:34 -03:00
Thibault Saunier
8b268bd49d codecparsers: h264: Update the documentation
Fix a few error.
Document missing parts.
Add links to the specifications
2011-09-09 15:02:31 -03:00
Gwenole Beauchesne
3952c0dd3b codecparsers: h264: fix PPS parser
Fix transform_8x8_mode_flag and second_chroma_qp_index_offset
2011-09-02 15:46:04 +02:00
Gwenole Beauchesne
d7fafc551a codecparsers: h264: fix NAL reader initialization. 2011-09-02 15:46:04 +02:00
Gwenole Beauchesne
d37f842aaa codecparsers: h264: handle end-of-seq and end-of-stream NAL gracefully. 2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
ccfd761659 codecparsers: h264: fix ref_pic_list_reordering(). 2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
621fd01281 codecparsers: h264: fix pred_weight_table() parsing.
Use 16-bit signed integer values for weight values because valid
ranges are -128 to +128 inclusive.
2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
0a0c73169f codecparsers: h264: fix slice_header() parsing.
We were not parsing the slice headers until the actual end, we are now
parsing until the end.
2011-09-02 15:46:03 +02:00
Thibault Saunier
a1cfba43f6 codecparsers: h264: Add an h.264 bitstream parsing library 2011-09-02 15:46:02 +02:00