diff options
author | Alexandra Hájková <alexandra@khirnov.net> | 2016-03-19 17:40:55 +0100 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2017-01-31 17:54:10 +0100 |
commit | 0f94de8a092b1a9f1fe45f830c0f134699c16de1 (patch) | |
tree | 4fa17a4b82f5f179f22cc7d0a6cd12429dd5f960 | |
parent | 6b1f559f9a0667390259374c738132ad9475fd39 (diff) | |
download | ffmpeg-0f94de8a092b1a9f1fe45f830c0f134699c16de1.tar.gz |
fic: Convert to the new bitstream reader
-rw-r--r-- | libavcodec/fic.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/libavcodec/fic.c b/libavcodec/fic.c index 1804104916..a038af6e60 100644 --- a/libavcodec/fic.c +++ b/libavcodec/fic.c @@ -24,9 +24,9 @@ #include "libavutil/common.h" #include "avcodec.h" -#include "golomb_legacy.h" +#include "bitstream.h" +#include "golomb.h" #include "internal.h" -#include "get_bits.h" typedef struct FICThreadContext { DECLARE_ALIGNED(16, int16_t, block)[64]; @@ -129,13 +129,13 @@ static void fic_idct_put(uint8_t *dst, int stride, int16_t *block) ptr += 8; } } -static int fic_decode_block(FICContext *ctx, GetBitContext *gb, +static int fic_decode_block(FICContext *ctx, BitstreamContext *bc, uint8_t *dst, int stride, int16_t *block) { int i, num_coeff; /* Is it a skip block? */ - if (get_bits1(gb)) { + if (bitstream_read_bit(bc)) { /* This is a P-frame. */ ctx->frame->key_frame = 0; ctx->frame->pict_type = AV_PICTURE_TYPE_P; @@ -145,12 +145,12 @@ static int fic_decode_block(FICContext *ctx, GetBitContext *gb, memset(block, 0, sizeof(*block) * 64); - num_coeff = get_bits(gb, 7); + num_coeff = bitstream_read(bc, 7); if (num_coeff > 64) return AVERROR_INVALIDDATA; for (i = 0; i < num_coeff; i++) - block[ff_zigzag_direct[i]] = get_se_golomb(gb) * + block[ff_zigzag_direct[i]] = get_se_golomb(bc) * ctx->qmat[ff_zigzag_direct[i]]; fic_idct_put(dst, stride, block); @@ -162,14 +162,14 @@ static int fic_decode_slice(AVCodecContext *avctx, void *tdata) { FICContext *ctx = avctx->priv_data; FICThreadContext *tctx = tdata; - GetBitContext gb; + BitstreamContext bc; uint8_t *src = tctx->src; int slice_h = tctx->slice_h; int src_size = tctx->src_size; int y_off = tctx->y_off; int x, y, p; - init_get_bits(&gb, src, src_size * 8); + bitstream_init8(&bc, src, src_size); for (p = 0; p < 3; p++) { int stride = ctx->frame->linesize[p]; @@ -179,7 +179,7 @@ static int fic_decode_slice(AVCodecContext *avctx, void *tdata) for (x = 0; x < (ctx->aligned_width >> !!p); x += 8) { int ret; - if ((ret = fic_decode_block(ctx, &gb, dst + x, stride, tctx->block)) != 0) + if ((ret = fic_decode_block(ctx, &bc, dst + x, stride, tctx->block)) != 0) return ret; } |