Commit 1ef267b8 authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/h264: Put the removed SPS handling code back

reverts one hunk from 7966ddfc
The new code from 7966ddfc only covers extradata based SPS

Fixes: ffplay -ss 13 58af5798-fa2c-42a2-997d-dc8e49de2d8a.flv
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 7966ddfc
...@@ -1490,9 +1490,23 @@ again: ...@@ -1490,9 +1490,23 @@ again:
break; break;
case NAL_SPS: case NAL_SPS:
init_get_bits(&h->gb, ptr, bit_length); init_get_bits(&h->gb, ptr, bit_length);
ret = ff_h264_decode_seq_parameter_set(h, 0); if (ff_h264_decode_seq_parameter_set(h, 0) >= 0)
if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE)) break;
goto end; if (h->is_avc ? nalsize : 1) {
av_log(h->avctx, AV_LOG_DEBUG,
"SPS decoding failure, trying again with the complete NAL\n");
if (h->is_avc)
av_assert0(next_avc - buf_index + consumed == nalsize);
if ((next_avc - buf_index + consumed - 1) >= INT_MAX/8)
break;
init_get_bits(&h->gb, &buf[buf_index + 1 - consumed],
8*(next_avc - buf_index + consumed - 1));
if (ff_h264_decode_seq_parameter_set(h, 0) >= 0)
break;
}
init_get_bits(&h->gb, ptr, bit_length);
ff_h264_decode_seq_parameter_set(h, 1);
break; break;
case NAL_PPS: case NAL_PPS:
init_get_bits(&h->gb, ptr, bit_length); init_get_bits(&h->gb, ptr, bit_length);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment