[FFmpeg-devel] [PATCH 2/6] dv: use smaller type for weight tables

Christophe Gisquet christophe.gisquet at gmail.com
Sat Oct 25 13:19:21 CEST 2014


---
 libavcodec/dv.c     |  4 ++--
 libavcodec/dvdata.c | 12 ++++++------
 libavcodec/dvdata.h | 12 ++++++------
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index e1e5dd9..1f04861 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -206,7 +206,7 @@ int ff_dv_init_dynamic_tables(DVVideoContext *ctx, const AVDVProfile *d)
     factor1 = &ctx->idct_factor[0];
     factor2 = &ctx->idct_factor[DV_PROFILE_IS_HD(d) ? 4096 : 2816];
     if (DV_PROFILE_IS_HD(d)) {
-        const int *iweight1, *iweight2;
+        const uint16_t *iweight1, *iweight2;
         if (d->height == 720) {
             iweight1 = &ff_dv_iweight_720_y[0];
             iweight2 = &ff_dv_iweight_720_c[0];
@@ -223,7 +223,7 @@ int ff_dv_init_dynamic_tables(DVVideoContext *ctx, const AVDVProfile *d)
             }
         }
     } else {
-        const int *iweight1 = &ff_dv_iweight_88[0];
+        const uint16_t *iweight1 = &ff_dv_iweight_88[0];
         for (j = 0; j < 2; j++, iweight1 = &ff_dv_iweight_248[0]) {
             for (s = 0; s < 22; s++) {
                 for (i = c = 0; c < 4; c++) {
diff --git a/libavcodec/dvdata.c b/libavcodec/dvdata.c
index 85cba53..007976e 100644
--- a/libavcodec/dvdata.c
+++ b/libavcodec/dvdata.c
@@ -69,7 +69,7 @@ const uint8_t ff_dv_quant_shifts[22][4] = {
 
 const uint8_t ff_dv_quant_offset[4] = { 6, 3, 0, 1 };
 
-const int ff_dv_iweight_88[64] = {
+const uint16_t ff_dv_iweight_88[64] = {
     32768, 16710, 16710, 17735, 17015, 17735, 18197, 18079,
     18079, 18197, 18725, 18559, 19196, 18559, 18725, 19284,
     19108, 19692, 19692, 19108, 19284, 21400, 19645, 20262,
@@ -79,7 +79,7 @@ const int ff_dv_iweight_88[64] = {
     24600, 25267, 24457, 22672, 24457, 25267, 25971, 25191,
     25191, 25971, 26715, 27962, 26715, 29642, 29642, 31536,
 };
-const int ff_dv_iweight_248[64] = {
+const uint16_t ff_dv_iweight_248[64] = {
     32768, 17735, 16710, 18079, 18725, 21400, 17735, 19196,
     19108, 21845, 16384, 17735, 18725, 21400, 16710, 18079,
     20262, 23173, 18197, 19692, 18725, 20262, 20815, 23764,
@@ -93,7 +93,7 @@ const int ff_dv_iweight_248[64] = {
 /**
  * The "inverse" DV100 weights are actually just the spec weights (zig-zagged).
  */
-const int ff_dv_iweight_1080_y[64] = {
+const uint16_t ff_dv_iweight_1080_y[64] = {
     128,  16,  16,  17,  17,  17,  18,  18,
      18,  18,  18,  18,  19,  18,  18,  19,
      19,  19,  19,  19,  19,  42,  38,  40,
@@ -103,7 +103,7 @@ const int ff_dv_iweight_1080_y[64] = {
      48,  49,  48,  44,  48,  49, 101,  98,
      98, 101, 104, 109, 104, 116, 116, 123,
 };
-const int ff_dv_iweight_1080_c[64] = {
+const uint16_t ff_dv_iweight_1080_c[64] = {
     128,  16,  16,  17,  17,  17,  25,  25,
      25,  25,  26,  25,  26,  25,  26,  26,
      26,  27,  27,  26,  26,  42,  38,  40,
@@ -113,7 +113,7 @@ const int ff_dv_iweight_1080_c[64] = {
      96, 197, 191, 177, 191, 197, 203, 197,
     197, 203, 209, 219, 209, 232, 232, 246,
 };
-const int ff_dv_iweight_720_y[64] = {
+const uint16_t ff_dv_iweight_720_y[64] = {
     128,  16,  16,  17,  17,  17,  18,  18,
      18,  18,  18,  18,  19,  18,  18,  19,
      19,  19,  19,  19,  19,  42,  38,  40,
@@ -123,7 +123,7 @@ const int ff_dv_iweight_720_y[64] = {
      96,  98,  96,  88,  96,  98, 202, 196,
     196, 202, 208, 218, 208, 232, 232, 246,
 };
-const int ff_dv_iweight_720_c[64] = {
+const uint16_t ff_dv_iweight_720_c[64] = {
     128,  24,  24,  26,  26,  26,  36,  36,
      36,  36,  36,  36,  38,  36,  36,  38,
      38,  38,  38,  38,  38,  84,  76,  80,
diff --git a/libavcodec/dvdata.h b/libavcodec/dvdata.h
index 0932d3a..3c4da44 100644
--- a/libavcodec/dvdata.h
+++ b/libavcodec/dvdata.h
@@ -26,12 +26,12 @@ 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];
 
-extern const int ff_dv_iweight_88[64];
-extern const int ff_dv_iweight_248[64];
-extern const int ff_dv_iweight_1080_y[64];
-extern const int ff_dv_iweight_1080_c[64];
-extern const int ff_dv_iweight_720_y[64];
-extern const int ff_dv_iweight_720_c[64];
+extern const uint16_t ff_dv_iweight_88[64];
+extern const uint16_t ff_dv_iweight_248[64];
+extern const uint16_t ff_dv_iweight_1080_y[64];
+extern const uint16_t ff_dv_iweight_1080_c[64];
+extern const uint16_t ff_dv_iweight_720_y[64];
+extern const uint16_t ff_dv_iweight_720_c[64];
 
 #define NB_DV_VLC 409
 
-- 
1.9.2.msysgit.0



More information about the ffmpeg-devel mailing list