mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-17 13:04:50 +00:00
avcodec/h264: allow mixing idr and non idr slices with frame threading again
This combination exists in the wild Fixes Ticket3131 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
622d24e4eb
commit
4f4cc43fd8
@ -4879,7 +4879,9 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size,
|
||||
case NAL_IDR_SLICE:
|
||||
case NAL_SLICE:
|
||||
init_get_bits(&hx->gb, ptr, bit_length);
|
||||
if (!get_ue_golomb(&hx->gb) || !first_slice)
|
||||
if (!get_ue_golomb(&hx->gb) ||
|
||||
!first_slice ||
|
||||
first_slice != hx->nal_unit_type)
|
||||
nals_needed = nal_index;
|
||||
if (!first_slice)
|
||||
first_slice = hx->nal_unit_type;
|
||||
@ -4927,7 +4929,7 @@ again:
|
||||
|
||||
switch (hx->nal_unit_type) {
|
||||
case NAL_IDR_SLICE:
|
||||
if (first_slice != NAL_IDR_SLICE) {
|
||||
if (h->nal_unit_type != NAL_IDR_SLICE) {
|
||||
av_log(h->avctx, AV_LOG_ERROR,
|
||||
"Invalid mix of idr and non-idr slices\n");
|
||||
ret = -1;
|
||||
|
Loading…
Reference in New Issue
Block a user