mpegvideoenc: make a table const
authorAnton Khirnov <anton@khirnov.net>
Sun, 22 May 2016 19:20:31 +0000 (21:20 +0200)
committerAnton Khirnov <anton@khirnov.net>
Thu, 19 Jan 2017 08:52:21 +0000 (09:52 +0100)
libavcodec/x86/mpegvideoenc.c

index 47349d1..ead2ed1 100644 (file)
 #include "libavcodec/mpegvideo.h"
 
 /* not permutated inverse zigzag_direct + 1 for MMX quantizer */
-DECLARE_ALIGNED(16, static uint16_t, inv_zigzag_direct16)[64];
+DECLARE_ALIGNED(16, static const uint16_t, inv_zigzag_direct16)[64] = {
+    1,  2,  6,  7,  15, 16, 28, 29, 3,  5,  8,  14, 17, 27, 30, 43, 4,  9,  13,
+    18, 26, 31, 42, 44, 10, 12, 19, 25, 32, 41, 45, 54, 11, 20, 24, 33, 40, 46,
+    53, 55, 21, 23, 34, 39, 47, 52, 56, 61, 22, 35, 38, 48, 51, 57, 60, 62, 36,
+    37, 49, 50, 58, 59, 63, 64,
+};
 
 #if HAVE_MMX_INLINE
 #define COMPILE_TEMPLATE_MMXEXT 0
@@ -196,10 +201,6 @@ static void  denoise_dct_sse2(MpegEncContext *s, int16_t *block){
 av_cold void ff_mpv_encode_init_x86(MpegEncContext *s)
 {
     const int dct_algo = s->avctx->dct_algo;
-    int i;
-
-    for (i = 0; i < 64; i++)
-        inv_zigzag_direct16[ff_zigzag_direct[i]] = i + 1;
 
     if (dct_algo == FF_DCT_AUTO || dct_algo == FF_DCT_MMX) {
 #if HAVE_MMX_INLINE