Hendrik Leppkes
83a940e7fb
h2645_parse: don't overread AnnexB NALs within an avc stream
...
We know the maximum size of an AnnexB NAL, signaling it as the maximum
NAL size allows ff_h2645_extract_rbsp to determine the correct size.
8 years ago
Hendrik Leppkes
c3e9b098e1
h2645_parse: only read avc length code at the correct position
...
Reading it from any other position would result in a wrong size being
read, instead fallback to the re-sync mechanic in the else clause.
8 years ago
Hendrik Leppkes
a9bb4cf87d
h2645_parse: support badly muxed mp4 streams
...
Some streams contain an additional AnnexB NAL inside the mp4/nalff NALU.
This commonly occurs in interlaced streams where both fields are packed
into the same MP4 NAL with an AnnexB startcode in between.
Port handling of this format from the previous h264 nal handling.
Fixes trac #5529
9 years ago
Hendrik Leppkes
d46e856350
h265_parse: skip zero sized NAL units
...
Avoids extra error checks later on and/or invalid reads.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
9 years ago
Hendrik Leppkes
9cc1ab63ac
h2645_parse: allow partial escaping
...
This ports the fix from 033a533
to the new parser module in prepartion
of using it for the h264 decoder.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
9 years ago
Hendrik Leppkes
c802389393
h2645_parse: initialize the GetBitContext to the proper size
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
9 years ago
Anton Khirnov
90ed6c5cf7
h2645_parse: compute the actual data length, without trailing paddding
...
This is required by h264.
9 years ago
Anton Khirnov
b667252a41
h2645_parse: add support for parsing h264
9 years ago
Anton Khirnov
52ec149fbe
h2645_parse: change the AVCodecContext* parameter to void*
...
This should make it more clear that it is not supposed to be used for
anything except logging.
9 years ago
Anton Khirnov
8229eff4b7
h2645_parse: add a function for uninitializing the packet
9 years ago
Anton Khirnov
fa936a307f
hevc_parse: rename into h2645_parse
...
This code will be shared with h264.
9 years ago
Mark Thompson
fbec157ea0
lavc/hevc: Allow arbitrary garbage in bytestream as long as at least one NAL unit is found.
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Vittorio Giovara
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Michael Niedermayer
744051a57a
avcodec/hevc_parse: Print the name of the NAL units in addition to the numerical nal_unit_type in the debug output
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
99558270ed
avcodec/hevc: Simplify skipped_bytes_pos code further
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
ad92410d90
avcodec/hevc: Move skipped_bytes_pos_nal to HEVCNAL, simplify code
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
bcc6c7bb65
avcodec/hevc: Move skipped_bytes_pos_size_nal into HAVCNAL
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
5620ed3557
avcodec/hevc: Remove skipped_bytes_nal, simplify code
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Anton Khirnov
d82e1adc20
hevc: move splitting the packet into NALUs into a separate function
...
This function is independent of the decoding context, so we'll be able
to use it in the parser.
9 years ago
Anton Khirnov
69ab9f53f9
hevc: split bitstream unescaping to a separate file
...
It will be useful in the QSV HEVC encoder.
9 years ago