On Wed, Jan 11, 2017 at 10:44 PM, Diego Biurrun <di...@biurrun.de> wrote:
> ---
>
> Another fringe codec that should need no benchmarks.
>
>  libavcodec/magicyuv.c | 33 +++++++++++++++++----------------
>  1 file changed, 17 insertions(+), 16 deletions(-)
>
> diff --git a/libavcodec/magicyuv.c b/libavcodec/magicyuv.c
> index 310ead4..8dec6bb 100644
> --- a/libavcodec/magicyuv.c
> +++ b/libavcodec/magicyuv.c
> @@ -22,14 +22,15 @@
>  #include <stdlib.h>
>  #include <string.h>
>
> -#include "../libavutil/pixdesc.h"
> +#include "libavutil/pixdesc.h"
>
>  #include "avcodec.h"
> +#include "bitstream.h"
>  #include "bytestream.h"
> -#include "get_bits.h"
>  #include "huffyuvdsp.h"
>  #include "internal.h"
>  #include "thread.h"
> +#include "vlc.h"
>
>  typedef struct Slice {
>      uint32_t start;
> @@ -108,7 +109,7 @@ static int magy_decode_slice(AVCodecContext *avctx, void 
> *tdata,
>      int interlaced = s->interlaced;
>      AVFrame *p = s->p;
>      int i, k, x;
> -    GetBitContext gb;
> +    BitstreamContext bc;
>      uint8_t *dst;
>
>      for (i = 0; i < s->planes; i++) {
> @@ -119,20 +120,20 @@ static int magy_decode_slice(AVCodecContext *avctx, 
> void *tdata,
>          ptrdiff_t fake_stride = p->linesize[i] * (1 + interlaced);
>          ptrdiff_t stride = p->linesize[i];
>          int flags, pred;
> -        int ret = init_get_bits8(&gb, s->buf + s->slices[i][j].start,
> -                                 s->slices[i][j].size);
> +        int ret = bitstream_init8(&bc, s->buf + s->slices[i][j].start,
> +                                  s->slices[i][j].size);
>
>          if (ret < 0)
>              return ret;
>
> -        flags = get_bits(&gb, 8);
> -        pred  = get_bits(&gb, 8);
> +        flags = bitstream_read(&bc, 8);
> +        pred  = bitstream_read(&bc, 8);
>
>          dst = p->data[i] + j * sheight * stride;
>          if (flags & 1) {
>              for (k = 0; k < height; k++) {
>                  for (x = 0; x < width; x++)
> -                    dst[x] = get_bits(&gb, 8);
> +                    dst[x] = bitstream_read(&bc, 8);
>
>                  dst += stride;
>              }
> @@ -140,10 +141,10 @@ static int magy_decode_slice(AVCodecContext *avctx, 
> void *tdata,
>              for (k = 0; k < height; k++) {
>                  for (x = 0; x < width; x++) {
>                      int pix;
> -                    if (get_bits_left(&gb) <= 0)
> +                    if (bitstream_bits_left(&bc) <= 0)
>                          return AVERROR_INVALIDDATA;
>
> -                    pix = get_vlc2(&gb, s->vlc[i].table, s->vlc[i].bits, 3);
> +                    pix = bitstream_read_vlc(&bc, s->vlc[i].table, 
> s->vlc[i].bits, 3);
>                      if (pix < 0)
>                          return AVERROR_INVALIDDATA;
>
> @@ -238,7 +239,7 @@ static int magy_decode_frame(AVCodecContext *avctx, void 
> *data,
>      ThreadFrame frame = { .f = data };
>      AVFrame *p = data;
>      GetByteContext gbyte;
> -    GetBitContext gbit;
> +    BitstreamContext gbit;

I wonder whether we should call it 'bc' like the others

>      uint32_t first_offset, offset, next_offset, header_size, slice_width;
>      int width, height, format, version, table_size;
>      int ret, i, j, k;
> @@ -370,16 +371,16 @@ static int magy_decode_frame(AVCodecContext *avctx, 
> void *data,
>      if (table_size < 2)
>          return AVERROR_INVALIDDATA;
>
> -    ret = init_get_bits8(&gbit, avpkt->data + bytestream2_tell(&gbyte), 
> table_size);
> +    ret = bitstream_init8(&gbit, avpkt->data + bytestream2_tell(&gbyte), 
> table_size);
>      if (ret < 0)
>          return ret;
>
>      memset(s->len, 0, sizeof(s->len));
>      j = i = 0;
> -    while (get_bits_left(&gbit) >= 8) {
> -        int b = get_bits(&gbit, 4);
> -        int x = get_bits(&gbit, 4);
> -        int l = get_bitsz(&gbit, b) + 1;
> +    while (bitstream_bits_left(&gbit) >= 8) {
> +        int b = bitstream_read(&gbit, 4);
> +        int x = bitstream_read(&gbit, 4);
> +        int l = bitstream_read(&gbit, b) + 1;
>
>          for (k = 0; k < l; k++)
>              if (j + k < 256)
> --

should be fine either way
-- 
Vittorio
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to