diff options
Diffstat (limited to 'libavcodec/cavsdec.c')
-rw-r--r-- | libavcodec/cavsdec.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c index a8a4d6b649..34eeabdae2 100644 --- a/libavcodec/cavsdec.c +++ b/libavcodec/cavsdec.c @@ -1112,7 +1112,7 @@ static void cavs_flush(AVCodecContext * avctx) { h->got_keyframe = 0; } -static int cavs_decode_frame(AVCodecContext * avctx,void *data, int *data_size, +static int cavs_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) { const uint8_t *buf = avpkt->data; int buf_size = avpkt->size; @@ -1128,7 +1128,7 @@ static int cavs_decode_frame(AVCodecContext * avctx,void *data, int *data_size, if (buf_size == 0) { if (!s->low_delay && h->DPB[0].f.data[0]) { - *data_size = sizeof(AVPicture); + *got_frame = 1; *picture = h->DPB[0].f; memset(&h->DPB[0], 0, sizeof(h->DPB[0])); } @@ -1156,7 +1156,7 @@ static int cavs_decode_frame(AVCodecContext * avctx,void *data, int *data_size, h->got_keyframe = 1; } case PIC_PB_START_CODE: - *data_size = 0; + *got_frame = 0; if(!h->got_keyframe) break; if(!h->top_qp) @@ -1165,12 +1165,12 @@ static int cavs_decode_frame(AVCodecContext * avctx,void *data, int *data_size, h->stc = stc; if(decode_pic(h)) break; - *data_size = sizeof(AVPicture); + *got_frame = 1; if(h->pic_type != AV_PICTURE_TYPE_B) { if(h->DPB[1].f.data[0]) { *picture = h->DPB[1].f; } else { - *data_size = 0; + *got_frame = 0; } } else *picture = h->picture.f; |