From patchwork Fri Dec 1 01:19:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 6488 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp572323jah; Thu, 30 Nov 2017 17:20:04 -0800 (PST) X-Google-Smtp-Source: AGs4zMZQIz27dUIGoIXx19rmbreb94eaag2lw8ikJhC+yXyazrTk0TnapBABggFw7EBPZFgZYk0b X-Received: by 10.28.193.66 with SMTP id r63mr3089667wmf.18.1512091204355; Thu, 30 Nov 2017 17:20:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512091204; cv=none; d=google.com; s=arc-20160816; b=hwqs3Hukl+fea1waNkeMwagfrJpNeX/3SVqemyBSzy36CqKx6FfKcsfTwboDYPia5Q at4sGDjP5h9dAZsgj/laLVkN03QyWaEVGF23UPdYoCr03sf1OXxqOTFwXiRfh47kgbeO BiyiOJzc9/G+K4fW/Jdro17lq+elizfP4vkYMaoB+iw5szllKIDCnLvgcdlvsToMIszC TdDwyM9lNd4rxfeOSkFgNliXOdZ/Ed5aYbbJ6mEVsauFOmznyPBzyuzCQ9WAEPd0RG4U ZUICZFvTLMJo7I24NuNm/h/IXak8p/KEePt3Ab1Z+tKTdmlkJHIhyyIHHHFz1+zUUvtT sX2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=H7czgy49GSWRjycXHqJS3R/nztxNr6TRZZbJlgb1wMo=; b=krr/0k/LdGsBtIeaAZL+pajul5hnXbqhyXvPYIZUSviMzhdFVCRrgK7ZmekNVHq132 +1H5lss+k4v48EGB/E3E7yTzJC0UwJy2qBXDi4rd8tDAFqIYb5rl0Dgk6jVY/8BXhCfB 2n2lBIetuHXcHlbO3YrQjmwVWBkmXzPia8+5k8jjcO0s7jB6/UewLhrtzSEGJJ+x2MaM hKzPCPNWDP6LkpzbH/EHR4+gRfnjf0E2z5rtI0Pl7krMKqyo/IvY5TijniBNeKSyeQnb sHlxdmI2eIoxlduua8nSQV+fLGtmPrD85fywycegEOKuT/3AHcXvrZeQcbP7E+BN+Ybr a/YA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=jKYLnpJ7; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c24si4326534wra.32.2017.11.30.17.20.03; Thu, 30 Nov 2017 17:20:04 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=jKYLnpJ7; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5AEB368A455; Fri, 1 Dec 2017 03:19:58 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5722A68A448 for ; Fri, 1 Dec 2017 03:19:51 +0200 (EET) Received: by mail-qt0-f194.google.com with SMTP id d4so11248531qtj.5 for ; Thu, 30 Nov 2017 17:19:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=TnZ/jlhcvFf90HBVRQduWWRo+5TK1ITUXCpLntBcAYc=; b=jKYLnpJ7eh7YTsl0QSHBYKReMJRpuR1CFPcaAnmpSCIhN1H9sUnLbUECgU5bFSidY3 TpqrwCKFopTa6f8hQ64nvMDSo1fCF8Gk0JBsUsz8hbKIG9ymHtT7t3FCt6eZJGYUqhVC AHYB6PvHWRvSG5y9xtIxP3a9JMi4ey2IfQogTzbnDuNVRsUFLTnN4Hx4ZysM7noHypaP k0e6QoE/0DTyz2HElSTYuoEyZkcoOXwXudGwc3p35dVPH/8MoYavmmmwG28lwNDkbHYE wYY7IwA2TqlXWKT2diTx76J0eyEjn9ixt374qTwRLtxDF+JS3hUdgqfCdP0HgNhZ9aVu 2eGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=TnZ/jlhcvFf90HBVRQduWWRo+5TK1ITUXCpLntBcAYc=; b=AqMu4cqqnSz13xQSLihP2XC71vXKOT4wuc/KbJJSSzEXxiqT7rK5au4yMLUz0Dm0UK a48jJb05pkFQkwvMEMY/cjgg+yb38d3ufw0CzLWglyrkJFeraQo+t0Mk7soChzdkZA2S NOZvqjB3mg3y3h7xhOL2u7/X1jc9DGn/ilEjITfx4XdpXk8GZrhb+cBefIIRpYbBQ9iG E3bhVjiuemcmlgsL7+YmwnxHtOwR6H0P4VDCLOLhPaIHUrsJBp5L0g7/1z/sp8NbsNvG oSDeEG3yaFbyiUfDDcU7dHxo/L6W2R5uQJhAqiZmbsQF6gc1+lbiIgfPTD1tnJDAvM3p Gong== X-Gm-Message-State: AKGB3mKyo4q24gcTFJDu1y/Mo0gA987xJWf1LtCZnpDGxaYhRogMy7s5 PFKDAcxo2qUaHp6Sv6XbO9sbXw== X-Received: by 10.200.25.47 with SMTP id t44mr6488405qtj.323.1512091193195; Thu, 30 Nov 2017 17:19:53 -0800 (PST) Received: from localhost.localdomain ([181.231.59.220]) by smtp.gmail.com with ESMTPSA id 26sm4080445qtm.3.2017.11.30.17.19.51 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 30 Nov 2017 17:19:52 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 30 Nov 2017 22:19:36 -0300 Message-Id: <20171201011936.11144-1-jamrial@gmail.com> X-Mailer: git-send-email 2.15.0 Subject: [FFmpeg-devel] [PATCH][RFC] avutil/reverse: make ff_reverse shared X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- 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 +#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 +#include "internal.h" -extern const uint8_t ff_reverse[256]; +extern av_export_avutil const uint8_t avpriv_reverse[256]; #endif /* AVUTIL_REVERSE_H */