| Index: third_party/ffmpeg/source/patched-ffmpeg/libavcodec/vp8.c
|
| ===================================================================
|
| --- third_party/ffmpeg/source/patched-ffmpeg/libavcodec/vp8.c (revision 109270)
|
| +++ third_party/ffmpeg/source/patched-ffmpeg/libavcodec/vp8.c (working copy)
|
| @@ -50,8 +50,7 @@
|
| int ret;
|
| if ((ret = ff_thread_get_buffer(s->avctx, f)) < 0)
|
| return ret;
|
| - if (s->num_maps_to_be_freed) {
|
| - assert(!s->maps_are_invalid);
|
| + if (s->num_maps_to_be_freed && !s->maps_are_invalid) {
|
| f->ref_index[0] = s->segmentation_maps[--s->num_maps_to_be_freed];
|
| } else if (!(f->ref_index[0] = av_mallocz(s->mb_width * s->mb_height))) {
|
| ff_thread_release_buffer(s->avctx, f);
|
| @@ -1565,13 +1564,15 @@
|
| VP8Context *s = avctx->priv_data;
|
| int ret, mb_x, mb_y, i, y, referenced;
|
| enum AVDiscard skip_thresh;
|
| - AVFrame *av_uninit(curframe), *prev_frame = s->framep[VP56_FRAME_CURRENT];
|
| + AVFrame *av_uninit(curframe), *prev_frame;
|
|
|
| release_queued_segmaps(s, 0);
|
|
|
| if ((ret = decode_frame_header(s, avpkt->data, avpkt->size)) < 0)
|
| return ret;
|
|
|
| + prev_frame = s->framep[VP56_FRAME_CURRENT];
|
| +
|
| referenced = s->update_last || s->update_golden == VP56_FRAME_CURRENT
|
| || s->update_altref == VP56_FRAME_CURRENT;
|
|
|
|
|