[FFmpeg-devel] [PATCH][RFC] avutil/reverse: make ff_reverse shared

Steven Liu lingjiujianke at gmail.com
Fri Dec 1 04:37:26 EET 2017


2017-12-01 9:19 GMT+08:00 James Almer <jamrial at gmail.com>:
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> Pros:
> Removes duplicate arrays and ugly c file including c files
>
> Cons:
> Makes the array in libavutil effectively part of the ABI.
> Might not be worth doing for 256 bytes
>
>
> Something like this was probably sent before, so i guess it
> will be rejected again.
>
>  libavcodec/Makefile          |  2 +-
>  libavcodec/asvdec.c          |  4 ++--
>  libavcodec/asvenc.c          |  4 ++--
>  libavcodec/dcaenc.c          |  2 +-
>  libavcodec/dsd.c             |  4 ++--
>  libavcodec/dsddec.c          |  2 +-
>  libavcodec/dstdec.c          |  2 +-
>  libavcodec/indeo2.c          |  2 +-
>  libavcodec/ivi.c             |  6 +++---
>  libavcodec/mathops.h         |  8 ++++----
>  libavcodec/mpeg12dec.c       |  4 ++--
>  libavcodec/pcm.c             |  8 ++++----
>  libavcodec/reverse.c         |  1 -
>  libavcodec/s302m.c           | 36 ++++++++++++++++++------------------
>  libavcodec/s302menc.c        | 36 ++++++++++++++++++------------------
>  libavcodec/tiff.c            | 10 +++++-----
>  libavcodec/webp.c            |  4 ++--
>  libavcodec/wnv1.c            |  4 ++--
>  libavcodec/xbmdec.c          |  4 ++--
>  libavcodec/xbmenc.c          |  2 +-
>  libavdevice/Makefile         |  1 -
>  libavdevice/decklink_dec.cpp |  2 +-
>  libavdevice/reverse.c        |  1 -
>  libavutil/eval.c             |  2 +-
>  libavutil/reverse.c          |  3 ++-
>  libavutil/reverse.h          |  3 ++-
>  26 files changed, 78 insertions(+), 79 deletions(-)
>  delete mode 100644 libavcodec/reverse.c
>  delete mode 100644 libavdevice/reverse.c
>
> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
> index ab7893f560..6942b2c926 100644
> --- a/libavcodec/Makefile
> +++ b/libavcodec/Makefile
> @@ -129,7 +129,7 @@ OBJS-$(CONFIG_QSVENC)                  += qsvenc.o
>  OBJS-$(CONFIG_RANGECODER)              += rangecoder.o
>  OBJS-$(CONFIG_RDFT)                    += rdft.o
>  OBJS-$(CONFIG_RV34DSP)                 += rv34dsp.o
> -OBJS-$(CONFIG_SHARED)                  += log2_tab.o reverse.o
> +OBJS-$(CONFIG_SHARED)                  += log2_tab.o
>  OBJS-$(CONFIG_SINEWIN)                 += sinewin.o sinewin_fixed.o
>  OBJS-$(CONFIG_SNAPPY)                  += snappy.o
>  OBJS-$(CONFIG_STARTCODE)               += startcode.o
> diff --git a/libavcodec/asvdec.c b/libavcodec/asvdec.c
> index 9a11446f52..11d1564db3 100644
> --- a/libavcodec/asvdec.c
> +++ b/libavcodec/asvdec.c
> @@ -71,7 +71,7 @@ static av_cold void init_vlcs(ASV1Context *a)
>  // FIXME write a reversed bitstream reader to avoid the double reverse
>  static inline int asv2_get_bits(GetBitContext *gb, int n)
>  {
> -    return ff_reverse[get_bits(gb, n) << (8 - n)];
> +    return avpriv_reverse[get_bits(gb, n) << (8 - n)];
>  }
>
>  static inline int asv1_get_level(GetBitContext *gb)
> @@ -229,7 +229,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
>      } else {
>          int i;
>          for (i = 0; i < buf_size; i++)
> -            a->bitstream_buffer[i] = ff_reverse[buf[i]];
> +            a->bitstream_buffer[i] = avpriv_reverse[buf[i]];
>      }
>
>      init_get_bits(&a->gb, a->bitstream_buffer, buf_size * 8);
> diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c
> index c4eca2a13d..7ed932c934 100644
> --- a/libavcodec/asvenc.c
> +++ b/libavcodec/asvenc.c
> @@ -37,7 +37,7 @@
>
>  static inline void asv2_put_bits(PutBitContext *pb, int n, int v)
>  {
> -    put_bits(pb, n, ff_reverse[v << (8 - n)]);
> +    put_bits(pb, n, avpriv_reverse[v << (8 - n)]);
>  }
>
>  static inline void asv1_put_level(PutBitContext *pb, int level)
> @@ -306,7 +306,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
>      } else {
>          int i;
>          for (i = 0; i < 4 * size; i++)
> -            pkt->data[i] = ff_reverse[pkt->data[i]];
> +            pkt->data[i] = avpriv_reverse[pkt->data[i]];
>      }
>
>      pkt->size   = size * 4;
> diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c
> index dd601ffae0..b111fe98ba 100644
> --- a/libavcodec/dcaenc.c
> +++ b/libavcodec/dcaenc.c
> @@ -446,7 +446,7 @@ static void fft(const int32_t in[2 * 256], cplx32 out[256])
>      }
>      /* post-rotation */
>      for (i = 0; i < 256; i++) {
> -        int b = ff_reverse[i];
> +        int b = avpriv_reverse[i];
>          rout[i].re = mul32(buf[b].re, cos_t(4 * i))
>                     - mul32(buf[b].im, sin_t(4 * i));
>          rout[i].im = mul32(buf[b].im, cos_t(4 * i))
> diff --git a/libavcodec/dsd.c b/libavcodec/dsd.c
> index 9104f38476..2233adf349 100644
> --- a/libavcodec/dsd.c
> +++ b/libavcodec/dsd.c
> @@ -63,11 +63,11 @@ void ff_dsd2pcm_translate(DSDContext* s, size_t samples, int lsbf,
>      pos = s->pos;
>
>      while (samples-- > 0) {
> -        s->buf[pos] = lsbf ? ff_reverse[*src] : *src;
> +        s->buf[pos] = lsbf ? avpriv_reverse[*src] : *src;
>          src += src_stride;
>
>          p = s->buf + ((pos - CTABLES) & FIFOMASK);
> -        *p = ff_reverse[*p];
> +        *p = avpriv_reverse[*p];
>
>          sum = 0.0;
>          for (i = 0; i < CTABLES; i++) {
> diff --git a/libavcodec/dsddec.c b/libavcodec/dsddec.c
> index 2c5c357acc..3974bdeeb2 100644
> --- a/libavcodec/dsddec.c
> +++ b/libavcodec/dsddec.c
> @@ -50,7 +50,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
>      if (!s)
>          return AVERROR(ENOMEM);
>
> -    silence = avctx->codec_id == AV_CODEC_ID_DSD_LSBF || avctx->codec_id == AV_CODEC_ID_DSD_LSBF_PLANAR ? ff_reverse[DSD_SILENCE] : DSD_SILENCE;
> +    silence = avctx->codec_id == AV_CODEC_ID_DSD_LSBF || avctx->codec_id == AV_CODEC_ID_DSD_LSBF_PLANAR ? avpriv_reverse[DSD_SILENCE] : DSD_SILENCE;
>      for (i = 0; i < avctx->channels; i++) {
>          s[i].pos = 0;
>          memset(s[i].buf, silence, sizeof(s[i].buf));
> diff --git a/libavcodec/dstdec.c b/libavcodec/dstdec.c
> index 368cb64931..d9c4734209 100644
> --- a/libavcodec/dstdec.c
> +++ b/libavcodec/dstdec.c
> @@ -197,7 +197,7 @@ static av_always_inline void ac_get(ArithCoder *ac, GetBitContext *gb, int p, in
>
>  static uint8_t prob_dst_x_bit(int c)
>  {
> -    return (ff_reverse[c & 127] >> 1) + 1;
> +    return (avpriv_reverse[c & 127] >> 1) + 1;
>  }
>
>  static void build_filter(int16_t table[DST_MAX_ELEMENTS][16][256], const Table *fsets)
> diff --git a/libavcodec/indeo2.c b/libavcodec/indeo2.c
> index 4971b84308..39c2a23279 100644
> --- a/libavcodec/indeo2.c
> +++ b/libavcodec/indeo2.c
> @@ -175,7 +175,7 @@ static int ir2_decode_frame(AVCodecContext *avctx,
>      /* decide whether frame uses deltas or not */
>  #ifndef BITSTREAM_READER_LE
>      for (i = 0; i < buf_size; i++)
> -        buf[i] = ff_reverse[buf[i]];
> +        buf[i] = avpriv_reverse[buf[i]];
>  #endif
>
>      if ((ret = init_get_bits8(&s->gb, buf + start, buf_size - start)) < 0)
> diff --git a/libavcodec/ivi.c b/libavcodec/ivi.c
> index cea40d82ca..76cf04f0a1 100644
> --- a/libavcodec/ivi.c
> +++ b/libavcodec/ivi.c
> @@ -125,10 +125,10 @@ static uint16_t inv_bits(uint16_t val, int nbits)
>      uint16_t res;
>
>      if (nbits <= 8) {
> -        res = ff_reverse[val] >> (8 - nbits);
> +        res = avpriv_reverse[val] >> (8 - nbits);
>      } else
> -        res = ((ff_reverse[val & 0xFF] << 8) +
> -               (ff_reverse[val >> 8])) >> (16 - nbits);
> +        res = ((avpriv_reverse[val & 0xFF] << 8) +
> +               (avpriv_reverse[val >> 8])) >> (16 - nbits);
>
>      return res;
>  }
> diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h
> index 1c35664318..c038cb5cd9 100644
> --- a/libavcodec/mathops.h
> +++ b/libavcodec/mathops.h
> @@ -242,10 +242,10 @@ static inline int8_t ff_u8_to_s8(uint8_t a)
>
>  static av_always_inline uint32_t bitswap_32(uint32_t x)
>  {
> -    return (uint32_t)ff_reverse[ x        & 0xFF] << 24 |
> -           (uint32_t)ff_reverse[(x >> 8)  & 0xFF] << 16 |
> -           (uint32_t)ff_reverse[(x >> 16) & 0xFF] << 8  |
> -           (uint32_t)ff_reverse[ x >> 24];
> +    return (uint32_t)avpriv_reverse[ x        & 0xFF] << 24 |
> +           (uint32_t)avpriv_reverse[(x >> 8)  & 0xFF] << 16 |
> +           (uint32_t)avpriv_reverse[(x >> 16) & 0xFF] << 8  |
> +           (uint32_t)avpriv_reverse[ x >> 24];
>  }
>
>  #endif /* AVCODEC_MATHOPS_H */
> diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
> index ac5ac4bca4..eda097cd3d 100644
> --- a/libavcodec/mpeg12dec.c
> +++ b/libavcodec/mpeg12dec.c
> @@ -2282,8 +2282,8 @@ static int mpeg_decode_a53_cc(AVCodecContext *avctx,
>                          field = (field == 2 ? 1 : 0);
>                          if (!s1->mpeg_enc_ctx.top_field_first) field = !field;
>                          cap[0] = 0x04 | field;
> -                        cap[1] = ff_reverse[cc1];
> -                        cap[2] = ff_reverse[cc2];
> +                        cap[1] = avpriv_reverse[cc1];
> +                        cap[2] = avpriv_reverse[cc2];
>                      }
>                      cap += 3;
>                  }
> diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c
> index 8c326c6829..ffb5253e4f 100644
> --- a/libavcodec/pcm.c
> +++ b/libavcodec/pcm.c
> @@ -126,8 +126,8 @@ static int pcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
>          break;
>      case AV_CODEC_ID_PCM_S24DAUD:
>          for (; n > 0; n--) {
> -            uint32_t tmp = ff_reverse[(*samples >> 8) & 0xff] +
> -                           (ff_reverse[*samples & 0xff] << 8);
> +            uint32_t tmp = avpriv_reverse[(*samples >> 8) & 0xff] +
> +                           (avpriv_reverse[*samples & 0xff] << 8);
>              tmp <<= 4; // sync flags would go here
>              bytestream_put_be24(&dst, tmp);
>              samples++;
> @@ -388,8 +388,8 @@ static int pcm_decode_frame(AVCodecContext *avctx, void *data,
>          for (; n > 0; n--) {
>              uint32_t v = bytestream_get_be24(&src);
>              v >>= 4; // sync flags are here
> -            AV_WN16A(samples, ff_reverse[(v >> 8) & 0xff] +
> -                             (ff_reverse[v        & 0xff] << 8));
> +            AV_WN16A(samples, avpriv_reverse[(v >> 8) & 0xff] +
> +                             (avpriv_reverse[v        & 0xff] << 8));
>              samples += 2;
>          }
>          break;
> diff --git a/libavcodec/reverse.c b/libavcodec/reverse.c
> deleted file mode 100644
> index 440badaf34..0000000000
> --- a/libavcodec/reverse.c
> +++ /dev/null
> @@ -1 +0,0 @@
> -#include "libavutil/reverse.c"
> diff --git a/libavcodec/s302m.c b/libavcodec/s302m.c
> index 584b58e28e..d14ee45aa2 100644
> --- a/libavcodec/s302m.c
> +++ b/libavcodec/s302m.c
> @@ -120,13 +120,13 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
>      if (avctx->bits_per_raw_sample == 24) {
>          uint32_t *o = (uint32_t *)frame->data[0];
>          for (; buf_size > 6; buf_size -= 7) {
> -            *o++ = ((unsigned)ff_reverse[buf[2]]        << 24) |
> -                   (ff_reverse[buf[1]]        << 16) |
> -                   (ff_reverse[buf[0]]        <<  8);
> -            *o++ = ((unsigned)ff_reverse[buf[6] & 0xf0] << 28) |
> -                   (ff_reverse[buf[5]]        << 20) |
> -                   (ff_reverse[buf[4]]        << 12) |
> -                   (ff_reverse[buf[3] & 0x0f] <<  4);
> +            *o++ = ((unsigned)avpriv_reverse[buf[2]]        << 24) |
> +                   (avpriv_reverse[buf[1]]        << 16) |
> +                   (avpriv_reverse[buf[0]]        <<  8);
> +            *o++ = ((unsigned)avpriv_reverse[buf[6] & 0xf0] << 28) |
> +                   (avpriv_reverse[buf[5]]        << 20) |
> +                   (avpriv_reverse[buf[4]]        << 12) |
> +                   (avpriv_reverse[buf[3] & 0x0f] <<  4);
>              buf += 7;
>          }
>          o = (uint32_t *)frame->data[0];
> @@ -142,12 +142,12 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
>      } else if (avctx->bits_per_raw_sample == 20) {
>          uint32_t *o = (uint32_t *)frame->data[0];
>          for (; buf_size > 5; buf_size -= 6) {
> -            *o++ = ((unsigned)ff_reverse[buf[2] & 0xf0] << 28) |
> -                   (ff_reverse[buf[1]]        << 20) |
> -                   (ff_reverse[buf[0]]        << 12);
> -            *o++ = ((unsigned)ff_reverse[buf[5] & 0xf0] << 28) |
> -                   (ff_reverse[buf[4]]        << 20) |
> -                   (ff_reverse[buf[3]]        << 12);
> +            *o++ = ((unsigned)avpriv_reverse[buf[2] & 0xf0] << 28) |
> +                   (avpriv_reverse[buf[1]]        << 20) |
> +                   (avpriv_reverse[buf[0]]        << 12);
> +            *o++ = ((unsigned)avpriv_reverse[buf[5] & 0xf0] << 28) |
> +                   (avpriv_reverse[buf[4]]        << 20) |
> +                   (avpriv_reverse[buf[3]]        << 12);
>              buf += 6;
>          }
>          o = (uint32_t *)frame->data[0];
> @@ -163,11 +163,11 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
>      } else {
>          uint16_t *o = (uint16_t *)frame->data[0];
>          for (; buf_size > 4; buf_size -= 5) {
> -            *o++ = (ff_reverse[buf[1]]        <<  8) |
> -                    ff_reverse[buf[0]];
> -            *o++ = (ff_reverse[buf[4] & 0xf0] << 12) |
> -                   (ff_reverse[buf[3]]        <<  4) |
> -                   (ff_reverse[buf[2]]        >>  4);
> +            *o++ = (avpriv_reverse[buf[1]]        <<  8) |
> +                    avpriv_reverse[buf[0]];
> +            *o++ = (avpriv_reverse[buf[4] & 0xf0] << 12) |
> +                   (avpriv_reverse[buf[3]]        <<  4) |
> +                   (avpriv_reverse[buf[2]]        >>  4);
>              buf += 5;
>          }
>          o = (uint16_t *)frame->data[0];
> diff --git a/libavcodec/s302menc.c b/libavcodec/s302menc.c
> index b04a54e482..c5634b09bf 100644
> --- a/libavcodec/s302menc.c
> +++ b/libavcodec/s302menc.c
> @@ -103,13 +103,13 @@ static int s302m_encode2_frame(AVCodecContext *avctx, AVPacket *avpkt,
>              uint8_t vucf = s->framing_index == 0 ? 0x10: 0;
>
>              for (channels = 0; channels < avctx->channels; channels += 2) {
> -                o[0] = ff_reverse[(samples[0] & 0x0000FF00) >> 8];
> -                o[1] = ff_reverse[(samples[0] & 0x00FF0000) >> 16];
> -                o[2] = ff_reverse[(samples[0] & 0xFF000000) >> 24];
> -                o[3] = ff_reverse[(samples[1] & 0x00000F00) >> 4] | vucf;
> -                o[4] = ff_reverse[(samples[1] & 0x000FF000) >> 12];
> -                o[5] = ff_reverse[(samples[1] & 0x0FF00000) >> 20];
> -                o[6] = ff_reverse[(samples[1] & 0xF0000000) >> 28];
> +                o[0] = avpriv_reverse[(samples[0] & 0x0000FF00) >> 8];
> +                o[1] = avpriv_reverse[(samples[0] & 0x00FF0000) >> 16];
> +                o[2] = avpriv_reverse[(samples[0] & 0xFF000000) >> 24];
> +                o[3] = avpriv_reverse[(samples[1] & 0x00000F00) >> 4] | vucf;
> +                o[4] = avpriv_reverse[(samples[1] & 0x000FF000) >> 12];
> +                o[5] = avpriv_reverse[(samples[1] & 0x0FF00000) >> 20];
> +                o[6] = avpriv_reverse[(samples[1] & 0xF0000000) >> 28];
>                  o += 7;
>                  samples += 2;
>              }
> @@ -125,12 +125,12 @@ static int s302m_encode2_frame(AVCodecContext *avctx, AVPacket *avpkt,
>              uint8_t vucf = s->framing_index == 0 ? 0x80: 0;
>
>              for (channels = 0; channels < avctx->channels; channels += 2) {
> -                o[0] = ff_reverse[ (samples[0] & 0x000FF000) >> 12];
> -                o[1] = ff_reverse[ (samples[0] & 0x0FF00000) >> 20];
> -                o[2] = ff_reverse[((samples[0] & 0xF0000000) >> 28) | vucf];
> -                o[3] = ff_reverse[ (samples[1] & 0x000FF000) >> 12];
> -                o[4] = ff_reverse[ (samples[1] & 0x0FF00000) >> 20];
> -                o[5] = ff_reverse[ (samples[1] & 0xF0000000) >> 28];
> +                o[0] = avpriv_reverse[ (samples[0] & 0x000FF000) >> 12];
> +                o[1] = avpriv_reverse[ (samples[0] & 0x0FF00000) >> 20];
> +                o[2] = avpriv_reverse[((samples[0] & 0xF0000000) >> 28) | vucf];
> +                o[3] = avpriv_reverse[ (samples[1] & 0x000FF000) >> 12];
> +                o[4] = avpriv_reverse[ (samples[1] & 0x0FF00000) >> 20];
> +                o[5] = avpriv_reverse[ (samples[1] & 0xF0000000) >> 28];
>                  o += 6;
>                  samples += 2;
>              }
> @@ -146,11 +146,11 @@ static int s302m_encode2_frame(AVCodecContext *avctx, AVPacket *avpkt,
>              uint8_t vucf = s->framing_index == 0 ? 0x10 : 0;
>
>              for (channels = 0; channels < avctx->channels; channels += 2) {
> -                o[0] = ff_reverse[ samples[0] & 0xFF];
> -                o[1] = ff_reverse[(samples[0] & 0xFF00) >>  8];
> -                o[2] = ff_reverse[(samples[1] & 0x0F)   <<  4] | vucf;
> -                o[3] = ff_reverse[(samples[1] & 0x0FF0) >>  4];
> -                o[4] = ff_reverse[(samples[1] & 0xF000) >> 12];
> +                o[0] = avpriv_reverse[ samples[0] & 0xFF];
> +                o[1] = avpriv_reverse[(samples[0] & 0xFF00) >>  8];
> +                o[2] = avpriv_reverse[(samples[1] & 0x0F)   <<  4] | vucf;
> +                o[3] = avpriv_reverse[(samples[1] & 0x0FF0) >>  4];
> +                o[4] = avpriv_reverse[(samples[1] & 0xF000) >> 12];
>                  o += 5;
>                  samples += 2;
>
> diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
> index 1b332a754d..1537dfac97 100644
> --- a/libavcodec/tiff.c
> +++ b/libavcodec/tiff.c
> @@ -284,7 +284,7 @@ static int deinvert_buffer(TiffContext *s, const uint8_t *src, int size)
>      if (!s->deinvert_buf)
>          return AVERROR(ENOMEM);
>      for (i = 0; i < size; i++)
> -        s->deinvert_buf[i] = ff_reverse[src[i]];
> +        s->deinvert_buf[i] = avpriv_reverse[src[i]];
>
>      return 0;
>  }
> @@ -469,7 +469,7 @@ static int tiff_unpack_fax(TiffContext *s, uint8_t *dst, int stride,
>          memcpy(src2, src, size);
>      } else {
>          for (i = 0; i < size; i++)
> -            src2[i] = ff_reverse[src[i]];
> +            src2[i] = avpriv_reverse[src[i]];
>      }
>      memset(src2 + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
>      ret = ff_ccitt_unpack(s->avctx, src2, size, dst, lines, stride,
> @@ -600,7 +600,7 @@ static int tiff_unpack_strip(TiffContext *s, AVFrame *p, uint8_t *dst, int strid
>              } else {
>                  int i;
>                  for (i = 0; i < width; i++)
> -                    dst[i] = ff_reverse[src[i]];
> +                    dst[i] = avpriv_reverse[src[i]];
>              }
>              src += width;
>              break;
> @@ -610,7 +610,7 @@ static int tiff_unpack_strip(TiffContext *s, AVFrame *p, uint8_t *dst, int strid
>                      av_log(s->avctx, AV_LOG_ERROR, "Read went out of bounds\n");
>                      return AVERROR_INVALIDDATA;
>                  }
> -                code = s->fill_order ? (int8_t) ff_reverse[*src++]: (int8_t) *src++;
> +                code = s->fill_order ? (int8_t) avpriv_reverse[*src++]: (int8_t) *src++;
>                  if (code >= 0) {
>                      code++;
>                      if (pixels + code > width ||
> @@ -639,7 +639,7 @@ static int tiff_unpack_strip(TiffContext *s, AVFrame *p, uint8_t *dst, int strid
>              if (s->fill_order) {
>                  int i;
>                  for (i = 0; i < width; i++)
> -                    dst[i] = ff_reverse[dst[i]];
> +                    dst[i] = avpriv_reverse[dst[i]];
>              }
>              break;
>          }
> diff --git a/libavcodec/webp.c b/libavcodec/webp.c
> index 077bb06f85..c885d48901 100644
> --- a/libavcodec/webp.c
> +++ b/libavcodec/webp.c
> @@ -248,7 +248,7 @@ static av_always_inline int webp_get_vlc(GetBitContext *gb, VLC_TYPE (*table)[2]
>      UPDATE_CACHE(re, gb);
>
>      index = SHOW_UBITS(re, gb, 8);
> -    index = ff_reverse[index];
> +    index = avpriv_reverse[index];
>      code  = table[index][0];
>      n     = table[index][1];
>
> @@ -259,7 +259,7 @@ static av_always_inline int webp_get_vlc(GetBitContext *gb, VLC_TYPE (*table)[2]
>          nb_bits = -n;
>
>          index = SHOW_UBITS(re, gb, nb_bits);
> -        index = (ff_reverse[index] >> (8 - nb_bits)) + code;
> +        index = (avpriv_reverse[index] >> (8 - nb_bits)) + code;
>          code  = table[index][0];
>          n     = table[index][1];
>      }
> diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c
> index 915e9c7dc9..4ec7b3626e 100644
> --- a/libavcodec/wnv1.c
> +++ b/libavcodec/wnv1.c
> @@ -50,7 +50,7 @@ static inline int wnv1_get_code(WNV1Context *w, int base_value)
>      int v = get_vlc2(&w->gb, code_vlc.table, CODE_VLC_BITS, 1);
>
>      if (v == 15)
> -        return ff_reverse[get_bits(&w->gb, 8 - w->shift)];
> +        return avpriv_reverse[get_bits(&w->gb, 8 - w->shift)];
>      else
>          return base_value + ((v - 7U) << w->shift);
>  }
> @@ -87,7 +87,7 @@ static int decode_frame(AVCodecContext *avctx,
>      p->key_frame = 1;
>
>      for (i = 8; i < buf_size; i++)
> -        rbuf[i] = ff_reverse[buf[i]];
> +        rbuf[i] = avpriv_reverse[buf[i]];
>
>      if ((ret = init_get_bits8(&l->gb, rbuf + 8, buf_size - 8)) < 0)
>          return ret;
> diff --git a/libavcodec/xbmdec.c b/libavcodec/xbmdec.c
> index d19bdaee23..28bffa7229 100644
> --- a/libavcodec/xbmdec.c
> +++ b/libavcodec/xbmdec.c
> @@ -103,13 +103,13 @@ static int xbm_decode_frame(AVCodecContext *avctx, void *data,
>                  val = convert(*ptr++);
>                  if (av_isxdigit(*ptr))
>                      val = (val << 4) + convert(*ptr++);
> -                *dst++ = ff_reverse[val];
> +                *dst++ = avpriv_reverse[val];
>                  if (av_isxdigit(*ptr) && j+1 < linesize) {
>                      j++;
>                      val = convert(*ptr++);
>                      if (av_isxdigit(*ptr))
>                          val = (val << 4) + convert(*ptr++);
> -                    *dst++ = ff_reverse[val];
> +                    *dst++ = avpriv_reverse[val];
>                  }
>              } else {
>                  av_log(avctx, AV_LOG_ERROR,
> diff --git a/libavcodec/xbmenc.c b/libavcodec/xbmenc.c
> index b25615f2a4..6449400456 100644
> --- a/libavcodec/xbmenc.c
> +++ b/libavcodec/xbmenc.c
> @@ -43,7 +43,7 @@ static int xbm_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
>      buf += snprintf(buf, 40, "static unsigned char image_bits[] = {\n");
>      for (i = 0; i < avctx->height; i++) {
>          for (j = 0; j < linesize; j++)
> -            buf += snprintf(buf, 7, " 0x%02X,", ff_reverse[*ptr++]);
> +            buf += snprintf(buf, 7, " 0x%02X,", avpriv_reverse[*ptr++]);
>          ptr += p->linesize[0] - linesize;
>          buf += snprintf(buf, 2, "\n");
>      }
> diff --git a/libavdevice/Makefile b/libavdevice/Makefile
> index 8228d62147..53b5f90b29 100644
> --- a/libavdevice/Makefile
> +++ b/libavdevice/Makefile
> @@ -9,7 +9,6 @@ OBJS    = alldevices.o                                                  \
>            utils.o                                                       \
>
>  OBJS-$(HAVE_LIBC_MSVCRT)                 += file_open.o
> -OBJS-$(CONFIG_SHARED)                    += reverse.o
>
>  # input/output devices
>  OBJS-$(CONFIG_ALSA_INDEV)                += alsa_dec.o alsa.o timefilter.o
> diff --git a/libavdevice/decklink_dec.cpp b/libavdevice/decklink_dec.cpp
> index 94dae26003..4cf7c654b4 100644
> --- a/libavdevice/decklink_dec.cpp
> +++ b/libavdevice/decklink_dec.cpp
> @@ -213,7 +213,7 @@ static uint8_t* teletext_data_unit_from_op47_vbi_packet(int line, uint16_t *py,
>      tgt += 4;
>
>      for (i = 0; i < 42; i++)
> -       *tgt++ = ff_reverse[py[i] & 255];
> +       *tgt++ = avpriv_reverse[py[i] & 255];
>
>      return tgt;
>  }
> diff --git a/libavdevice/reverse.c b/libavdevice/reverse.c
> deleted file mode 100644
> index 440badaf34..0000000000
> --- a/libavdevice/reverse.c
> +++ /dev/null
> @@ -1 +0,0 @@
> -#include "libavutil/reverse.c"
> diff --git a/libavutil/eval.c b/libavutil/eval.c
> index 5da9a6d83b..95495356f4 100644
> --- a/libavutil/eval.c
> +++ b/libavutil/eval.c
> @@ -265,7 +265,7 @@ static double eval_expr(Parser *p, AVExpr *e)
>              double x_max = eval_expr(p, e->param[1]);
>              for(i=-1; i<1024; i++) {
>                  if(i<255) {
> -                    p->var[0] = ff_reverse[i&255]*x_max/255;
> +                    p->var[0] = avpriv_reverse[i&255]*x_max/255;
>                  } else {
>                      p->var[0] = x_max*pow(0.9, i-255);
>                      if (i&1) p->var[0] *= -1;
> diff --git a/libavutil/reverse.c b/libavutil/reverse.c
> index 105eb03dda..1d46940c41 100644
> --- a/libavutil/reverse.c
> +++ b/libavutil/reverse.c
> @@ -19,8 +19,9 @@
>   */
>
>  #include <stdint.h>
> +#include "reverse.h"
>
> -const uint8_t ff_reverse[256] = {
> +const uint8_t avpriv_reverse[256] = {
>  0x00,0x80,0x40,0xC0,0x20,0xA0,0x60,0xE0,0x10,0x90,0x50,0xD0,0x30,0xB0,0x70,0xF0,
>  0x08,0x88,0x48,0xC8,0x28,0xA8,0x68,0xE8,0x18,0x98,0x58,0xD8,0x38,0xB8,0x78,0xF8,
>  0x04,0x84,0x44,0xC4,0x24,0xA4,0x64,0xE4,0x14,0x94,0x54,0xD4,0x34,0xB4,0x74,0xF4,
> diff --git a/libavutil/reverse.h b/libavutil/reverse.h
> index 4eb6123932..7bbaea7673 100644
> --- a/libavutil/reverse.h
> +++ b/libavutil/reverse.h
> @@ -22,7 +22,8 @@
>  #define AVUTIL_REVERSE_H
>
>  #include <stdint.h>
> +#include "internal.h"
>
> -extern const uint8_t ff_reverse[256];
> +extern av_export_avutil const uint8_t avpriv_reverse[256];
>
>  #endif /* AVUTIL_REVERSE_H */
> --
> 2.15.0


LGTM


Thanks


More information about the ffmpeg-devel mailing list