diff options
Diffstat (limited to 'contrib/ffmpeg/libavcodec/kmvc.c')
-rw-r--r-- | contrib/ffmpeg/libavcodec/kmvc.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/contrib/ffmpeg/libavcodec/kmvc.c b/contrib/ffmpeg/libavcodec/kmvc.c index 08de05188..395ca2cb9 100644 --- a/contrib/ffmpeg/libavcodec/kmvc.c +++ b/contrib/ffmpeg/libavcodec/kmvc.c @@ -17,7 +17,6 @@ * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * */ /** @@ -28,8 +27,8 @@ #include <stdio.h> #include <stdlib.h> -#include "common.h" #include "avcodec.h" +#include "bytestream.h" #define KMVC_KEYFRAME 0x80 #define KMVC_PALETTE 0x40 @@ -68,7 +67,7 @@ typedef struct BitBuf { } \ } -static void kmvc_decode_intra_8x8(KmvcContext * ctx, uint8_t * src, int w, int h) +static void kmvc_decode_intra_8x8(KmvcContext * ctx, const uint8_t * src, int w, int h) { BitBuf bb; int res, val; @@ -143,7 +142,7 @@ static void kmvc_decode_intra_8x8(KmvcContext * ctx, uint8_t * src, int w, int h } } -static void kmvc_decode_inter_8x8(KmvcContext * ctx, uint8_t * src, int w, int h) +static void kmvc_decode_inter_8x8(KmvcContext * ctx, const uint8_t * src, int w, int h) { BitBuf bb; int res, val; @@ -225,10 +224,10 @@ static void kmvc_decode_inter_8x8(KmvcContext * ctx, uint8_t * src, int w, int h } } -static int decode_frame(AVCodecContext * avctx, void *data, int *data_size, uint8_t * buf, +static int decode_frame(AVCodecContext * avctx, void *data, int *data_size, const uint8_t * buf, int buf_size) { - KmvcContext *const ctx = (KmvcContext *) avctx->priv_data; + KmvcContext *const ctx = avctx->priv_data; uint8_t *out, *src; int i; int header; @@ -250,7 +249,7 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *data_size, uint if (buf[0] == 127) { buf += 3; for (i = 0; i < 127; i++) { - ctx->pal[i + (header & 0x81)] = (buf[0] << 16) | (buf[1] << 8) | buf[2]; + ctx->pal[i + (header & 0x81)] = AV_RB24(buf); buf += 4; } buf -= 127 * 4 + 3; @@ -275,8 +274,7 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *data_size, uint ctx->pic.palette_has_changed = 1; // palette starts from index 1 and has 127 entries for (i = 1; i <= ctx->palsize; i++) { - ctx->pal[i] = (buf[0] << 16) | (buf[1] << 8) | buf[2]; - buf += 3; + ctx->pal[i] = bytestream_get_be24(&buf); } } @@ -342,7 +340,7 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *data_size, uint */ static int decode_init(AVCodecContext * avctx) { - KmvcContext *const c = (KmvcContext *) avctx->priv_data; + KmvcContext *const c = avctx->priv_data; int i; c->avctx = avctx; @@ -394,7 +392,7 @@ static int decode_init(AVCodecContext * avctx) */ static int decode_end(AVCodecContext * avctx) { - KmvcContext *const c = (KmvcContext *) avctx->priv_data; + KmvcContext *const c = avctx->priv_data; av_freep(&c->frm0); av_freep(&c->frm1); |