X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmotionpixels.c;h=6cb444a7034794e8ca9e18ad79260f51fdba5375;hb=e786e37326d4274c1dfbc37a6478680684c779c9;hp=a88b837b3ef7ab980a44d88b4c1fea611011f948;hpb=1b98bfb932ad36667ea7f18e24c54978623f6654;p=ffmpeg diff --git a/libavcodec/motionpixels.c b/libavcodec/motionpixels.c index a88b837b3ef..6cb444a7034 100644 --- a/libavcodec/motionpixels.c +++ b/libavcodec/motionpixels.c @@ -171,7 +171,7 @@ static int mp_read_codes_table(MotionPixelsContext *mp, GetBitContext *gb) return 0; } -static int mp_gradient(MotionPixelsContext *mp, int component, int v) +static av_always_inline int mp_gradient(MotionPixelsContext *mp, int component, int v) { int delta; @@ -196,11 +196,13 @@ static void mp_set_rgb_from_yuv(MotionPixelsContext *mp, int x, int y, const Yuv *(uint16_t *)&mp->frame->data[0][y * mp->frame->linesize[0] + x * 2] = color; } -static int mp_get_vlc(MotionPixelsContext *mp, GetBitContext *gb) +static av_always_inline int mp_get_vlc(MotionPixelsContext *mp, GetBitContext *gb) { int i; i = (mp->codes_count == 1) ? 0 : get_vlc2(gb, mp->vlc.table, mp->max_codes_bits, 1); + if (i < 0) + return i; return mp->codes[i].delta; } @@ -290,7 +292,7 @@ static int mp_decode_frame(AVCodecContext *avctx, GetBitContext gb; int i, count1, count2, sz, ret; - if ((ret = ff_reget_buffer(avctx, mp->frame)) < 0) + if ((ret = ff_reget_buffer(avctx, mp->frame, 0)) < 0) return ret; /* le32 bitstream msb first */