+ if ((ret = ff_get_buffer(avctx, frame, AV_GET_BUFFER_FLAG_REF)) < 0) {
+ av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
+ return ret;
+ }
+
+ if (inter && !s->last_frame->data[0]) {
+ av_log(avctx, AV_LOG_WARNING, "Missing reference frame.\n");
+ ret = ff_get_buffer(avctx, s->last_frame, AV_GET_BUFFER_FLAG_REF);
+ if (ret < 0)
+ return ret;
+ memset(s->last_frame->data[0], 0, s->last_frame->height *
+ s->last_frame->linesize[0]);
+ memset(s->last_frame->data[1], 0x80, s->last_frame->height / 2 *
+ s->last_frame->linesize[1]);
+ memset(s->last_frame->data[2], 0x80, s->last_frame->height / 2 *
+ s->last_frame->linesize[2]);
+ }
+
+ av_fast_padded_malloc(&s->bitstream_buf, &s->bitstream_buf_size,
+ bytestream2_get_bytes_left(&gb));
+ if (!s->bitstream_buf)