History

Pretty printed the C++ code with astyle

Ethan Hugg committed 12 years ago

Commit ff6b6691 parent 063709c225 files · +48457 −51954Browse files

Showing the changes to codec/encoder/core/src/encoder_data_tables.cpp (1 of 225 files). Show all

Unified · Split

codec/encoder/core/src/encoder_data_tables.cpp+500−475
@@ -1,475 +1,500 @@
1/*!1/*!
2 * \copy2 * \copy
3 * Copyright (c) 2013, Cisco Systems3 * Copyright (c) 2013, Cisco Systems
4 * All rights reserved.4 * All rights reserved.
5 *5 *
6 * Redistribution and use in source and binary forms, with or without6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions7 * modification, are permitted provided that the following conditions
8 * are met:8 * are met:
9 *9 *
10 * * Redistributions of source code must retain the above copyright10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.11 * notice, this list of conditions and the following disclaimer.
12 *12 *
13 * * Redistributions in binary form must reproduce the above copyright13 * * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in14 * notice, this list of conditions and the following disclaimer in
15 * the documentation and/or other materials provided with the15 * the documentation and/or other materials provided with the
16 * distribution.16 * distribution.
17 *17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE21 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,22 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,23 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;24 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT26 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE28 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.29 * POSSIBILITY OF SUCH DAMAGE.
30 *30 *
31 */31 */
32 32
33// exp_data.c33// exp_data.c
34// export date cross various modules (.c)34// export date cross various modules (.c)
35#include "typedefs.h"35#include "typedefs.h"
36#include "wels_common_basis.h"36#include "wels_common_basis.h"
37#include "mb_cache.h"37#include "mb_cache.h"
38#include "utils.h"38#include "utils.h"
39#include "md.h"39#include "md.h"
40#include "sample.h"40#include "sample.h"
41#include "svc_enc_golomb.h"41#include "svc_enc_golomb.h"
42#include "vlc_encoder.h"42#include "vlc_encoder.h"
43namespace WelsSVCEnc {43namespace WelsSVCEnc {
44///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////44///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
45 45
46// extern at mb_cache.h46// extern at mb_cache.h
47const uint8_t g_kuiSmb4AddrIn256[16] = 47const uint8_t g_kuiSmb4AddrIn256[16] = {
48{48 0, 4, 16 * 4, 16 * 4 + 4,
49 0, 4, 16*4, 16*4+4,49 8, 12, 16 * 4 + 8, 16 * 4 + 12,
50 8, 12, 16*4+8, 16*4+12,50 16 * 8, 16 * 8 + 4, 16 * 12, 16 * 12 + 4,
51 16*8, 16*8+4, 16*12, 16*12+4,51 16 * 8 + 8, 16 * 8 + 12, 16 * 12 + 8, 16 * 12 + 12
52 16*8+8, 16*8+12, 16*12+8, 16*12+1252};
53}; 53
54 54//////pNonZeroCount[16+8] mapping scan index
55//////pNonZeroCount[16+8] mapping scan index55const uint8_t g_kuiMbCountScan4Idx[24] = {
56const uint8_t g_kuiMbCountScan4Idx[24] =56 // 0 1 | 4 5 luma 8*8 block pNonZeroCount[16+8]
57{ // 0 1 | 4 5 luma 8*8 block pNonZeroCount[16+8] 57 0, 1, 4, 5, // 2 3 | 6 7 0 | 1 0 1 2 3
58 0, 1, 4, 5, // 2 3 | 6 7 0 | 1 0 1 2 3 58 2, 3, 6, 7, //--------------- --------- 4 5 6 7
59 2, 3, 6, 7, //--------------- --------- 4 5 6 7 59 8, 9, 12, 13, // 8 9 | 12 13 2 | 3 8 9 10 11
60 8, 9, 12, 13, // 8 9 | 12 13 2 | 3 8 9 10 11 60 10, 11, 14, 15, // 10 11 | 14 15-----------------------------> 12 13 14 15
61 10, 11, 14, 15, // 10 11 | 14 15-----------------------------> 12 13 14 15 61 16, 17, 20, 21, //---------------- chroma 8*8 block 16 17 18 19
62 16, 17, 20, 21, //---------------- chroma 8*8 block 16 17 18 19 62 18, 19, 22, 23 // 16 17 | 20 21 0 1 20 21 22 23
63 18, 19, 22, 23 // 16 17 | 20 21 0 1 20 21 22 23 63};
64};64
65 65const uint8_t g_kuiCache48CountScan4Idx[24] = {
66const uint8_t g_kuiCache48CountScan4Idx[24] =66 // [16 + 2*4]
67{ // [16 + 2*4]67 9, 10, 17, 18,
68 9, 10, 17, 18, 68 11, 12, 19, 20,
69 11, 12, 19, 20, 69 25, 26, 33, 34,
70 25, 26, 33, 34, 70 27, 28, 35, 36,
71 27, 28, 35, 36, 71 14, 15,
72 14, 15, 72 22, 23,
73 22, 23, 73 38, 39,
74 38, 39, 74 46, 47
75 46, 47 75};
76}; 76
77 77
78 78//cache element equal to 30
79//cache element equal to 3079const uint8_t g_kuiCache30ScanIdx[16] = { //mv or uiRefIndex cache scan index, 4*4 block as basic unit
80const uint8_t g_kuiCache30ScanIdx[16] = //mv or uiRefIndex cache scan index, 4*4 block as basic unit80 7, 8, 13, 14,
81{81 9, 10, 15, 16,
82 7, 8, 13, 14,82 19, 20, 25, 26,
83 9, 10, 15, 16,83 21, 22, 27, 28
84 19, 20, 25, 26,84};
85 21, 22, 27, 2885
86};86const uint8_t g_kuiCache12_8x8RefIdx[4] = { //mv or uiRefIndex cache scan index, 4*4 block as basic unit
87 87 5, 6,
88const uint8_t g_kuiCache12_8x8RefIdx[4] = //mv or uiRefIndex cache scan index, 4*4 block as basic unit88 9, 10
89{89};
90 5,6,90
91 9, 1091///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
92};92
93 93// extern at mb_cache.h
94///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////94
95 95const str_t* g_sWelsLogTags[] = {
96// extern at mb_cache.h96 "ERR",
97 97 "WARN",
98const str_t *g_sWelsLogTags[] = {98 "INFO",
99 "ERR",99 "DBUG",
100 "WARN",100 "RESV"
101 "INFO",101};
102 "DBUG",102
103 "RESV"103///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
104};104
105 105// extern at wels_common_basis.h
106///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////106const uint8_t g_kuiChromaQpTable[52] = {
107 107 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
108// extern at wels_common_basis.h108 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
109const uint8_t g_kuiChromaQpTable[52]={109 28, 29, 29, 30, 31, 32, 32, 33, 34, 34, 35, 35, 36, 36, 37, 37,
110 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,110 37, 38, 38, 38, 39, 39, 39, 39
111 12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,111};
112 28,29,29,30,31,32,32,33,34,34,35,35,36,36,37,37,112
113 37,38,38,38,39,39,39,39113/*
114};114 * vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC).
115 115 */
116/*116const EVclType g_keTypeMap[32][2] = {
117 * vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC).117 { NON_VCL, NON_VCL }, // 0: NAL_UNIT_UNSPEC_0
118 */118 { VCL, VCL, }, // 1: NAL_UNIT_CODED_SLICE
119const EVclType g_keTypeMap[32][2] =119 { VCL, NOT_APP }, // 2: NAL_UNIT_CODED_SLICE_DPA
120{120 { VCL, NOT_APP }, // 3: NAL_UNIT_CODED_SLICE_DPB
121 { NON_VCL, NON_VCL }, // 0: NAL_UNIT_UNSPEC_0121 { VCL, NOT_APP }, // 4: NAL_UNIT_CODED_SLICE_DPC
122 { VCL, VCL, }, // 1: NAL_UNIT_CODED_SLICE122 { VCL, VCL }, // 5: NAL_UNIT_CODED_SLICE_IDR
123 { VCL, NOT_APP }, // 2: NAL_UNIT_CODED_SLICE_DPA123 { NON_VCL, NON_VCL }, // 6: NAL_UNIT_SEI
124 { VCL, NOT_APP }, // 3: NAL_UNIT_CODED_SLICE_DPB124 { NON_VCL, NON_VCL }, // 7: NAL_UNIT_SPS
125 { VCL, NOT_APP }, // 4: NAL_UNIT_CODED_SLICE_DPC125 { NON_VCL, NON_VCL }, // 8: NAL_UNIT_PPS
126 { VCL, VCL }, // 5: NAL_UNIT_CODED_SLICE_IDR126 { NON_VCL, NON_VCL }, // 9: NAL_UNIT_AU_DELIMITER
127 { NON_VCL, NON_VCL }, // 6: NAL_UNIT_SEI127 { NON_VCL, NON_VCL }, // 10: NAL_UNIT_END_OF_SEQ
128 { NON_VCL, NON_VCL }, // 7: NAL_UNIT_SPS128 { NON_VCL, NON_VCL }, // 11: NAL_UNIT_END_OF_STR
129 { NON_VCL, NON_VCL }, // 8: NAL_UNIT_PPS129 { NON_VCL, NON_VCL }, // 12: NAL_UNIT_FILLER_DATA
130 { NON_VCL, NON_VCL }, // 9: NAL_UNIT_AU_DELIMITER130 { NON_VCL, NON_VCL }, // 13: NAL_UNIT_SPS_EXT
131 { NON_VCL, NON_VCL }, // 10: NAL_UNIT_END_OF_SEQ131 { NON_VCL, NON_VCL }, // 14: NAL_UNIT_PREFIX, NEED associate succeeded NAL to make a VCL
132 { NON_VCL, NON_VCL }, // 11: NAL_UNIT_END_OF_STR132 { NON_VCL, NON_VCL }, // 15: NAL_UNIT_SUBSET_SPS
133 { NON_VCL, NON_VCL }, // 12: NAL_UNIT_FILLER_DATA133 { NON_VCL, NON_VCL }, // 16: NAL_UNIT_RESV_16
134 { NON_VCL, NON_VCL }, // 13: NAL_UNIT_SPS_EXT134 { NON_VCL, NON_VCL }, // 17: NAL_UNIT_RESV_17
135 { NON_VCL, NON_VCL }, // 14: NAL_UNIT_PREFIX, NEED associate succeeded NAL to make a VCL135 { NON_VCL, NON_VCL }, // 18: NAL_UNIT_RESV_18
136 { NON_VCL, NON_VCL }, // 15: NAL_UNIT_SUBSET_SPS136 { NON_VCL, NON_VCL }, // 19: NAL_UNIT_AUX_CODED_SLICE
137 { NON_VCL, NON_VCL }, // 16: NAL_UNIT_RESV_16137 { NON_VCL, VCL }, // 20: NAL_UNIT_CODED_SLICE_EXT
138 { NON_VCL, NON_VCL }, // 17: NAL_UNIT_RESV_17138 { NON_VCL, NON_VCL }, // 21: NAL_UNIT_RESV_21
139 { NON_VCL, NON_VCL }, // 18: NAL_UNIT_RESV_18139 { NON_VCL, NON_VCL }, // 22: NAL_UNIT_RESV_22
140 { NON_VCL, NON_VCL }, // 19: NAL_UNIT_AUX_CODED_SLICE140 { NON_VCL, NON_VCL }, // 23: NAL_UNIT_RESV_23
141 { NON_VCL, VCL }, // 20: NAL_UNIT_CODED_SLICE_EXT141 { NON_VCL, NON_VCL }, // 24: NAL_UNIT_UNSPEC_24
142 { NON_VCL, NON_VCL }, // 21: NAL_UNIT_RESV_21142 { NON_VCL, NON_VCL }, // 25: NAL_UNIT_UNSPEC_25
143 { NON_VCL, NON_VCL }, // 22: NAL_UNIT_RESV_22143 { NON_VCL, NON_VCL }, // 26: NAL_UNIT_UNSPEC_26
144 { NON_VCL, NON_VCL }, // 23: NAL_UNIT_RESV_23144 { NON_VCL, NON_VCL }, // 27: NAL_UNIT_UNSPEC_27
145 { NON_VCL, NON_VCL }, // 24: NAL_UNIT_UNSPEC_24145 { NON_VCL, NON_VCL }, // 28: NAL_UNIT_UNSPEC_28
146 { NON_VCL, NON_VCL }, // 25: NAL_UNIT_UNSPEC_25146 { NON_VCL, NON_VCL }, // 29: NAL_UNIT_UNSPEC_29
147 { NON_VCL, NON_VCL }, // 26: NAL_UNIT_UNSPEC_26147 { NON_VCL, NON_VCL }, // 30: NAL_UNIT_UNSPEC_30
148 { NON_VCL, NON_VCL }, // 27: NAL_UNIT_UNSPEC_27148 { NON_VCL, NON_VCL } // 31: NAL_UNIT_UNSPEC_31
149 { NON_VCL, NON_VCL }, // 28: NAL_UNIT_UNSPEC_28149};
150 { NON_VCL, NON_VCL }, // 29: NAL_UNIT_UNSPEC_29150
151 { NON_VCL, NON_VCL }, // 30: NAL_UNIT_UNSPEC_30151__align16 (const uint16_t, g_kuiDequantCoeff[52][8]) = {
152 { NON_VCL, NON_VCL } // 31: NAL_UNIT_UNSPEC_31152 /* 0*/{ 10, 13, 10, 13, 13, 16, 13, 16 }, /* 1*/{ 11, 14, 11, 14, 14, 18, 14, 18 },
153};153 /* 2*/{ 13, 16, 13, 16, 16, 20, 16, 20 }, /* 3*/{ 14, 18, 14, 18, 18, 23, 18, 23 },
154 154 /* 4*/{ 16, 20, 16, 20, 20, 25, 20, 25 }, /* 5*/{ 18, 23, 18, 23, 23, 29, 23, 29 },
155__align16( const uint16_t, g_kuiDequantCoeff[52][8]) = {155 /* 6*/{ 20, 26, 20, 26, 26, 32, 26, 32 }, /* 7*/{ 22, 28, 22, 28, 28, 36, 28, 36 },
156/* 0*/{ 10, 13, 10, 13, 13, 16, 13, 16 }, /* 1*/{ 11, 14, 11, 14, 14, 18, 14, 18 },156 /* 8*/{ 26, 32, 26, 32, 32, 40, 32, 40 }, /* 9*/{ 28, 36, 28, 36, 36, 46, 36, 46 },
157/* 2*/{ 13, 16, 13, 16, 16, 20, 16, 20 }, /* 3*/{ 14, 18, 14, 18, 18, 23, 18, 23 },157 /*10*/{ 32, 40, 32, 40, 40, 50, 40, 50 }, /*11*/{ 36, 46, 36, 46, 46, 58, 46, 58 },
158/* 4*/{ 16, 20, 16, 20, 20, 25, 20, 25 }, /* 5*/{ 18, 23, 18, 23, 23, 29, 23, 29 },158 /*12*/{ 40, 52, 40, 52, 52, 64, 52, 64 }, /*13*/{ 44, 56, 44, 56, 56, 72, 56, 72 },
159/* 6*/{ 20, 26, 20, 26, 26, 32, 26, 32 }, /* 7*/{ 22, 28, 22, 28, 28, 36, 28, 36 },159 /*14*/{ 52, 64, 52, 64, 64, 80, 64, 80 }, /*15*/{ 56, 72, 56, 72, 72, 92, 72, 92 },
160/* 8*/{ 26, 32, 26, 32, 32, 40, 32, 40 }, /* 9*/{ 28, 36, 28, 36, 36, 46, 36, 46 },160 /*16*/{ 64, 80, 64, 80, 80, 100, 80, 100 }, /*17*/{ 72, 92, 72, 92, 92, 116, 92, 116 },
161/*10*/{ 32, 40, 32, 40, 40, 50, 40, 50 }, /*11*/{ 36, 46, 36, 46, 46, 58, 46, 58 },161 /*18*/{ 80, 104, 80, 104, 104, 128, 104, 128 }, /*19*/{ 88, 112, 88, 112, 112, 144, 112, 144 },
162/*12*/{ 40, 52, 40, 52, 52, 64, 52, 64 }, /*13*/{ 44, 56, 44, 56, 56, 72, 56, 72 },162 /*20*/{ 104, 128, 104, 128, 128, 160, 128, 160 }, /*21*/{ 112, 144, 112, 144, 144, 184, 144, 184 },
163/*14*/{ 52, 64, 52, 64, 64, 80, 64, 80 }, /*15*/{ 56, 72, 56, 72, 72, 92, 72, 92 },163 /*22*/{ 128, 160, 128, 160, 160, 200, 160, 200 }, /*23*/{ 144, 184, 144, 184, 184, 232, 184, 232 },
164/*16*/{ 64, 80, 64, 80, 80, 100, 80, 100 }, /*17*/{ 72, 92, 72, 92, 92, 116, 92, 116 },164 /*24*/{ 160, 208, 160, 208, 208, 256, 208, 256 }, /*25*/{ 176, 224, 176, 224, 224, 288, 224, 288 },
165/*18*/{ 80, 104, 80, 104, 104, 128, 104, 128 }, /*19*/{ 88, 112, 88, 112, 112, 144, 112, 144 },165 /*26*/{ 208, 256, 208, 256, 256, 320, 256, 320 }, /*27*/{ 224, 288, 224, 288, 288, 368, 288, 368 },
166/*20*/{ 104, 128, 104, 128, 128, 160, 128, 160 }, /*21*/{ 112, 144, 112, 144, 144, 184, 144, 184 },166 /*28*/{ 256, 320, 256, 320, 320, 400, 320, 400 }, /*29*/{ 288, 368, 288, 368, 368, 464, 368, 464 },
167/*22*/{ 128, 160, 128, 160, 160, 200, 160, 200 }, /*23*/{ 144, 184, 144, 184, 184, 232, 184, 232 },167 /*30*/{ 320, 416, 320, 416, 416, 512, 416, 512 }, /*31*/{ 352, 448, 352, 448, 448, 576, 448, 576 },
168/*24*/{ 160, 208, 160, 208, 208, 256, 208, 256 }, /*25*/{ 176, 224, 176, 224, 224, 288, 224, 288 },168 /*32*/{ 416, 512, 416, 512, 512, 640, 512, 640 }, /*33*/{ 448, 576, 448, 576, 576, 736, 576, 736 },
169/*26*/{ 208, 256, 208, 256, 256, 320, 256, 320 }, /*27*/{ 224, 288, 224, 288, 288, 368, 288, 368 },169 /*34*/{ 512, 640, 512, 640, 640, 800, 640, 800 }, /*35*/{ 576, 736, 576, 736, 736, 928, 736, 928 },
170/*28*/{ 256, 320, 256, 320, 320, 400, 320, 400 }, /*29*/{ 288, 368, 288, 368, 368, 464, 368, 464 },170 /*36*/{ 640, 832, 640, 832, 832, 1024, 832, 1024 }, /*37*/{ 704, 896, 704, 896, 896, 1152, 896, 1152 },
171/*30*/{ 320, 416, 320, 416, 416, 512, 416, 512 }, /*31*/{ 352, 448, 352, 448, 448, 576, 448, 576 },171 /*38*/{ 832, 1024, 832, 1024, 1024, 1280, 1024, 1280 }, /*39*/{ 896, 1152, 896, 1152, 1152, 1472, 1152, 1472 },
172/*32*/{ 416, 512, 416, 512, 512, 640, 512, 640 }, /*33*/{ 448, 576, 448, 576, 576, 736, 576, 736 },172 /*40*/{ 1024, 1280, 1024, 1280, 1280, 1600, 1280, 1600 }, /*41*/{ 1152, 1472, 1152, 1472, 1472, 1856, 1472, 1856 },
173/*34*/{ 512, 640, 512, 640, 640, 800, 640, 800 }, /*35*/{ 576, 736, 576, 736, 736, 928, 736, 928 },173 /*42*/{ 1280, 1664, 1280, 1664, 1664, 2048, 1664, 2048 }, /*43*/{ 1408, 1792, 1408, 1792, 1792, 2304, 1792, 2304 },
174/*36*/{ 640, 832, 640, 832, 832, 1024, 832, 1024 }, /*37*/{ 704, 896, 704, 896, 896, 1152, 896, 1152 },174 /*44*/{ 1664, 2048, 1664, 2048, 2048, 2560, 2048, 2560 }, /*45*/{ 1792, 2304, 1792, 2304, 2304, 2944, 2304, 2944 },
175/*38*/{ 832, 1024, 832, 1024, 1024, 1280, 1024, 1280 }, /*39*/{ 896, 1152, 896, 1152, 1152, 1472, 1152, 1472 },175 /*46*/{ 2048, 2560, 2048, 2560, 2560, 3200, 2560, 3200 }, /*47*/{ 2304, 2944, 2304, 2944, 2944, 3712, 2944, 3712 },
176/*40*/{ 1024, 1280, 1024, 1280, 1280, 1600, 1280, 1600 }, /*41*/{ 1152, 1472, 1152, 1472, 1472, 1856, 1472, 1856 },176 /*48*/{ 2560, 3328, 2560, 3328, 3328, 4096, 3328, 4096 }, /*49*/{ 2816, 3584, 2816, 3584, 3584, 4608, 3584, 4608 },
177/*42*/{ 1280, 1664, 1280, 1664, 1664, 2048, 1664, 2048 }, /*43*/{ 1408, 1792, 1408, 1792, 1792, 2304, 1792, 2304 },177 /*50*/{ 3328, 4096, 3328, 4096, 4096, 5120, 4096, 5120 }, /*51*/{ 3584, 4608, 3584, 4608, 4608, 5888, 4608, 5888 },
178/*44*/{ 1664, 2048, 1664, 2048, 2048, 2560, 2048, 2560 }, /*45*/{ 1792, 2304, 1792, 2304, 2304, 2944, 2304, 2944 },178};
179/*46*/{ 2048, 2560, 2048, 2560, 2560, 3200, 2560, 3200 }, /*47*/{ 2304, 2944, 2304, 2944, 2944, 3712, 2944, 3712 },179
180/*48*/{ 2560, 3328, 2560, 3328, 3328, 4096, 3328, 4096 }, /*49*/{ 2816, 3584, 2816, 3584, 3584, 4608, 3584, 4608 },180///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
181/*50*/{ 3328, 4096, 3328, 4096, 4096, 5120, 4096, 5120 }, /*51*/{ 3584, 4608, 3584, 4608, 4608, 5888, 4608, 5888 },181
182};182// extern at md.h
183 183const int32_t g_kiQpCostTable[52] = {
184///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////184 1, 1, 1, 1, 1, 1, 1, 1, /* 0-7 */
185 185 1, 1, 1, 1, /* 8-11 */
186// extern at md.h186 1, 1, 1, 1, 2, 2, 2, 2, /* 12-19 */
187const int32_t g_kiQpCostTable[52] = 187 3, 3, 3, 4, 4, 4, 5, 6, /* 20-27 */
188{188 6, 7, 8, 9, 10, 11, 13, 14, /* 28-35 */
189 1, 1, 1, 1, 1, 1, 1, 1, /* 0-7 */189 16, 18, 20, 23, 25, 29, 32, 36, /* 36-43 */
190 1, 1, 1, 1, /* 8-11 */190 40, 45, 51, 57, 64, 72, 81, 91 /* 44-51 */
191 1, 1, 1, 1, 2, 2, 2, 2, /* 12-19 */191};
192 3, 3, 3, 4, 4, 4, 5, 6, /* 20-27 */192const int8_t g_kiMapModeI16x16[7] = {
193 6, 7, 8, 9,10,11,13,14, /* 28-35 */193 0, 1, 2, 3, 2, 2, 2
194 16,18,20,23,25,29,32,36, /* 36-43 */194};//{I16_PRED_V, I16_PRED_H, I16_PRED_DC, I16_PRED_P, I16_PRED_DC, I16_PRED_DC, I16_PRED_DC};
195 40,45,51,57,64,72,81,91 /* 44-51 */195
196};196const int8_t g_kiMapModeIntraChroma[7] = {
197const int8_t g_kiMapModeI16x16[7] = 197 0, 1, 2, 3, 0, 0, 0
198{198};//{C_PRED_DC, C_PRED_H, C_PRED_V, C_PRED_P, C_PRED_DC_L, C_PRED_DC_T, C_PRED_DC_128};
199 0, 1, 2, 3, 2, 2, 2199
200};//{I16_PRED_V, I16_PRED_H, I16_PRED_DC, I16_PRED_P, I16_PRED_DC, I16_PRED_DC, I16_PRED_DC};200///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
201 201
202const int8_t g_kiMapModeIntraChroma[7] = 202///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
203{203
204 0, 1, 2, 3, 0, 0, 0204// extern at svc_enc_golomb.h
205};//{C_PRED_DC, C_PRED_H, C_PRED_V, C_PRED_P, C_PRED_DC_L, C_PRED_DC_T, C_PRED_DC_128};205
206 206const uint32_t g_uiGolombUELength[256] = {
207///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////207 1, 3, 3, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, //14
208 208 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, //30
209///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////209 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, //46
210 210 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, //62
211// extern at svc_enc_golomb.h211 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, //
212 212 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
213const uint32_t g_uiGolombUELength[256] =213 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
214{214 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
215 1, 3, 3, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, //14215 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
216 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, //30216 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
217 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, //46217 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
218 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, //62218 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
219 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, //219 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
220 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,220 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
221 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,221 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
222 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,222 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
223 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,223 17
224 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,224};
225 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,225
226 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,226///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
227 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,227
228 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,228// extern at vlc_encoder.h
229 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,229
230 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,230//g_kuiVlcCoeffToken[nc][total-coeff][trailing-ones][0--value, 1--bit count]
231 17231const uint8_t g_kuiVlcCoeffToken[5][17][4][2] = {
232};232 {
233 233 //0<=nc<2
234///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////234 { { 1, 1}, { 0, 0}, { 0, 0}, { 0, 0} }, //0
235 235 { { 5, 6}, { 1, 2}, { 0, 0}, { 0, 0} },//1
236// extern at vlc_encoder.h236 { { 7, 8}, { 4, 6}, { 1, 3}, { 0, 0} },//2
237 237 { { 7, 9}, { 6, 8}, { 5, 7}, { 3, 5} },//3
238//g_kuiVlcCoeffToken[nc][total-coeff][trailing-ones][0--value, 1--bit count]238 { { 7, 10}, { 6, 9}, { 5, 8}, { 3, 6} },//4
239const uint8_t g_kuiVlcCoeffToken[5][17][4][2] = 239 { { 7, 11}, { 6, 10}, { 5, 9}, { 4, 7} },//5
240{240 { {15, 13}, { 6, 11}, { 5, 10}, { 4, 8} },//6
241 {//0<=nc<2241 { {11, 13}, {14, 13}, { 5, 11}, { 4, 9} },//7
242 { { 1, 1}, { 0, 0}, { 0, 0}, { 0, 0} }, //0242 { { 8, 13}, {10, 13}, {13, 13}, { 4, 10} },//8
243 { { 5, 6}, { 1, 2}, { 0, 0}, { 0, 0} },//1243 { {15, 14}, {14, 14}, { 9, 13}, { 4, 11} },//9
244 { { 7, 8}, { 4, 6}, { 1, 3}, { 0, 0} },//2244 { {11, 14}, {10, 14}, {13, 14}, {12, 13} },//10
245 { { 7, 9}, { 6, 8}, { 5, 7}, { 3, 5} },//3245 { {15, 15}, {14, 15}, { 9, 14}, {12, 14} },//11
246 { { 7, 10}, { 6, 9}, { 5, 8}, { 3, 6} },//4246 { {11, 15}, {10, 15}, {13, 15}, { 8, 14} },//12
247 { { 7, 11}, { 6, 10}, { 5, 9}, { 4, 7} },//5247 { {15, 16}, { 1, 15}, { 9, 15}, {12, 15} },//13
248 { {15, 13}, { 6, 11}, { 5, 10}, { 4, 8} },//6248 { {11, 16}, {14, 16}, {13, 16}, { 8, 15} },//14
249 { {11, 13}, {14, 13}, { 5, 11}, { 4, 9} },//7249 { { 7, 16}, {10, 16}, { 9, 16}, {12, 16} },//15
250 { { 8, 13}, {10, 13}, {13, 13}, { 4, 10} },//8250 { { 4, 16}, { 6, 16}, { 5, 16}, { 8, 16} }//16
251 { {15, 14}, {14, 14}, { 9, 13}, { 4, 11} },//9251 },
252 { {11, 14}, {10, 14}, {13, 14}, {12, 13} },//10252
253 { {15, 15}, {14, 15}, { 9, 14}, {12, 14} },//11253 {
254 { {11, 15}, {10, 15}, {13, 15}, { 8, 14} },//12254 //2<=nc<4
255 { {15, 16}, { 1, 15}, { 9, 15}, {12, 15} },//13255 { { 3, 2}, { 0, 0}, { 0, 0}, { 0, 0} },//0
256 { {11, 16}, {14, 16}, {13, 16}, { 8, 15} },//14256 { {11, 6}, { 2, 2}, { 0, 0}, { 0, 0} },//1
257 { { 7, 16}, {10, 16}, { 9, 16}, {12, 16} },//15257 { { 7, 6}, { 7, 5}, { 3, 3}, { 0, 0} },//2
258 { { 4, 16}, { 6, 16}, { 5, 16}, { 8, 16} }//16258 { { 7, 7}, {10, 6}, { 9, 6}, { 5, 4} },//3
259 },259 { { 7, 8}, { 6, 6}, { 5, 6}, { 4, 4} },//4
260 260 { { 4, 8}, { 6, 7}, { 5, 7}, { 6, 5} },//5
261 {//2<=nc<4261 { { 7, 9}, { 6, 8}, { 5, 8}, { 8, 6} },//6
262 { { 3, 2}, { 0, 0}, { 0, 0}, { 0, 0} },//0262 { {15, 11}, { 6, 9}, { 5, 9}, { 4, 6} },//7
263 { {11, 6}, { 2, 2}, { 0, 0}, { 0, 0} },//1263 { {11, 11}, {14, 11}, {13, 11}, { 4, 7} },//8
264 { { 7, 6}, { 7, 5}, { 3, 3}, { 0, 0} },//2264 { {15, 12}, {10, 11}, { 9, 11}, { 4, 9} },//9
265 { { 7, 7}, {10, 6}, { 9, 6}, { 5, 4} },//3265 { {11, 12}, {14, 12}, {13, 12}, {12, 11} },//10
266 { { 7, 8}, { 6, 6}, { 5, 6}, { 4, 4} },//4266 { { 8, 12}, {10, 12}, { 9, 12}, { 8, 11} },//11
267 { { 4, 8}, { 6, 7}, { 5, 7}, { 6, 5} },//5267 { {15, 13}, {14, 13}, {13, 13}, {12, 12} },//12
268 { { 7, 9}, { 6, 8}, { 5, 8}, { 8, 6} },//6268 { {11, 13}, {10, 13}, { 9, 13}, {12, 13} },//13
269 { {15, 11}, { 6, 9}, { 5, 9}, { 4, 6} },//7269 { { 7, 13}, {11, 14}, { 6, 13}, { 8, 13} },//14
270 { {11, 11}, {14, 11}, {13, 11}, { 4, 7} },//8270 { { 9, 14}, { 8, 14}, {10, 14}, { 1, 13} },//15
271 { {15, 12}, {10, 11}, { 9, 11}, { 4, 9} },//9271 { { 7, 14}, { 6, 14}, { 5, 14}, { 4, 14} }//16
272 { {11, 12}, {14, 12}, {13, 12}, {12, 11} },//10272 },
273 { { 8, 12}, {10, 12}, { 9, 12}, { 8, 11} },//11273
274 { {15, 13}, {14, 13}, {13, 13}, {12, 12} },//12274 {
275 { {11, 13}, {10, 13}, { 9, 13}, {12, 13} },//13275 //4<=nc<8
276 { { 7, 13}, {11, 14}, { 6, 13}, { 8, 13} },//14276 { {15, 4}, { 0, 0}, { 0, 0}, { 0, 0} },//0
277 { { 9, 14}, { 8, 14}, {10, 14}, { 1, 13} },//15277 { {15, 6}, {14, 4}, { 0, 0}, { 0, 0} },//1
278 { { 7, 14}, { 6, 14}, { 5, 14}, { 4, 14} }//16278 { {11, 6}, {15, 5}, {13, 4}, { 0, 0} },//2
279 },279 { { 8, 6}, {12, 5}, {14, 5}, {12, 4} },//3
280 280 { {15, 7}, {10, 5}, {11, 5}, {11, 4} },//4
281 {//4<=nc<8281 { {11, 7}, { 8, 5}, { 9, 5}, {10, 4} },//5
282 { {15, 4}, { 0, 0}, { 0, 0}, { 0, 0} },//0282 { { 9, 7}, {14, 6}, {13, 6}, { 9, 4} },//6
283 { {15, 6}, {14, 4}, { 0, 0}, { 0, 0} },//1283 { { 8, 7}, {10, 6}, { 9, 6}, { 8, 4} },//7
284 { {11, 6}, {15, 5}, {13, 4}, { 0, 0} },//2284 { {15, 8}, {14, 7}, {13, 7}, {13, 5} },//8
285 { { 8, 6}, {12, 5}, {14, 5}, {12, 4} },//3285 { {11, 8}, {14, 8}, {10, 7}, {12, 6} },//9
286 { {15, 7}, {10, 5}, {11, 5}, {11, 4} },//4286 { {15, 9}, {10, 8}, {13, 8}, {12, 7} },//10
287 { {11, 7}, { 8, 5}, { 9, 5}, {10, 4} },//5287 { {11, 9}, {14, 9}, { 9, 8}, {12, 8} },//11
288 { { 9, 7}, {14, 6}, {13, 6}, { 9, 4} },//6288 { { 8, 9}, {10, 9}, {13, 9}, { 8, 8} },//12
289 { { 8, 7}, {10, 6}, { 9, 6}, { 8, 4} },//7 289 { {13, 10}, { 7, 9}, { 9, 9}, {12, 9} },//13
290 { {15, 8}, {14, 7}, {13, 7}, {13, 5} },//8290 { { 9, 10}, {12, 10}, {11, 10}, {10, 10} },//14
291 { {11, 8}, {14, 8}, {10, 7}, {12, 6} },//9291 { { 5, 10}, { 8, 10}, { 7, 10}, { 6, 10} },//15
292 { {15, 9}, {10, 8}, {13, 8}, {12, 7} },//10292 { { 1, 10}, { 4, 10}, { 3, 10}, { 2, 10} }//16
293 { {11, 9}, {14, 9}, { 9, 8}, {12, 8} },//11293 },
294 { { 8, 9}, {10, 9}, {13, 9}, { 8, 8} },//12294
295 { {13, 10}, { 7, 9}, { 9, 9}, {12, 9} },//13295 {
296 { { 9, 10}, {12, 10}, {11, 10}, {10, 10} },//14296 //8<=nc
297 { { 5, 10}, { 8, 10}, { 7, 10}, { 6, 10} },//15297 { { 3, 6}, { 0, 0}, { 0, 0}, { 0, 0} },//0
298 { { 1, 10}, { 4, 10}, { 3, 10}, { 2, 10} }//16298 { { 0, 6}, { 1, 6}, { 0, 0}, { 0, 0} },//1
299 },299 { { 4, 6}, { 5, 6}, { 6, 6}, { 0, 0} },//2
300 300 { { 8, 6}, { 9, 6}, {10, 6}, {11, 6} },//3
301 {//8<=nc301 { {12, 6}, {13, 6}, {14, 6}, {15, 6} },//4
302 { { 3, 6}, { 0, 0}, { 0, 0}, { 0, 0} },//0302 { {16, 6}, {17, 6}, {18, 6}, {19, 6} },//5
303 { { 0, 6}, { 1, 6}, { 0, 0}, { 0, 0} },//1303 { {20, 6}, {21, 6}, {22, 6}, {23, 6} },//6
304 { { 4, 6}, { 5, 6}, { 6, 6}, { 0, 0} },//2304 { {24, 6}, {25, 6}, {26, 6}, {27, 6} },//7
305 { { 8, 6}, { 9, 6}, {10, 6}, {11, 6} },//3305 { {28, 6}, {29, 6}, {30, 6}, {31, 6} },//8
306 { {12, 6}, {13, 6}, {14, 6}, {15, 6} },//4306 { {32, 6}, {33, 6}, {34, 6}, {35, 6} },//9
307 { {16, 6}, {17, 6}, {18, 6}, {19, 6} },//5307 { {36, 6}, {37, 6}, {38, 6}, {39, 6} },//10
308 { {20, 6}, {21, 6}, {22, 6}, {23, 6} },//6308 { {40, 6}, {41, 6}, {42, 6}, {43, 6} },//11
309 { {24, 6}, {25, 6}, {26, 6}, {27, 6} },//7309 { {44, 6}, {45, 6}, {46, 6}, {47, 6} },//12
310 { {28, 6}, {29, 6}, {30, 6}, {31, 6} },//8310 { {48, 6}, {49, 6}, {50, 6}, {51, 6} },//13
311 { {32, 6}, {33, 6}, {34, 6}, {35, 6} },//9311 { {52, 6}, {53, 6}, {54, 6}, {55, 6} },//14
312 { {36, 6}, {37, 6}, {38, 6}, {39, 6} },//10312 { {56, 6}, {57, 6}, {58, 6}, {59, 6} },//15
313 { {40, 6}, {41, 6}, {42, 6}, {43, 6} },//11313 { {60, 6}, {61, 6}, {62, 6}, {63, 6} }//16
314 { {44, 6}, {45, 6}, {46, 6}, {47, 6} },//12314 },
315 { {48, 6}, {49, 6}, {50, 6}, {51, 6} },//13315
316 { {52, 6}, {53, 6}, {54, 6}, {55, 6} },//14316 {
317 { {56, 6}, {57, 6}, {58, 6}, {59, 6} },//15317 //nc == -1
318 { {60, 6}, {61, 6}, {62, 6}, {63, 6} }//16318 { { 1, 2}, { 0, 0}, { 0, 0}, { 0, 0} },//0
319 },319 { { 7, 6}, { 1, 1}, { 0, 0}, { 0, 0} },//1
320 320 { { 4, 6}, { 6, 6}, { 1, 3}, { 0, 0} },//2
321 {//nc == -1321 { { 3, 6}, { 3, 7}, { 2, 7}, { 5, 6} },//3
322 { { 1, 2}, { 0, 0}, { 0, 0}, { 0, 0} },//0322 { { 2, 6}, { 3, 8}, { 2, 8}, { 0, 7} },//4
323 { { 7, 6}, { 1, 1}, { 0, 0}, { 0, 0} },//1323 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//5
324 { { 4, 6}, { 6, 6}, { 1, 3}, { 0, 0} },//2324 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//6
325 { { 3, 6}, { 3, 7}, { 2, 7}, { 5, 6} },//3325 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//7
326 { { 2, 6}, { 3, 8}, { 2, 8}, { 0, 7} },//4326 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//8
327 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//5327 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//9
328 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//6328 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//10
329 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//7329 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//11
330 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//8330 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//12
331 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//9331 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//13
332 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//10332 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//14
333 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//11333 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//15
334 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//12334 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} }//16
335 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//13335 }
336 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//14336};
337 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} },//15337
338 { { 0, 0}, { 0, 0}, { 0, 0}, { 0, 0} }//16338//const uint8_t g_kuiVlcLevelPrefix[15][2] =
339 }339//{
340};340// {1, 1}, {1, 2}
341 341//};
342//const uint8_t g_kuiVlcLevelPrefix[15][2] =342
343//{343//g_kuiVlcTotalZeros[tzVlcIndex][total_zeros][0--value, 1--bit count]
344// {1, 1}, {1, 2}344const uint8_t g_kuiVlcTotalZeros[16][16][2] = {
345//}; 345 {
346 346 //0 not available
347//g_kuiVlcTotalZeros[tzVlcIndex][total_zeros][0--value, 1--bit count]347 {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
348const uint8_t g_kuiVlcTotalZeros[16][16][2] = 348 },
349{349 {
350 {//0 not available350 //1
351 {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0} 351 {1, 1}, {3, 3}, {2, 3}, {3, 4}, {2, 4}, {3, 5}, {2, 5}, {3, 6}, {2, 6}, {3, 7}, {2, 7}, {3, 8}, {2, 8}, {3, 9}, {2, 9}, {1, 9}
352 },352 },
353 {//1353 {
354 {1, 1}, {3, 3}, {2, 3}, {3, 4}, {2, 4}, {3, 5}, {2, 5}, {3, 6}, {2, 6}, {3, 7}, {2, 7}, {3, 8}, {2, 8}, {3, 9}, {2, 9}, {1, 9}354 //2
355 },355 {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {5, 4}, {4, 4}, {3, 4}, {2, 4}, {3, 5}, {2, 5}, {3, 6}, {2, 6}, {1, 6}, {0, 6}, {0, 0}
356 {//2356 },
357 {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {5, 4}, {4, 4}, {3, 4}, {2, 4}, {3, 5}, {2, 5}, {3, 6}, {2, 6}, {1, 6}, {0, 6}, {0, 0}357 {
358 },358 //3
359 {//3359 {5, 4}, {7, 3}, {6, 3}, {5, 3}, {4, 4}, {3, 4}, {4, 3}, {3, 3}, {2, 4}, {3, 5}, {2, 5}, {1, 6}, {1, 5}, {0, 6}, {0, 0}, {0, 0}
360 {5, 4}, {7, 3}, {6, 3}, {5, 3}, {4, 4}, {3, 4}, {4, 3}, {3, 3}, {2, 4}, {3, 5}, {2, 5}, {1, 6}, {1, 5}, {0, 6}, {0, 0}, {0, 0}360 },
361 },361 {
362 {//4362 //4
363 {3, 5}, {7, 3}, {5, 4}, {4, 4}, {6, 3}, {5, 3}, {4, 3}, {3, 4}, {3, 3}, {2, 4}, {2, 5}, {1, 5}, {0, 5}, {0, 0}, {0, 0}, {0, 0}363 {3, 5}, {7, 3}, {5, 4}, {4, 4}, {6, 3}, {5, 3}, {4, 3}, {3, 4}, {3, 3}, {2, 4}, {2, 5}, {1, 5}, {0, 5}, {0, 0}, {0, 0}, {0, 0}
364 },364 },
365 {//5365 {
366 {5, 4}, {4, 4}, {3, 4}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 4}, {1, 5}, {1, 4}, {0, 5}, {0, 0}, {0, 0}, {0, 0}, {0, 0}366 //5
367 },367 {5, 4}, {4, 4}, {3, 4}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 4}, {1, 5}, {1, 4}, {0, 5}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
368 {//6368 },
369 {1, 6}, {1, 5}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 4}, {1, 3}, {0, 6}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}369 {
370 },370 //6
371 {//7371 {1, 6}, {1, 5}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 4}, {1, 3}, {0, 6}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
372 {1, 6}, {1, 5}, {5, 3}, {4, 3}, {3, 3}, {3, 2}, {2, 3}, {1, 4}, {1, 3}, {0, 6}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}372 },
373 },373 {
374 {//8374 //7
375 {1, 6}, {1, 4}, {1, 5}, {3, 3}, {3, 2}, {2, 2}, {2, 3}, {1, 3}, {0, 6}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}375 {1, 6}, {1, 5}, {5, 3}, {4, 3}, {3, 3}, {3, 2}, {2, 3}, {1, 4}, {1, 3}, {0, 6}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
376 },376 },
377 {//9377 {
378 {1, 6}, {0, 6}, {1, 4}, {3, 2}, {2, 2}, {1, 3}, {1, 2}, {1, 5}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}378 //8
379 },379 {1, 6}, {1, 4}, {1, 5}, {3, 3}, {3, 2}, {2, 2}, {2, 3}, {1, 3}, {0, 6}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
380 {//10380 },
381 {1, 5}, {0, 5}, {1, 3}, {3, 2}, {2, 2}, {1, 2}, {1, 4}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}381 {
382 },382 //9
383 {//11383 {1, 6}, {0, 6}, {1, 4}, {3, 2}, {2, 2}, {1, 3}, {1, 2}, {1, 5}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
384 {0, 4}, {1, 4}, {1, 3}, {2, 3}, {1, 1}, {3, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}384 },
385 },385 {
386 {//12386 //10
387 {0, 4}, {1, 4}, {1, 2}, {1, 1}, {1, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}387 {1, 5}, {0, 5}, {1, 3}, {3, 2}, {2, 2}, {1, 2}, {1, 4}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
388 },388 },
389 {//13389 {
390 {0, 3}, {1, 3}, {1, 1}, {1, 2}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}390 //11
391 },391 {0, 4}, {1, 4}, {1, 3}, {2, 3}, {1, 1}, {3, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
392 {//14392 },
393 {0, 2}, {1, 2}, {1, 1}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}393 {
394 },394 //12
395 {//15395 {0, 4}, {1, 4}, {1, 2}, {1, 1}, {1, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
396 {0, 1}, {1, 1}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}396 },
397 }397 {
398};398 //13
399 399 {0, 3}, {1, 3}, {1, 1}, {1, 2}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
400const uint8_t g_kuiVlcTotalZerosChromaDc[4][4][2] =400 },
401{401 {
402 {402 //14
403 {0, 0}, {0, 0}, {0, 0}, {0, 0}403 {0, 2}, {1, 2}, {1, 1}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
404 },404 },
405 {405 {
406 {1, 1}, {1, 2}, {1, 3}, {0, 3}406 //15
407 },407 {0, 1}, {1, 1}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
408 {408 }
409 {1, 1}, {1, 2}, {0, 2}, {0, 0} 409};
410 },410
411 {411const uint8_t g_kuiVlcTotalZerosChromaDc[4][4][2] = {
412 {1, 1}, {0, 1}, {0, 0}, {0, 0}412 {
413 }413 {0, 0}, {0, 0}, {0, 0}, {0, 0}
414};414 },
415//415 {
416 416 {1, 1}, {1, 2}, {1, 3}, {0, 3}
417//g_kuiVlcRunBefore[zeros-left][run-before][0--value, 1--bit count]417 },
418const uint8_t g_kuiVlcRunBefore[8][15][2] = 418 {
419{419 {1, 1}, {1, 2}, {0, 2}, {0, 0}
420 {//0 not available420 },
421 {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0} 421 {
422 },422 {1, 1}, {0, 1}, {0, 0}, {0, 0}
423 {//1423 }
424 {1, 1}, {0, 1}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}424};
425 },425//
426 {//2426
427 {1, 1}, {1, 2}, {0, 2}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}427//g_kuiVlcRunBefore[zeros-left][run-before][0--value, 1--bit count]
428 },428const uint8_t g_kuiVlcRunBefore[8][15][2] = {
429 {//3429 {
430 {3, 2}, {2, 2}, {1, 2}, {0, 2}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}430 //0 not available
431 },431 {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
432 {//4432 },
433 {3, 2}, {2, 2}, {1, 2}, {1, 3}, {0, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}433 {
434 },434 //1
435 {//5435 {1, 1}, {0, 1}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
436 {3, 2}, {2, 2}, {3, 3}, {2, 3}, {1, 3}, {0, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}436 },
437 },437 {
438 {//6438 //2
439 {3, 2}, {0, 3}, {1, 3}, {3, 3}, {2, 3}, {5, 3}, {4, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}439 {1, 1}, {1, 2}, {0, 2}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
440 },440 },
441 {//>6441 {
442 {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {1, 7}, {1, 8}, {1, 9}, {1, 10}, {1, 11}442 //3
443 }443 {3, 2}, {2, 2}, {1, 2}, {0, 2}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
444};444 },
445 445 {
446const ALIGNED_DECLARE(uint8_t, g_kuiEncNcMapTable[18], 16) =446 //4
447{447 {3, 2}, {2, 2}, {1, 2}, {1, 3}, {0, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
448 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4448 },
449};449 {
450 450 //5
451 451 {3, 2}, {2, 2}, {3, 3}, {2, 3}, {1, 3}, {0, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
452 452 },
453const uint8_t g_kuiTemporalIdListTable[MAX_TEMPORAL_LEVEL][MAX_GOP_SIZE + 1] = 453 {
454{454 //6
455 { 0, 0, 0, 0, 0, 0, 0, 0,455 {3, 2}, {0, 3}, {1, 3}, {3, 3}, {2, 3}, {5, 3}, {4, 3}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
456 0, 0, 0, 0, 0, 0, 0, 0,456 },
457 0 }, // gop size = 1457 {
458 { 0, 1, 0, 0, 0, 0, 0, 0,458 //>6
459 0, 0, 0, 0, 0, 0, 0, 0,459 {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {1, 7}, {1, 8}, {1, 9}, {1, 10}, {1, 11}
460 0 }, // uiGopSize = 2460 }
461 { 0, 2, 1, 2, 0, 0, 0, 0,461};
462 0, 0, 0, 0, 0, 0, 0, 0,462
463 0 }, // uiGopSize = 4463const ALIGNED_DECLARE (uint8_t, g_kuiEncNcMapTable[18], 16) = {
464 { 0, 3, 2, 3, 1, 3, 2, 3,464 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4
465 0, 0, 0, 0, 0, 0, 0, 0,465};
466 0 }, // uiGopSize = 8466
467 { 0, 4, 3, 4, 2, 4, 3, 4,467
468 1, 4, 3, 4, 2, 4, 3, 4,468
469 0 } // uiGopSize = 16469const uint8_t g_kuiTemporalIdListTable[MAX_TEMPORAL_LEVEL][MAX_GOP_SIZE + 1] = {
470};470 {
471///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////471 0, 0, 0, 0, 0, 0, 0, 0,
472 472 0, 0, 0, 0, 0, 0, 0, 0,
473// extern at svc_encode_slice.h473 0
474///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////474 }, // gop size = 1
475}475 {
476 0, 1, 0, 0, 0, 0, 0, 0,
477 0, 0, 0, 0, 0, 0, 0, 0,
478 0
479 }, // uiGopSize = 2
480 {
481 0, 2, 1, 2, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0,
483 0
484 }, // uiGopSize = 4
485 {
486 0, 3, 2, 3, 1, 3, 2, 3,
487 0, 0, 0, 0, 0, 0, 0, 0,
488 0
489 }, // uiGopSize = 8
490 {
491 0, 4, 3, 4, 2, 4, 3, 4,
492 1, 4, 3, 4, 2, 4, 3, 4,
493 0
494 } // uiGopSize = 16
495};
496///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
497
498// extern at svc_encode_slice.h
499///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
500}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t