media/libtheora/lib/huffman.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

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

mercurial