]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/cavsdec.c
libavcodec/x86/mpegvideo: switch to av_assert2
[ffmpeg] / libavcodec / cavsdec.c
index a8a4d6b6492e48390cc6bbe1b4d1fd2f4cd2d747..34eeabdae21180f44e381ab95e4b6bdd38556819 100644 (file)
@@ -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;