h264: decode_update_thread_context() copy parameter sets before using them

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-12-19 21:38:39 +01:00
parent e33811bd26
commit af0fafcb6f
1 changed files with 7 additions and 0 deletions

View File

@ -1200,6 +1200,13 @@ static int decode_update_thread_context(AVCodecContext *dst,
s->height = s1->height;
s->mb_height = s1->mb_height;
h->b_stride = h1->b_stride;
// SPS/PPS
copy_parameter_set((void **)h->sps_buffers, (void **)h1->sps_buffers,
MAX_SPS_COUNT, sizeof(SPS));
h->sps = h1->sps;
copy_parameter_set((void **)h->pps_buffers, (void **)h1->pps_buffers,
MAX_PPS_COUNT, sizeof(PPS));
h->pps = h1->pps;
if ((err = h264_slice_header_init(h, 1)) < 0) {
av_log(h->s.avctx, AV_LOG_ERROR, "h264_slice_header_init() failed");