printf ("  Interplay Video: get_buffer() failed\n");
av_log(avctx, AV_LOG_ERROR, "  Interplay Video: get_buffer() failed\n");
static int ipvideo_decode_frame(AVCodecContext *avctx,                                void *data, int *data_size,                                uint8_t *buf, int buf_size){    IpvideoContext *s = avctx->priv_data;    AVPaletteControl *palette_control = avctx->palctrl;    s->decoding_map = buf;    s->buf = buf + s->decoding_map_size;    s->size = buf_size - s->decoding_map_size;    s->current_frame.reference = 3;    if (avctx->get_buffer(avctx, &s->current_frame)) {        printf ("  Interplay Video: get_buffer() failed\n");        return -1;    }    ipvideo_decode_opcodes(s);    if (palette_control->palette_changed) {        palette_control->palette_changed = 0;        s->current_frame.palette_has_changed = 1;    }    *data_size = sizeof(AVFrame);    *(AVFrame*)data = s->current_frame;    /* shuffle frames */    if (s->second_last_frame.data[0])        avctx->release_buffer(avctx, &s->second_last_frame);    s->second_last_frame = s->last_frame;    s->last_frame = s->current_frame;    s->current_frame.data[0] = NULL;  /* catch any access attempts */    /* report that the buffer was completely consumed */    return buf_size;}