summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2014-03-26 04:41:29 -0700
committerDiego Biurrun <diego@biurrun.de>2014-04-04 19:08:05 +0200
commit5f9220437025a0d66abc68323b4ce9b50e72d51b (patch)
treead5169f00610fce0194a61287bced043e065ec5a
parent57b5b84e208ad61ffdd74ad849bed212deb92bc5 (diff)
dsputil: Move DV-specific ff_zigzag248_direct table to dvdata
-rw-r--r--libavcodec/dsputil.c13
-rw-r--r--libavcodec/dsputil.h1
-rw-r--r--libavcodec/dv.c2
-rw-r--r--libavcodec/dvdata.c13
-rw-r--r--libavcodec/dvdata.h2
-rw-r--r--libavcodec/dvenc.c2
6 files changed, 17 insertions, 16 deletions
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index 534bc92d40..a5f446b8a6 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -57,19 +57,6 @@ uint32_t ff_square_tab[512] = { 0, };
#define pb_7f (~0UL / 255 * 0x7f)
#define pb_80 (~0UL / 255 * 0x80)
-/* Specific zigzag scan for 248 idct. NOTE that unlike the
- * specification, we interleave the fields */
-const uint8_t ff_zigzag248_direct[64] = {
- 0, 8, 1, 9, 16, 24, 2, 10,
- 17, 25, 32, 40, 48, 56, 33, 41,
- 18, 26, 3, 11, 4, 12, 19, 27,
- 34, 42, 49, 57, 50, 58, 35, 43,
- 20, 28, 5, 13, 6, 14, 21, 29,
- 36, 44, 51, 59, 52, 60, 37, 45,
- 22, 30, 7, 15, 23, 31, 38, 46,
- 53, 61, 54, 62, 39, 47, 55, 63,
-};
-
const uint8_t ff_alternate_horizontal_scan[64] = {
0, 1, 2, 3, 8, 9, 16, 17,
10, 11, 4, 5, 6, 7, 15, 14,
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index 7f467d16ff..3ef48ecf42 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -35,7 +35,6 @@
/* encoding scans */
extern const uint8_t ff_alternate_horizontal_scan[64];
extern const uint8_t ff_alternate_vertical_scan[64];
-extern const uint8_t ff_zigzag248_direct[64];
extern uint32_t ff_square_tab[512];
diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index a6f614a425..1a54c4efa8 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -311,7 +311,7 @@ av_cold int ff_dvvideo_init(AVCodecContext *avctx)
/* 248DCT setup */
s->fdct[1] = dsp.fdct248;
s->idct_put[1] = ff_simple_idct248_put; // FIXME: need to add it to DSP
- memcpy(s->dv_zigzag[1], ff_zigzag248_direct, 64);
+ memcpy(s->dv_zigzag[1], ff_dv_zigzag248_direct, 64);
s->avctx = avctx;
avctx->chroma_sample_location = AVCHROMA_LOC_TOPLEFT;
diff --git a/libavcodec/dvdata.c b/libavcodec/dvdata.c
index f9c22ac20f..ad41a1b5b2 100644
--- a/libavcodec/dvdata.c
+++ b/libavcodec/dvdata.c
@@ -28,6 +28,19 @@
#include "dvdata.h"
+/* Specific zigzag scan for 248 idct. NOTE that unlike the
+ * specification, we interleave the fields */
+const uint8_t ff_dv_zigzag248_direct[64] = {
+ 0, 8, 1, 9, 16, 24, 2, 10,
+ 17, 25, 32, 40, 48, 56, 33, 41,
+ 18, 26, 3, 11, 4, 12, 19, 27,
+ 34, 42, 49, 57, 50, 58, 35, 43,
+ 20, 28, 5, 13, 6, 14, 21, 29,
+ 36, 44, 51, 59, 52, 60, 37, 45,
+ 22, 30, 7, 15, 23, 31, 38, 46,
+ 53, 61, 54, 62, 39, 47, 55, 63,
+};
+
/* unquant tables (not used directly) */
const uint8_t ff_dv_quant_shifts[22][4] = {
{ 3,3,4,4 },
diff --git a/libavcodec/dvdata.h b/libavcodec/dvdata.h
index 164ef1b31f..8e7c0fbcdf 100644
--- a/libavcodec/dvdata.h
+++ b/libavcodec/dvdata.h
@@ -21,6 +21,8 @@
#include <stdint.h>
+extern const uint8_t ff_dv_zigzag248_direct[64];
+
extern const uint8_t ff_dv_quant_shifts[22][4];
extern const uint8_t ff_dv_quant_offset[4];
diff --git a/libavcodec/dvenc.c b/libavcodec/dvenc.c
index 590a2a9527..6338deec26 100644
--- a/libavcodec/dvenc.c
+++ b/libavcodec/dvenc.c
@@ -245,7 +245,7 @@ static av_always_inline int dv_init_enc_block(EncBlockInfo* bi, uint8_t *data, i
}
bi->mb[0] = blk[0];
- zigzag_scan = bi->dct_mode ? ff_zigzag248_direct : ff_zigzag_direct;
+ zigzag_scan = bi->dct_mode ? ff_dv_zigzag248_direct : ff_zigzag_direct;
weight = bi->dct_mode ? dv_weight_248 : dv_weight_88;
for (area = 0; area < 4; area++) {