xref: /aosp_15_r20/external/webp/src/dec/common_dec.h (revision b2055c353e87c8814eb2b6b1b11112a1562253bd)
1*b2055c35SXin Li // Copyright 2015 Google Inc. All Rights Reserved.
2*b2055c35SXin Li //
3*b2055c35SXin Li // Use of this source code is governed by a BSD-style license
4*b2055c35SXin Li // that can be found in the COPYING file in the root of the source
5*b2055c35SXin Li // tree. An additional intellectual property rights grant can be found
6*b2055c35SXin Li // in the file PATENTS. All contributing project authors may
7*b2055c35SXin Li // be found in the AUTHORS file in the root of the source tree.
8*b2055c35SXin Li // -----------------------------------------------------------------------------
9*b2055c35SXin Li //
10*b2055c35SXin Li // Definitions and macros common to encoding and decoding
11*b2055c35SXin Li //
12*b2055c35SXin Li // Author: Skal ([email protected])
13*b2055c35SXin Li 
14*b2055c35SXin Li #ifndef WEBP_DEC_COMMON_DEC_H_
15*b2055c35SXin Li #define WEBP_DEC_COMMON_DEC_H_
16*b2055c35SXin Li 
17*b2055c35SXin Li // intra prediction modes
18*b2055c35SXin Li enum { B_DC_PRED = 0,   // 4x4 modes
19*b2055c35SXin Li        B_TM_PRED = 1,
20*b2055c35SXin Li        B_VE_PRED = 2,
21*b2055c35SXin Li        B_HE_PRED = 3,
22*b2055c35SXin Li        B_RD_PRED = 4,
23*b2055c35SXin Li        B_VR_PRED = 5,
24*b2055c35SXin Li        B_LD_PRED = 6,
25*b2055c35SXin Li        B_VL_PRED = 7,
26*b2055c35SXin Li        B_HD_PRED = 8,
27*b2055c35SXin Li        B_HU_PRED = 9,
28*b2055c35SXin Li        NUM_BMODES = B_HU_PRED + 1 - B_DC_PRED,  // = 10
29*b2055c35SXin Li 
30*b2055c35SXin Li        // Luma16 or UV modes
31*b2055c35SXin Li        DC_PRED = B_DC_PRED, V_PRED = B_VE_PRED,
32*b2055c35SXin Li        H_PRED = B_HE_PRED, TM_PRED = B_TM_PRED,
33*b2055c35SXin Li        B_PRED = NUM_BMODES,   // refined I4x4 mode
34*b2055c35SXin Li        NUM_PRED_MODES = 4,
35*b2055c35SXin Li 
36*b2055c35SXin Li        // special modes
37*b2055c35SXin Li        B_DC_PRED_NOTOP = 4,
38*b2055c35SXin Li        B_DC_PRED_NOLEFT = 5,
39*b2055c35SXin Li        B_DC_PRED_NOTOPLEFT = 6,
40*b2055c35SXin Li        NUM_B_DC_MODES = 7 };
41*b2055c35SXin Li 
42*b2055c35SXin Li enum { MB_FEATURE_TREE_PROBS = 3,
43*b2055c35SXin Li        NUM_MB_SEGMENTS = 4,
44*b2055c35SXin Li        NUM_REF_LF_DELTAS = 4,
45*b2055c35SXin Li        NUM_MODE_LF_DELTAS = 4,    // I4x4, ZERO, *, SPLIT
46*b2055c35SXin Li        MAX_NUM_PARTITIONS = 8,
47*b2055c35SXin Li        // Probabilities
48*b2055c35SXin Li        NUM_TYPES = 4,   // 0: i16-AC,  1: i16-DC,  2:chroma-AC,  3:i4-AC
49*b2055c35SXin Li        NUM_BANDS = 8,
50*b2055c35SXin Li        NUM_CTX = 3,
51*b2055c35SXin Li        NUM_PROBAS = 11
52*b2055c35SXin Li      };
53*b2055c35SXin Li 
54*b2055c35SXin Li #endif  // WEBP_DEC_COMMON_DEC_H_
55