aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancesco Lavra <francescolavra@interfree.it>2009-11-09 09:11:35 +0000
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>2009-11-09 09:11:35 +0000
commit91cc5d37679b112d03c20d053905c3941c0a8992 (patch)
tree63de7240f7f22da61839db5cc9d50cc22562a59a
parent66ddc150f0231889f9a05f71739ff1a40db9a01d (diff)
downloadffmpeg-91cc5d37679b112d03c20d053905c3941c0a8992.tar.gz
Move ff_reverse in libavcodec to av_reverse in libavutil.
Patch by Francesco Lavra, francescolavra interfree it Originally committed as revision 20484 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/ac3enc.c4
-rw-r--r--libavcodec/asv1.c10
-rw-r--r--libavcodec/get_bits.h2
-rw-r--r--libavcodec/indeo2.c3
-rw-r--r--libavcodec/pcm.c10
-rw-r--r--libavcodec/tiff.c3
-rw-r--r--libavcodec/utils.c19
-rw-r--r--libavcodec/wnv1.c5
-rw-r--r--libavutil/avutil.h2
-rw-r--r--libavutil/common.h2
-rw-r--r--libavutil/mathematics.c19
11 files changed, 41 insertions, 38 deletions
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index 9b3e00e6e4..6f8fe009af 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -27,7 +27,7 @@
//#define DEBUG_BITALLOC
#include "libavutil/crc.h"
#include "avcodec.h"
-#include "get_bits.h" // for ff_reverse
+#include "libavutil/common.h" /* for av_reverse */
#include "put_bits.h"
#include "ac3.h"
#include "audioconvert.h"
@@ -138,7 +138,7 @@ static void fft(IComplex *z, int ln)
/* reverse */
for(j=0;j<np;j++) {
- int k = ff_reverse[j] >> (8 - ln);
+ int k = av_reverse[j] >> (8 - ln);
if (k < j)
FFSWAP(IComplex, z[k], z[j]);
}
diff --git a/libavcodec/asv1.c b/libavcodec/asv1.c
index 7a385e47a1..2b85d0421d 100644
--- a/libavcodec/asv1.c
+++ b/libavcodec/asv1.c
@@ -25,7 +25,7 @@
*/
#include "avcodec.h"
-#include "get_bits.h"
+#include "libavutil/common.h"
#include "put_bits.h"
#include "dsputil.h"
#include "mpeg12data.h"
@@ -140,11 +140,11 @@ 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 av_reverse[ get_bits(gb, n) << (8-n) ];
}
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, av_reverse[ v << (8-n) ]);
}
static inline int asv1_get_level(GetBitContext *gb){
@@ -417,7 +417,7 @@ static int decode_frame(AVCodecContext *avctx,
else{
int i;
for(i=0; i<buf_size; i++)
- a->bitstream_buffer[i]= ff_reverse[ buf[i] ];
+ a->bitstream_buffer[i]= av_reverse[ buf[i] ];
}
init_get_bits(&a->gb, a->bitstream_buffer, buf_size*8);
@@ -519,7 +519,7 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
else{
int i;
for(i=0; i<4*size; i++)
- buf[i]= ff_reverse[ buf[i] ];
+ buf[i]= av_reverse[ buf[i] ];
}
return size*4;
diff --git a/libavcodec/get_bits.h b/libavcodec/get_bits.h
index 0a3ffae25f..36beecd674 100644
--- a/libavcodec/get_bits.h
+++ b/libavcodec/get_bits.h
@@ -49,8 +49,6 @@
# endif
#endif
-extern const uint8_t ff_reverse[256];
-
#if ARCH_X86
// avoid +32 for shift optimization (gcc should do that ...)
static inline int32_t NEG_SSR32( int32_t a, int8_t s){
diff --git a/libavcodec/indeo2.c b/libavcodec/indeo2.c
index 52aede19fe..6755014110 100644
--- a/libavcodec/indeo2.c
+++ b/libavcodec/indeo2.c
@@ -27,6 +27,7 @@
#include "avcodec.h"
#include "get_bits.h"
#include "indeo2data.h"
+#include "libavutil/common.h"
typedef struct Ir2Context{
AVCodecContext *avctx;
@@ -160,7 +161,7 @@ static int ir2_decode_frame(AVCodecContext *avctx,
/* decide whether frame uses deltas or not */
#ifndef ALT_BITSTREAM_READER_LE
for (i = 0; i < buf_size; i++)
- buf[i] = ff_reverse[buf[i]];
+ buf[i] = av_reverse[buf[i]];
#endif
start = 48; /* hardcoded for now */
diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c
index a0ce9f5783..572ee947e5 100644
--- a/libavcodec/pcm.c
+++ b/libavcodec/pcm.c
@@ -25,7 +25,7 @@
*/
#include "avcodec.h"
-#include "get_bits.h" // for ff_reverse
+#include "libavutil/common.h" /* for av_reverse */
#include "bytestream.h"
#define MAX_CHANNELS 64
@@ -194,8 +194,8 @@ static int pcm_encode_frame(AVCodecContext *avctx,
break;
case CODEC_ID_PCM_S24DAUD:
for(;n>0;n--) {
- uint32_t tmp = ff_reverse[(*samples >> 8) & 0xff] +
- (ff_reverse[*samples & 0xff] << 8);
+ uint32_t tmp = av_reverse[(*samples >> 8) & 0xff] +
+ (av_reverse[*samples & 0xff] << 8);
tmp <<= 4; // sync flags would go here
bytestream_put_be24(&dst, tmp);
samples++;
@@ -396,8 +396,8 @@ static int pcm_decode_frame(AVCodecContext *avctx,
for(;n>0;n--) {
uint32_t v = bytestream_get_be24(&src);
v >>= 4; // sync flags are here
- *samples++ = ff_reverse[(v >> 8) & 0xff] +
- (ff_reverse[v & 0xff] << 8);
+ *samples++ = av_reverse[(v >> 8) & 0xff] +
+ (av_reverse[v & 0xff] << 8);
}
break;
case CODEC_ID_PCM_S16LE_PLANAR:
diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
index 8818a66530..51e5f8ee63 100644
--- a/libavcodec/tiff.c
+++ b/libavcodec/tiff.c
@@ -31,6 +31,7 @@
#include "lzw.h"
#include "tiff.h"
#include "faxcompr.h"
+#include "libavutil/common.h"
typedef struct TiffContext {
@@ -148,7 +149,7 @@ static int tiff_unpack_strip(TiffContext *s, uint8_t* dst, int stride, const uin
memcpy(src2, src, size);
}else{
for(i = 0; i < size; i++)
- src2[i] = ff_reverse[src[i]];
+ src2[i] = av_reverse[src[i]];
}
memset(src2+size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
switch(s->compr){
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 548f9474a4..2f18848a9a 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -45,25 +45,6 @@
#include <fcntl.h>
#endif
-const uint8_t ff_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,
-0x0C,0x8C,0x4C,0xCC,0x2C,0xAC,0x6C,0xEC,0x1C,0x9C,0x5C,0xDC,0x3C,0xBC,0x7C,0xFC,
-0x02,0x82,0x42,0xC2,0x22,0xA2,0x62,0xE2,0x12,0x92,0x52,0xD2,0x32,0xB2,0x72,0xF2,
-0x0A,0x8A,0x4A,0xCA,0x2A,0xAA,0x6A,0xEA,0x1A,0x9A,0x5A,0xDA,0x3A,0xBA,0x7A,0xFA,
-0x06,0x86,0x46,0xC6,0x26,0xA6,0x66,0xE6,0x16,0x96,0x56,0xD6,0x36,0xB6,0x76,0xF6,
-0x0E,0x8E,0x4E,0xCE,0x2E,0xAE,0x6E,0xEE,0x1E,0x9E,0x5E,0xDE,0x3E,0xBE,0x7E,0xFE,
-0x01,0x81,0x41,0xC1,0x21,0xA1,0x61,0xE1,0x11,0x91,0x51,0xD1,0x31,0xB1,0x71,0xF1,
-0x09,0x89,0x49,0xC9,0x29,0xA9,0x69,0xE9,0x19,0x99,0x59,0xD9,0x39,0xB9,0x79,0xF9,
-0x05,0x85,0x45,0xC5,0x25,0xA5,0x65,0xE5,0x15,0x95,0x55,0xD5,0x35,0xB5,0x75,0xF5,
-0x0D,0x8D,0x4D,0xCD,0x2D,0xAD,0x6D,0xED,0x1D,0x9D,0x5D,0xDD,0x3D,0xBD,0x7D,0xFD,
-0x03,0x83,0x43,0xC3,0x23,0xA3,0x63,0xE3,0x13,0x93,0x53,0xD3,0x33,0xB3,0x73,0xF3,
-0x0B,0x8B,0x4B,0xCB,0x2B,0xAB,0x6B,0xEB,0x1B,0x9B,0x5B,0xDB,0x3B,0xBB,0x7B,0xFB,
-0x07,0x87,0x47,0xC7,0x27,0xA7,0x67,0xE7,0x17,0x97,0x57,0xD7,0x37,0xB7,0x77,0xF7,
-0x0F,0x8F,0x4F,0xCF,0x2F,0xAF,0x6F,0xEF,0x1F,0x9F,0x5F,0xDF,0x3F,0xBF,0x7F,0xFF,
-};
-
static int volatile entangled_thread_counter=0;
int (*ff_lockmgr_cb)(void **mutex, enum AVLockOp op);
static void *codec_mutex;
diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c
index 9a5a77fe78..f537aee3af 100644
--- a/libavcodec/wnv1.c
+++ b/libavcodec/wnv1.c
@@ -26,6 +26,7 @@
#include "avcodec.h"
#include "get_bits.h"
+#include "libavutil/common.h"
typedef struct WNV1Context{
@@ -51,7 +52,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 av_reverse[ get_bits(&w->gb, 8 - w->shift) ];
else
return base_value + ((v - 7)<<w->shift);
}
@@ -87,7 +88,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]= av_reverse[ buf[i] ];
init_get_bits(&l->gb, rbuf+8, (buf_size-8)*8);
if (buf[2] >> 4 == 6)
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index fac1f5e2dd..da282bfb72 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -35,7 +35,7 @@
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
#define LIBAVUTIL_VERSION_MAJOR 50
-#define LIBAVUTIL_VERSION_MINOR 3
+#define LIBAVUTIL_VERSION_MINOR 4
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
diff --git a/libavutil/common.h b/libavutil/common.h
index a6303d9872..a8a9bd39e6 100644
--- a/libavutil/common.h
+++ b/libavutil/common.h
@@ -136,6 +136,8 @@
/* misc math functions */
extern const uint8_t ff_log2_tab[256];
+extern const uint8_t av_reverse[256];
+
static inline av_const int av_log2(unsigned int v)
{
int n = 0;
diff --git a/libavutil/mathematics.c b/libavutil/mathematics.c
index f57cf8e4b6..9988baae9c 100644
--- a/libavutil/mathematics.c
+++ b/libavutil/mathematics.c
@@ -50,6 +50,25 @@ const uint8_t ff_log2_tab[256]={
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
};
+const uint8_t av_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,
+0x0C,0x8C,0x4C,0xCC,0x2C,0xAC,0x6C,0xEC,0x1C,0x9C,0x5C,0xDC,0x3C,0xBC,0x7C,0xFC,
+0x02,0x82,0x42,0xC2,0x22,0xA2,0x62,0xE2,0x12,0x92,0x52,0xD2,0x32,0xB2,0x72,0xF2,
+0x0A,0x8A,0x4A,0xCA,0x2A,0xAA,0x6A,0xEA,0x1A,0x9A,0x5A,0xDA,0x3A,0xBA,0x7A,0xFA,
+0x06,0x86,0x46,0xC6,0x26,0xA6,0x66,0xE6,0x16,0x96,0x56,0xD6,0x36,0xB6,0x76,0xF6,
+0x0E,0x8E,0x4E,0xCE,0x2E,0xAE,0x6E,0xEE,0x1E,0x9E,0x5E,0xDE,0x3E,0xBE,0x7E,0xFE,
+0x01,0x81,0x41,0xC1,0x21,0xA1,0x61,0xE1,0x11,0x91,0x51,0xD1,0x31,0xB1,0x71,0xF1,
+0x09,0x89,0x49,0xC9,0x29,0xA9,0x69,0xE9,0x19,0x99,0x59,0xD9,0x39,0xB9,0x79,0xF9,
+0x05,0x85,0x45,0xC5,0x25,0xA5,0x65,0xE5,0x15,0x95,0x55,0xD5,0x35,0xB5,0x75,0xF5,
+0x0D,0x8D,0x4D,0xCD,0x2D,0xAD,0x6D,0xED,0x1D,0x9D,0x5D,0xDD,0x3D,0xBD,0x7D,0xFD,
+0x03,0x83,0x43,0xC3,0x23,0xA3,0x63,0xE3,0x13,0x93,0x53,0xD3,0x33,0xB3,0x73,0xF3,
+0x0B,0x8B,0x4B,0xCB,0x2B,0xAB,0x6B,0xEB,0x1B,0x9B,0x5B,0xDB,0x3B,0xBB,0x7B,0xFB,
+0x07,0x87,0x47,0xC7,0x27,0xA7,0x67,0xE7,0x17,0x97,0x57,0xD7,0x37,0xB7,0x77,0xF7,
+0x0F,0x8F,0x4F,0xCF,0x2F,0xAF,0x6F,0xEF,0x1F,0x9F,0x5F,0xDF,0x3F,0xBF,0x7F,0xFF,
+};
+
int64_t av_gcd(int64_t a, int64_t b){
if(b) return av_gcd(b, a%b);
else return a;