]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/svq3.c
Icc 11.1 still does not align the stack pointer, disable some x264 functions.
[ffmpeg] / libavcodec / svq3.c
index e21e5422ab72ddc6d2b0dc7250cf965718ce4c9c..1d488b737b786c63e54614758f5d96fbc96e48fc 100644 (file)
@@ -724,6 +724,7 @@ static int svq3_decode_slice_header(H264Context *h)
             memcpy((uint8_t *) &s->gb.buffer[get_bits_count(&s->gb) >> 3],
                    &s->gb.buffer[s->gb.size_in_bits >> 3], (length - 1));
         }
+        skip_bits_long(&s->gb, 0);
     }
 
     if ((i = svq3_get_ue_golomb(&s->gb)) == INVALID_VLC || i >= 3){
@@ -888,8 +889,10 @@ static av_cold int svq3_decode_init(AVCodecContext *avctx)
 
 static int svq3_decode_frame(AVCodecContext *avctx,
                              void *data, int *data_size,
-                             const uint8_t *buf, int buf_size)
+                             AVPacket *avpkt)
 {
+    const uint8_t *buf = avpkt->data;
+    int buf_size = avpkt->size;
     MpegEncContext *const s = avctx->priv_data;
     H264Context *const h = avctx->priv_data;
     int m, mb_type;
@@ -1028,8 +1031,6 @@ static int svq3_decode_frame(AVCodecContext *avctx,
         *(AVFrame *) data = *(AVFrame *) &s->last_picture;
     }
 
-    avctx->frame_number = s->picture_number - 1;
-
     /* Do not output the last pic after seeking. */
     if (s->last_picture_ptr || s->low_delay) {
         *data_size = sizeof(AVFrame);
@@ -1050,5 +1051,5 @@ AVCodec svq3_decoder = {
     svq3_decode_frame,
     CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_DELAY,
     .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3"),
-    .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV410P, PIX_FMT_NONE},
+    .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUVJ420P, PIX_FMT_NONE},
 };