{
WCMVContext *s = avctx->priv_data;
AVFrame *frame = data;
- int skip, blocks, zret, ret, intra = 0, bpp = s->bpp;
+ int skip, blocks, zret, ret, intra = 0, flags = 0, bpp = s->bpp;
GetByteContext gb;
uint8_t *dst;
}
bytestream2_init(&gb, avpkt->data, avpkt->size);
+ blocks = bytestream2_get_le16(&gb);
+ if (!blocks)
+ flags |= FF_REGET_BUFFER_FLAG_READONLY;
- if ((ret = ff_reget_buffer(avctx, s->prev_frame, 0)) < 0)
+ if ((ret = ff_reget_buffer(avctx, s->prev_frame, flags)) < 0)
return ret;
- blocks = bytestream2_get_le16(&gb);
if (blocks > 5) {
GetByteContext bgb;
int x = 0, size;