printf ("  RoQ: get_buffer() failed\n");
av_log(avctx, AV_LOG_ERROR, "  RoQ: get_buffer() failed\n");
static int roq_decode_frame(AVCodecContext *avctx,                            void *data, int *data_size,                            uint8_t *buf, int buf_size){    RoqContext *s = avctx->priv_data;    *data_size = 0;    if (avctx->get_buffer(avctx, &s->current_frame)) {        printf ("  RoQ: get_buffer() failed\n");        return -1;    }    s->y_stride = s->current_frame.linesize[0];    s->c_stride = s->current_frame.linesize[1];    s->buf = buf;    s->size = buf_size;    roqvideo_decode_frame(s);    /* release the last frame if it is allocated */    if (s->first_frame)        s->first_frame = 0;    else        avctx->release_buffer(avctx, &s->last_frame);    /* shuffle frames */    s->last_frame = s->current_frame;    *data_size = sizeof(AVFrame);    *(AVFrame*)data = s->current_frame;    return buf_size;}