[FFmpeg-devel] [PATCH][RFC] avutil/reverse: make ff_reverse shared
James Almer
jamrial at gmail.com
Fri Dec 1 03:19:36 EET 2017
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
More information about the ffmpeg-devel
mailing list