Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 /********************************************************************
2 * *
3 * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 * *
8 * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
9 * by the Xiph.Org Foundation and contributors http://www.xiph.org/ *
10 * *
11 ********************************************************************
13 function:
14 last mod: $Id: huffman.h 16503 2009-08-22 18:14:02Z giles $
16 ********************************************************************/
18 #if !defined(_huffman_H)
19 # define _hufffman_H (1)
20 # include "theora/codec.h"
21 # include "ocintrin.h"
23 /*The range of valid quantized DCT coefficient values.
24 VP3 used 511 in the encoder, but the bitstream is capable of 580.*/
25 #define OC_DCT_VAL_RANGE (580)
27 #define OC_NDCT_TOKEN_BITS (5)
29 #define OC_DCT_EOB1_TOKEN (0)
30 #define OC_DCT_EOB2_TOKEN (1)
31 #define OC_DCT_EOB3_TOKEN (2)
32 #define OC_DCT_REPEAT_RUN0_TOKEN (3)
33 #define OC_DCT_REPEAT_RUN1_TOKEN (4)
34 #define OC_DCT_REPEAT_RUN2_TOKEN (5)
35 #define OC_DCT_REPEAT_RUN3_TOKEN (6)
37 #define OC_DCT_SHORT_ZRL_TOKEN (7)
38 #define OC_DCT_ZRL_TOKEN (8)
40 #define OC_ONE_TOKEN (9)
41 #define OC_MINUS_ONE_TOKEN (10)
42 #define OC_TWO_TOKEN (11)
43 #define OC_MINUS_TWO_TOKEN (12)
45 #define OC_DCT_VAL_CAT2 (13)
46 #define OC_DCT_VAL_CAT3 (17)
47 #define OC_DCT_VAL_CAT4 (18)
48 #define OC_DCT_VAL_CAT5 (19)
49 #define OC_DCT_VAL_CAT6 (20)
50 #define OC_DCT_VAL_CAT7 (21)
51 #define OC_DCT_VAL_CAT8 (22)
53 #define OC_DCT_RUN_CAT1A (23)
54 #define OC_DCT_RUN_CAT1B (28)
55 #define OC_DCT_RUN_CAT1C (29)
56 #define OC_DCT_RUN_CAT2A (30)
57 #define OC_DCT_RUN_CAT2B (31)
59 #define OC_NDCT_EOB_TOKEN_MAX (7)
60 #define OC_NDCT_ZRL_TOKEN_MAX (9)
61 #define OC_NDCT_VAL_MAX (23)
62 #define OC_NDCT_VAL_CAT1_MAX (13)
63 #define OC_NDCT_VAL_CAT2_MAX (17)
64 #define OC_NDCT_VAL_CAT2_SIZE (OC_NDCT_VAL_CAT2_MAX-OC_DCT_VAL_CAT2)
65 #define OC_NDCT_RUN_MAX (32)
66 #define OC_NDCT_RUN_CAT1A_MAX (28)
68 extern const unsigned char OC_DCT_TOKEN_EXTRA_BITS[TH_NDCT_TOKENS];
70 #endif