Move this from separate structure field to a packet flag.
Behavior should be equivalent, except that residual flag is now properly
cleared when packet has no core frame at all.
Also print a message when forcing recovery mode due to invalid residual
to make debugging easier.
Signed-off-by: James Almer <jamrial@gmail.com>
Parse core frame size directly when searching for frame end instead of
using value extracted from previous frame.
Account for unused bits when calculating sync word distance for 14-bit
streams to avoid alias sync detection.
Parse EXSS frame size and skip over EXSS frame to avoid alias sync
detection.
Signed-off-by: James Almer <jamrial@gmail.com>
* commit '71d3305c2711d4f6ec8b92db09ff64cf4e19a58e':
h264_parse: make sure the ref count is zeroed on all failure paths
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* commit 'a6e27f7add2698fdd89911632b570c3d0c3f2aaa':
h264: factor out parsing the reference count into a separate file
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* commit '8d0cc8ca97678f4ca87948ebabcbaab5a4f4c1f6':
h264_parser: switch to h2645_parse for NAL unescaping
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
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
1. no longer use the register names directly and optimized code format
2. to be compatible with O32, specify type of address variable with mips_reg and handle the address variable with PTR_ operator
3. optimize some unaligned loads and stores
4. use uld and mtc1 to workaround cpu 3A2000 gslwlc1 bug (gslwlc1 instruction extension bug in O32 ABI)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit 'f3ed484953b81856e40239d2410058a96188b2be':
h264_mp4toannexb_bsf: do not fail on annex B extradata
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
And simplify and explain the expression.
Fault introduced in f3fdef108eb06b1e71b29152bf6822519e787efe
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* commit '06edef3d5e072ef3c4face9ce946d2d9c36cc477':
Generate the lists of enabled protocols/bsfs from configure.
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Fixes the following warning / error:
libavcodec/libutvideoenc.cpp:281:1: warning: narrowing conversion of ‘3221258240u’ from ‘unsigned int’ to ‘int’ inside { } is ill-formed in C++11 [-Wnarrowing]
Fixes ticket #5542.
The loops are guaranteed to be at least multiples of 8, so this
unrolling is safe but allows exploiting execution ports.
For int32 version: 68 -> 58c.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '5e1a3ea3ba7bb0c71d931e93e60fb75f51b0cc1a':
lavc: move the vaapi encoders further down in the list of codecs
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>