Gwenole Beauchesne
56e2405a35
codecparsers: h264: add inferred value for slice_beta_offset_div2.
...
The standard specifies that when slice_beta_offset_div2 is not present
in the slice header, then the value of slice_beta_offset_div2 shall be
inferred to be equal to 0.
https://bugzilla.gnome.org/show_bug.cgi?id=692265
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:17 +01:00
Mark Nauwelaerts
c20d13d8f8
codecparsers: h264: zero-initialize SPS VUI parameters
...
... so all 'present' flags indicate no presence of optional parts
in case VUI parameters end up not being parsed.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681818
2013-01-15 19:44:06 +01:00
Gwenole Beauchesne
e179a6b4dc
codecparsers: vc1: fix PTYPE for interlaced frames.
...
Coverity found missing break in parse_frame_header_advanced() when
determining PTYPE from FPTYPE for interlaced streams.
https://bugzilla.gnome.org/show_bug.cgi?id=688626
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-11-19 13:57:48 +01:00
Gwenole Beauchesne
c951d201ec
codecparsers: h264: fix error code for invalid size parsed in SPS.
...
gst_h264_parse_sps() returned FALSE if it parsed invalid (negative)
size components. Now make it gracefully return GST_H264_PARSER_ERROR
instead of GST_H264_PARSER_OK (FALSE).
https://bugzilla.gnome.org/show_bug.cgi?id=684568
2012-11-19 12:06:04 +00:00
Tim-Philipp Müller
9e1b75fda3
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Peter Seiderer
fd030c15b7
gsth264parser: fix Coverity found not initialized sps/pps valid member.
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683264
2012-09-14 17:27:49 +02:00
Peter Seiderer
8a91eed6ad
gsth264parser: fix Coverity detected off by one at call to READ_UE_ALLOWED.
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683263
2012-09-14 17:27:49 +02:00
Arnaud Vrac
0331fb6203
mpeg4parser: parse complexity estimation header in video object layer
...
https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:26 +02:00
Arnaud Vrac
af379b0b8e
mpeg4parser: fix some issues related to video object layer parsing
...
https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:24 +02:00
Jan Schmidt
c5c44628fc
mpegvideoparse: Handle Sequence Display Extension
...
Change the way the pixel-aspect-ratio is computed by
interpreting the sequence header aspect ratio info
as MPEG-1 values until a sequence extension or
sequence display extension is seen, and then updating
the sequence header struct accordingly.
Fixes incorrect anamorphic display on some MPEG-2 (DVD)
sequences.
2012-09-12 23:05:47 -07:00
Gwenole Beauchesne
0b2dd2e723
codecparsers: vc1: fix aspect ratio calculation.
...
ASPECT_HORIZ_SIZE and ASPECT_VERT_SIZE are syntax elements that hold
binary encodings of sizes ranging from 1 to 256. Thus, the calculated
pixel-aspect-ratio was off by one.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
https://bugzilla.gnome.org/show_bug.cgi?id=683858
2012-09-12 10:44:10 +01:00
Gwenole Beauchesne
2c3eaf527b
codecparsers: h264parse: don't use anonymous unions.
...
Anonymous union is an ISO C (2011) feature that is not exposed in
compilers strictly conforming to the previous standard.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-12 10:39:32 +01:00
Gwenole Beauchesne
a08273be72
codecparsers: h264: compute pixel aspect ratio.
...
Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-12 10:38:46 +01:00
Tim-Philipp Müller
7d41bc7825
codecparsers: minor header indentation clean-up for mpegvideoparser
2012-07-11 00:10:55 +01:00
Vincent Penquerc'h
8800946aa3
h264parser: do not assert on data input, just return
...
https://bugzilla.gnome.org/show_bug.cgi?id=674069
2012-06-11 11:12:36 +01:00
Edward Hervey
7d4f1aa8e8
h264parser: Remove un-needed checks and inline some functions
...
val and nr always exist (&nr, &value)
bits is always called smaller than the width
Makes parsing 30% faster
2012-06-06 10:33:18 +02:00
Mark Nauwelaerts
8d6aed5297
codecparsers: mpeg: relax entry constraint
...
... since it is acceptable and properly handled further on.
2012-06-01 11:13:17 +02:00
Mark Nauwelaerts
28f3858b94
mpegvideoparse: tweak codec parser API and adjust parser element
...
... to allow for more efficient parsing and (more) consistent parsing API
among various codec parsers.
Fixes #672701 .
Conflicts:
gst/videoparsers/gstmpegvideoparse.c
2012-05-22 14:09:47 +02:00
Mark Nauwelaerts
29a947642e
codecparsers: mpeg4: fixup documentation spelling
2012-05-22 14:00:50 +02:00
Nicolas Dufresne
920053dae6
mpegvideoparser: Optimize scanning for start code
...
https://bugzilla.gnome.org/show_bug.cgi?id=672701
2012-05-22 14:00:48 +02:00
Mark Nauwelaerts
e560ce0909
codecparsers: mpegvideoparser: fix buffer size check
...
... to mind unsigned integer wrap
Based on patch by Alban Browaeys <prahal@yahoo.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673436
2012-05-21 15:29:37 +02:00
Mark Nauwelaerts
5b2c2fa32b
codecparsers: mpeg4: do not expect a marker bit where not specified
...
Fixes #672447 .
2012-05-18 16:31:21 +02:00
Wind Yuan
cd001d7b8e
codecparser: mpeg4 type error
2012-05-01 11:01:37 +02:00
Matej Knopp
045e8bb506
mpegvideoparse: Do not ignore start code at the end of buffer
2012-04-16 08:42:12 +02:00
Sebastian Dröge
1318a97e0a
gst: Update versioning
2012-04-04 14:44:34 +02:00
Thibault Saunier
1188120eba
Fix an unwanted double negation from last commit
2012-03-10 20:55:25 -03:00
Thibault Saunier
20669d461a
Fix 'ignoring return value of function declared with const attribute'
...
This always happens with GstByteReader/Writer and friends when
not taking into account returned boolean of the _read/_write functions
(which is actually wrong).
Make use of the *_unchecked variant as much as possible, or take the
returned value into account.
2012-03-10 19:22:07 -03:00
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
Thibault Saunier
ce71fdae1b
codecparsers: VC1: Implement bitplanes diff operator
2011-10-17 13:17:39 +02:00
Thibault Saunier
8090627581
codecparsers: VC1: Some cosmetics and debug logging enhancements
2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
ef5b8ef581
codecparsers: vc1: Implement bitplanes handling properly
...
Add a new GstVC1BitPlanes API.
2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
ac552a4f82
codecparsers: vc1: fix BFRACTION parser (values range + overflow).
2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
52d8510ee0
codecparsers: vc1: fix VLC decoding.
2011-10-17 13:17:39 +02:00
Thibault Saunier
1a1935dacf
codecparsers: VC1: Implement FrameLayer parsing
2011-10-17 13:17:39 +02:00
Thibault Saunier
fc09e45108
codecparsers: VC1: Implement Sequence Layer Data Structures
...
Instead of having a single VC1SequenceHeader structure, use the 3 structs
from the "Table 265: Sequence Layer Data Structure" of the specification
for the library to be more flexible.
Implement the functions to parse them
2011-10-17 13:17:38 +02:00
Thibault Saunier
446e0a5216
codecparsers: VC1: Compute framerate and bitrate in simple/main profiles
2011-10-17 13:17:38 +02:00
Thibault Saunier
2b5e7c1f0f
codecparsers: VC1: compute MB height and width
...
Add them to GstVC1SequenceHdr
2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
6137d841a0
codecparsers: vc1: debug cosmetics.
2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
de4a1049e2
codecparsers: vc1: record picture layer header size in bits.
2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
b181bd8bae
codecparsers: vc1: compute altpquant.
2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
604ce193dd
codecparsers: vc1: use GstVC1ParserResult type name similarly to other parsers.
2011-10-17 13:17:37 +02:00
Gwenole Beauchesne
bd686a6370
codecparsers: vc1: handle End-of-Sequence correctly.
2011-10-17 13:17:37 +02:00
Gwenole Beauchesne
c90bf89b16
codecparsers: mpeg2: fix quant_matrix_extension() parser for chroma intra QM.
2011-10-17 13:17:37 +02:00
Thibault Saunier
705a80d957
codecparser: VC1: Implement a VC1 parsing library
2011-09-26 08:46:37 -03:00
Thibault Saunier
2c928aba19
codecparsers: Declare the new APIs as unstable for the time being
2011-09-26 08:11:45 -03:00
Edward Hervey
7d5bd1992e
codecparsers: Add checks to input, and fix size checking
2011-09-19 16:40:45 +02: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
Thibault Saunier
f396baa3af
codecparsers: mpegvideo: Debugging symbols enhancements
2011-09-14 12:13:19 -03:00
Thibault Saunier
309df7e1e8
codecparsers: mpegvideo: Add the ChromaType enum
2011-09-14 12:13:19 -03:00
Thibault Saunier
10215d26de
codecparsers: mpegvideo: Change broken_gop to broken_link
...
This way we respect the standard naming
2011-09-14 12:13:19 -03: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
Edward Hervey
52a6db2206
docs: minor fixes
2011-09-02 16:10:17 +02: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
4bacba620f
codecparsers: h264: record slice_header() size in bits.
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
Gwenole Beauchesne
43e47009d5
codecparsers: h264: fix filler-data NAL unit type name.
2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
10ee3593f2
codecparsers: mpeg: add user-data packet start code definition.
2011-09-02 15:46:02 +02:00
Gwenole Beauchesne
888e8144a0
codecparsers: mpeg: fix Picture_Coding_Extension parser.
2011-09-02 15:46:02 +02:00
Thibault Saunier
a1cfba43f6
codecparsers: h264: Add an h.264 bitstream parsing library
2011-09-02 15:46:02 +02:00
Thibault Saunier
c64b99339c
codecparsers: mpeg: Add an mpeg video bitstream parsing library
...
Create a new codecparsers library
2011-09-02 15:46:02 +02:00