[x264-devel] commit: de-duplicate vlc tables (Loren Merritt )
git version control
git at videolan.org
Thu Jul 10 15:38:45 CEST 2008
x264 | branch: master | Loren Merritt <pengvado at akuvian.org> | Fri Jul 4 21:03:26 2008 -0600| [ca9c628dc66e51f2aabb70298b150dc66f3e4bd2]
de-duplicate vlc tables
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=ca9c628dc66e51f2aabb70298b150dc66f3e4bd2
---
Makefile | 2 +-
common/bs.h | 11 +++++++++++
common/{vlc.h => vlc.c} | 17 ++++++-----------
encoder/cavlc.c | 1 -
4 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/Makefile b/Makefile
index 57537f0..8606eca 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ all: default
SRCS = common/mc.c common/predict.c common/pixel.c common/macroblock.c \
common/frame.c common/dct.c common/cpu.c common/cabac.c \
common/common.c common/mdate.c common/set.c \
- common/quant.c \
+ common/quant.c common/vlc.c \
encoder/analyse.c encoder/me.c encoder/ratecontrol.c \
encoder/set.c encoder/macroblock.c encoder/cabac.c \
encoder/cavlc.c encoder/encoder.c encoder/eval.c
diff --git a/common/bs.h b/common/bs.h
index 3d0235f..1a73690 100644
--- a/common/bs.h
+++ b/common/bs.h
@@ -25,6 +25,12 @@
#ifndef X264_BS_H
#define X264_BS_H
+typedef struct
+{
+ uint8_t i_bits;
+ uint8_t i_size;
+} vlc_t;
+
typedef struct bs_s
{
uint8_t *p_start;
@@ -36,6 +42,11 @@ typedef struct bs_s
int i_bits_encoded; /* RD only */
} bs_t;
+extern const vlc_t x264_coeff_token[5][17*4];
+extern const vlc_t x264_total_zeros[15][16];
+extern const vlc_t x264_total_zeros_dc[3][4];
+extern const vlc_t x264_run_before[7][15];
+
static inline void bs_init( bs_t *s, void *p_data, int i_data )
{
int offset = ((intptr_t)p_data & (WORD_SIZE-1));
diff --git a/common/vlc.h b/common/vlc.c
similarity index 98%
rename from common/vlc.h
rename to common/vlc.c
index 7d0b8e0..26ab90f 100644
--- a/common/vlc.h
+++ b/common/vlc.c
@@ -1,5 +1,5 @@
/*****************************************************************************
- * vlc.h : vlc table
+ * vlc.c : vlc table
*****************************************************************************
* Copyright (C) 2003 Laurent Aimar <fenrir at via.ecp.fr>
*
@@ -18,15 +18,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA.
*****************************************************************************/
-typedef struct
-{
- uint16_t i_bits;
- uint16_t i_size;
-} vlc_t;
+#include "common.h"
-/* XXX: don't forget to change it if you change vlc_t */
#define MKVLC( a, b ) { a, b }
-static const vlc_t x264_coeff_token[5][17*4] =
+const vlc_t x264_coeff_token[5][17*4] =
{
/* table 0 */
{
@@ -469,7 +464,7 @@ static const vlc_t x264_coeff_token[5][17*4] =
};
/* [i_total_coeff-1][i_total_zeros] */
-static const vlc_t x264_total_zeros[15][16] =
+const vlc_t x264_total_zeros[15][16] =
{
{ /* i_total 1 */
MKVLC( 0x1, 1 ), /* str=1 */
@@ -744,7 +739,7 @@ static const vlc_t x264_total_zeros[15][16] =
};
/* [i_total_coeff-1][i_total_zeros] */
-static const vlc_t x264_total_zeros_dc[3][4] =
+const vlc_t x264_total_zeros_dc[3][4] =
{
{
MKVLC( 0x01, 1 ), /* 1 */
@@ -767,7 +762,7 @@ static const vlc_t x264_total_zeros_dc[3][4] =
};
/* x264_run_before[__MIN( i_zero_left -1, 6 )][run_before] */
-static const vlc_t x264_run_before[7][15] =
+const vlc_t x264_run_before[7][15] =
{
{ /* i_zero_left 1 */
MKVLC( 0x1, 1 ), /* str=1 */
diff --git a/encoder/cavlc.c b/encoder/cavlc.c
index 057efdd..62fabd7 100644
--- a/encoder/cavlc.c
+++ b/encoder/cavlc.c
@@ -22,7 +22,6 @@
*****************************************************************************/
#include "common/common.h"
-#include "common/vlc.h"
#include "macroblock.h"
static const uint8_t intra4x4_cbp_to_golomb[48]=
More information about the x264-devel
mailing list