#include "avcodec.h"
#include "dsputil.h"
#include "get_bits.h"
#include "bytestream.h"
#include "golomb.h"
#include "dirac_arith.h"
#include "mpeg12data.h"
#include "dwt.h"
#include "dirac.h"
#include "diracdsp.h"
Go to the source code of this file.
| Data Structures | |
| struct | DiracFrame | 
| struct | DiracBlock | 
| struct | SubBand | 
| struct | Plane | 
| struct | DiracContext | 
| struct | lowdelay_slice | 
| Defines | |
| #define | MAX_DWT_LEVELS 5 | 
| The spec limits the number of wavelet decompositions to 4 for both level 1 (VC-2) and 128 (long-gop default). | |
| #define | MAX_REFERENCE_FRAMES 8 | 
| The spec limits this to 3 for frame coding, but in practice can be as high as 6. | |
| #define | MAX_DELAY 5 | 
| #define | MAX_FRAMES (MAX_REFERENCE_FRAMES + MAX_DELAY + 1) | 
| #define | MAX_QUANT 68 | 
| #define | MAX_BLOCKSIZE 32 | 
| #define | DIRAC_REF_MASK_REF1 1 | 
| DiracBlock->ref flags, if set then the block does MC from the given ref. | |
| #define | DIRAC_REF_MASK_REF2 2 | 
| #define | DIRAC_REF_MASK_GLOBAL 4 | 
| #define | DELAYED_PIC_REF 4 | 
| Value of Picture.reference when Picture is not a reference picture, but is held for delayed output. | |
| #define | ff_emulated_edge_mc ff_emulated_edge_mc_8 | 
| #define | CALC_PADDING(size, depth) (((size + (1 << depth) - 1) >> depth) << depth) | 
| #define | DIVRNDUP(a, b) (((a) + (b) - 1) / (b)) | 
| #define | SIGN_CTX(x) (CTX_SIGN_ZERO + ((x) > 0) - ((x) < 0)) | 
| #define | CHECKEDREAD(dst, cond, errmsg) | 
| #define | ROLLOFF(i) | 
| #define | DATA_UNIT_HEADER_SIZE 13 | 
| Dirac Specification -> 9.6 Parse Info Header Syntax. | |
| Enumerations | |
| enum | dirac_parse_code { pc_seq_header = 0x00, pc_eos = 0x10, pc_aux_data = 0x20, pc_padding = 0x30 } | 
| Dirac Specification -> Parse code values.  More... | |
| enum | dirac_subband { subband_ll = 0, subband_hl = 1, subband_lh = 2, subband_hh = 3 } | 
| Functions | |
| static int | divide3 (int x) | 
| static DiracFrame * | remove_frame (DiracFrame *framelist[], int picnum) | 
| static int | add_frame (DiracFrame *framelist[], int maxframes, DiracFrame *frame) | 
| static int | alloc_sequence_buffers (DiracContext *s) | 
| static void | free_sequence_buffers (DiracContext *s) | 
| static av_cold int | dirac_decode_init (AVCodecContext *avctx) | 
| static void | dirac_decode_flush (AVCodecContext *avctx) | 
| static av_cold int | dirac_decode_end (AVCodecContext *avctx) | 
| static void | coeff_unpack_arith (DiracArith *c, int qfactor, int qoffset, SubBand *b, IDWTELEM *buf, int x, int y) | 
| static int | coeff_unpack_golomb (GetBitContext *gb, int qfactor, int qoffset) | 
| static void | codeblock (DiracContext *s, SubBand *b, GetBitContext *gb, DiracArith *c, int left, int right, int top, int bottom, int blockcnt_one, int is_arith) | 
| Decode the coeffs in the rectangle defined by left, right, top, bottom [DIRAC_STD] 13.4.3.2 Codeblock unpacking loop. | |
| static void | intra_dc_prediction (SubBand *b) | 
| Dirac Specification -> 13.3 intra_dc_prediction(band). | |
| static av_always_inline void | decode_subband_internal (DiracContext *s, SubBand *b, int is_arith) | 
| Dirac Specification -> 13.4.2 Non-skipped subbands. | |
| static int | decode_subband_arith (AVCodecContext *avctx, void *b) | 
| static int | decode_subband_golomb (AVCodecContext *avctx, void *arg) | 
| static void | decode_component (DiracContext *s, int comp) | 
| Dirac Specification -> [DIRAC_STD] 13.4.1 core_transform_data(). | |
| static void | lowdelay_subband (DiracContext *s, GetBitContext *gb, int quant, int slice_x, int slice_y, int bits_end, SubBand *b1, SubBand *b2) | 
| static int | decode_lowdelay_slice (AVCodecContext *avctx, void *arg) | 
| Dirac Specification -> 13.5.2 Slices. | |
| static void | decode_lowdelay (DiracContext *s) | 
| Dirac Specification -> 13.5.1 low_delay_transform_data(). | |
| static void | init_planes (DiracContext *s) | 
| static int | dirac_unpack_prediction_parameters (DiracContext *s) | 
| Unpack the motion compensation parameters Dirac Specification -> 11.2 Picture prediction data. | |
| static int | dirac_unpack_idwt_params (DiracContext *s) | 
| Dirac Specification -> 11.3 Wavelet transform data. | |
| static int | pred_sbsplit (uint8_t *sbsplit, int stride, int x, int y) | 
| static int | pred_block_mode (DiracBlock *block, int stride, int x, int y, int refmask) | 
| static void | pred_block_dc (DiracBlock *block, int stride, int x, int y) | 
| static void | pred_mv (DiracBlock *block, int stride, int x, int y, int ref) | 
| static void | global_mv (DiracContext *s, DiracBlock *block, int x, int y, int ref) | 
| static void | decode_block_params (DiracContext *s, DiracArith arith[8], DiracBlock *block, int stride, int x, int y) | 
| static void | propagate_block_data (DiracBlock *block, int stride, int size) | 
| Copies the current block to the other blocks covered by the current superblock split mode. | |
| static int | dirac_unpack_block_motion_data (DiracContext *s) | 
| Dirac Specification -> 12. | |
| static int | weight (int i, int blen, int offset) | 
| static void | init_obmc_weight_row (Plane *p, uint8_t *obmc_weight, int stride, int left, int right, int wy) | 
| static void | init_obmc_weight (Plane *p, uint8_t *obmc_weight, int stride, int left, int right, int top, int bottom) | 
| static void | init_obmc_weights (DiracContext *s, Plane *p, int by) | 
| static int | mc_subpel (DiracContext *s, DiracBlock *block, const uint8_t *src[5], int x, int y, int ref, int plane) | 
| For block x,y, determine which of the hpel planes to do bilinear interpolation from and set src[] to the location in each hpel plane to MC from. | |
| static void | add_dc (uint16_t *dst, int dc, int stride, uint8_t *obmc_weight, int xblen, int yblen) | 
| static void | block_mc (DiracContext *s, DiracBlock *block, uint16_t *mctmp, uint8_t *obmc_weight, int plane, int dstx, int dsty) | 
| static void | mc_row (DiracContext *s, DiracBlock *block, uint16_t *mctmp, int plane, int dsty) | 
| static void | select_dsp_funcs (DiracContext *s, int width, int height, int xblen, int yblen) | 
| static void | interpolate_refplane (DiracContext *s, DiracFrame *ref, int plane, int width, int height) | 
| static int | dirac_decode_frame_internal (DiracContext *s) | 
| Dirac Specification -> 13.0 Transform data syntax. | |
| static int | dirac_decode_picture_header (DiracContext *s) | 
| Dirac Specification -> 11.1.1 Picture Header. | |
| static int | get_delayed_pic (DiracContext *s, AVFrame *picture, int *data_size) | 
| static int | dirac_decode_data_unit (AVCodecContext *avctx, const uint8_t *buf, int size) | 
| static int | dirac_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *pkt) | 
| Variables | |
| static const uint8_t | default_qmat [][4][4] | 
| static const int | qscale_tab [MAX_QUANT+1] | 
| static const int | qoffset_intra_tab [MAX_QUANT+1] | 
| static const int | qoffset_inter_tab [MAX_QUANT+1] | 
| static const uint8_t | epel_weights [4][4][4] | 
| AVCodec | ff_dirac_decoder | 
Definition in file diracdec.c.
Definition at line 75 of file diracdec.c.
Referenced by alloc_sequence_buffers(), and init_planes().
| #define CHECKEDREAD | ( | dst, | |||
| cond, | |||||
| errmsg | ) | 
Value:
tmp = svq3_get_ue_golomb(gb); \ if (cond) { \ av_log(s->avctx, AV_LOG_ERROR, errmsg); \ return -1; \ }\ dst = tmp;
Referenced by dirac_unpack_idwt_params().
| #define DATA_UNIT_HEADER_SIZE 13 | 
Dirac Specification -> 9.6 Parse Info Header Syntax.
parse_info() 4 byte start code + byte parse code + 4 byte size + 4 byte previous size
Definition at line 1727 of file diracdec.c.
Referenced by dirac_decode_data_unit(), and dirac_decode_frame().
| #define DELAYED_PIC_REF 4 | 
Value of Picture.reference when Picture is not a reference picture, but is held for delayed output.
Definition at line 71 of file diracdec.c.
Referenced by decode_postinit(), decode_slice_header(), dirac_decode_frame(), dirac_decode_picture_header(), get_delayed_pic(), and unreference_pic().
| #define DIRAC_REF_MASK_GLOBAL 4 | 
| #define DIRAC_REF_MASK_REF1 1 | 
DiracBlock->ref flags, if set then the block does MC from the given ref.
Definition at line 63 of file diracdec.c.
Referenced by decode_block_params().
| #define DIRAC_REF_MASK_REF2 2 | 
| #define DIVRNDUP | ( | a, | |||
| b | ) | (((a) + (b) - 1) / (b)) | 
Definition at line 78 of file diracdec.c.
Referenced by alloc_sequence_buffers(), and dirac_unpack_block_motion_data().
| #define ff_emulated_edge_mc ff_emulated_edge_mc_8 | 
| #define MAX_BLOCKSIZE 32 | 
Definition at line 58 of file diracdec.c.
Referenced by add_dc(), alloc_sequence_buffers(), dirac_unpack_prediction_parameters(), ff_mlp_filter_channel(), filter_channel(), init_obmc_weights(), read_header(), read_major_sync(), and shorten_decode_frame().
| #define MAX_DELAY 5 | 
| #define MAX_DWT_LEVELS 5 | 
The spec limits the number of wavelet decompositions to 4 for both level 1 (VC-2) and 128 (long-gop default).
5 decompositions is the maximum before >16-bit buffers are needed. Schroedinger allows this for DD 9,7 and 13,7 wavelets only, limiting the others to 4 decompositions (or 3 for the fidelity filter).
We use this instead of MAX_DECOMPOSITIONS to save some memory.
Definition at line 49 of file diracdec.c.
Referenced by alloc_sequence_buffers(), decode_component(), and dirac_unpack_idwt_params().
| #define MAX_FRAMES (MAX_REFERENCE_FRAMES + MAX_DELAY + 1) | 
Definition at line 56 of file diracdec.c.
Referenced by check_bits_for_superframe(), dirac_decode_data_unit(), dirac_decode_frame(), dirac_decode_picture_header(), free_sequence_buffers(), and synth_superframe().
| #define MAX_QUANT 68 | 
| #define MAX_REFERENCE_FRAMES 8 | 
The spec limits this to 3 for frame coding, but in practice can be as high as 6.
Definition at line 54 of file diracdec.c.
Referenced by dirac_decode_picture_header().
| #define ROLLOFF | ( | i | ) | 
| #define SIGN_CTX | ( | x | ) | (CTX_SIGN_ZERO + ((x) > 0) - ((x) < 0)) | 
| enum dirac_parse_code | 
Dirac Specification -> Parse code values.
9.6.1 Table 9.1
Definition at line 223 of file diracdec.c.
| enum dirac_subband | 
| static void add_dc | ( | uint16_t * | dst, | |
| int | dc, | |||
| int | stride, | |||
| uint8_t * | obmc_weight, | |||
| int | xblen, | |||
| int | yblen | |||
| ) |  [static] | 
| static int add_frame | ( | DiracFrame * | framelist[], | |
| int | maxframes, | |||
| DiracFrame * | frame | |||
| ) |  [static] | 
Definition at line 304 of file diracdec.c.
Referenced by dirac_decode_frame(), and dirac_decode_picture_header().
| static int alloc_sequence_buffers | ( | DiracContext * | s | ) |  [static] | 
| static void block_mc | ( | DiracContext * | s, | |
| DiracBlock * | block, | |||
| uint16_t * | mctmp, | |||
| uint8_t * | obmc_weight, | |||
| int | plane, | |||
| int | dstx, | |||
| int | dsty | |||
| ) |  [static] | 
| static void codeblock | ( | DiracContext * | s, | |
| SubBand * | b, | |||
| GetBitContext * | gb, | |||
| DiracArith * | c, | |||
| int | left, | |||
| int | right, | |||
| int | top, | |||
| int | bottom, | |||
| int | blockcnt_one, | |||
| int | is_arith | |||
| ) |  [inline, static] | 
Decode the coeffs in the rectangle defined by left, right, top, bottom [DIRAC_STD] 13.4.3.2 Codeblock unpacking loop.
Definition at line 473 of file diracdec.c.
Referenced by decode_subband_internal().
| static void coeff_unpack_arith | ( | DiracArith * | c, | |
| int | qfactor, | |||
| int | qoffset, | |||
| SubBand * | b, | |||
| IDWTELEM * | buf, | |||
| int | x, | |||
| int | y | |||
| ) |  [inline, static] | 
| static int coeff_unpack_golomb | ( | GetBitContext * | gb, | |
| int | qfactor, | |||
| int | qoffset | |||
| ) |  [inline, static] | 
| static void decode_block_params | ( | DiracContext * | s, | |
| DiracArith | arith[8], | |||
| DiracBlock * | block, | |||
| int | stride, | |||
| int | x, | |||
| int | y | |||
| ) |  [static] | 
| static void decode_component | ( | DiracContext * | s, | |
| int | comp | |||
| ) |  [static] | 
Dirac Specification -> [DIRAC_STD] 13.4.1 core_transform_data().
Definition at line 608 of file diracdec.c.
Referenced by dirac_decode_frame_internal().
| static void decode_lowdelay | ( | DiracContext * | s | ) |  [static] | 
Dirac Specification -> 13.5.1 low_delay_transform_data().
Definition at line 735 of file diracdec.c.
Referenced by dirac_decode_frame_internal().
| static int decode_lowdelay_slice | ( | AVCodecContext * | avctx, | |
| void * | arg | |||
| ) |  [static] | 
Dirac Specification -> 13.5.2 Slices.
slice(sx,sy)
Definition at line 693 of file diracdec.c.
Referenced by decode_lowdelay().
| static int decode_subband_arith | ( | AVCodecContext * | avctx, | |
| void * | b | |||
| ) |  [static] | 
| static int decode_subband_golomb | ( | AVCodecContext * | avctx, | |
| void * | arg | |||
| ) |  [static] | 
| static av_always_inline void decode_subband_internal | ( | DiracContext * | s, | |
| SubBand * | b, | |||
| int | is_arith | |||
| ) |  [static] | 
Dirac Specification -> 13.4.2 Non-skipped subbands.
subband_coeffs()
Definition at line 556 of file diracdec.c.
Referenced by decode_subband_arith(), and decode_subband_golomb().
| static int dirac_decode_data_unit | ( | AVCodecContext * | avctx, | |
| const uint8_t * | buf, | |||
| int | size | |||
| ) |  [static] | 
| static av_cold int dirac_decode_end | ( | AVCodecContext * | avctx | ) |  [static] | 
Definition at line 416 of file diracdec.c.
| static void dirac_decode_flush | ( | AVCodecContext * | avctx | ) |  [static] | 
| static int dirac_decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| AVPacket * | pkt | |||
| ) |  [static] | 
Definition at line 1819 of file diracdec.c.
| static int dirac_decode_frame_internal | ( | DiracContext * | s | ) |  [static] | 
Dirac Specification -> 13.0 Transform data syntax.
transform_data()
Definition at line 1538 of file diracdec.c.
Referenced by dirac_decode_data_unit().
| static av_cold int dirac_decode_init | ( | AVCodecContext * | avctx | ) |  [static] | 
Definition at line 391 of file diracdec.c.
| static int dirac_decode_picture_header | ( | DiracContext * | s | ) |  [static] | 
Dirac Specification -> 11.1.1 Picture Header.
picture_header()
Definition at line 1623 of file diracdec.c.
Referenced by dirac_decode_data_unit().
| static int dirac_unpack_block_motion_data | ( | DiracContext * | s | ) |  [static] | 
Dirac Specification -> 12.
Block motion data syntax
Definition at line 1181 of file diracdec.c.
Referenced by dirac_decode_picture_header().
| static int dirac_unpack_idwt_params | ( | DiracContext * | s | ) |  [static] | 
Dirac Specification -> 11.3 Wavelet transform data.
wavelet_transform()
Definition at line 938 of file diracdec.c.
Referenced by dirac_decode_picture_header().
| static int dirac_unpack_prediction_parameters | ( | DiracContext * | s | ) |  [static] | 
Unpack the motion compensation parameters Dirac Specification -> 11.2 Picture prediction data.
picture_prediction()
Definition at line 826 of file diracdec.c.
Referenced by dirac_decode_picture_header().
| static int divide3 | ( | int | x | ) |  [inline, static] | 
Definition at line 281 of file diracdec.c.
Referenced by intra_dc_prediction(), and pred_block_dc().
| static void free_sequence_buffers | ( | DiracContext * | s | ) |  [static] | 
Definition at line 360 of file diracdec.c.
Referenced by dirac_decode_data_unit(), and dirac_decode_flush().
| static int get_delayed_pic | ( | DiracContext * | s, | |
| AVFrame * | picture, | |||
| int * | data_size | |||
| ) |  [static] | 
| static void global_mv | ( | DiracContext * | s, | |
| DiracBlock * | block, | |||
| int | x, | |||
| int | y, | |||
| int | ref | |||
| ) |  [static] | 
| static void init_obmc_weight | ( | Plane * | p, | |
| uint8_t * | obmc_weight, | |||
| int | stride, | |||
| int | left, | |||
| int | right, | |||
| int | top, | |||
| int | bottom | |||
| ) |  [static] | 
| static void init_obmc_weight_row | ( | Plane * | p, | |
| uint8_t * | obmc_weight, | |||
| int | stride, | |||
| int | left, | |||
| int | right, | |||
| int | wy | |||
| ) |  [static] | 
| static void init_obmc_weights | ( | DiracContext * | s, | |
| Plane * | p, | |||
| int | by | |||
| ) |  [static] | 
| static void init_planes | ( | DiracContext * | s | ) |  [static] | 
| static void interpolate_refplane | ( | DiracContext * | s, | |
| DiracFrame * | ref, | |||
| int | plane, | |||
| int | width, | |||
| int | height | |||
| ) |  [static] | 
| static void intra_dc_prediction | ( | SubBand * | b | ) |  [inline, static] | 
Dirac Specification -> 13.3 intra_dc_prediction(band).
Definition at line 532 of file diracdec.c.
Referenced by decode_lowdelay(), and decode_subband_internal().
| static void lowdelay_subband | ( | DiracContext * | s, | |
| GetBitContext * | gb, | |||
| int | quant, | |||
| int | slice_x, | |||
| int | slice_y, | |||
| int | bits_end, | |||
| SubBand * | b1, | |||
| SubBand * | b2 | |||
| ) |  [static] | 
| static void mc_row | ( | DiracContext * | s, | |
| DiracBlock * | block, | |||
| uint16_t * | mctmp, | |||
| int | plane, | |||
| int | dsty | |||
| ) |  [static] | 
| static int mc_subpel | ( | DiracContext * | s, | |
| DiracBlock * | block, | |||
| const uint8_t * | src[5], | |||
| int | x, | |||
| int | y, | |||
| int | ref, | |||
| int | plane | |||
| ) |  [static] | 
For block x,y, determine which of the hpel planes to do bilinear interpolation from and set src[] to the location in each hpel plane to MC from.
Definition at line 1321 of file diracdec.c.
Referenced by block_mc().
| static void pred_block_dc | ( | DiracBlock * | block, | |
| int | stride, | |||
| int | x, | |||
| int | y | |||
| ) |  [inline, static] | 
| static int pred_block_mode | ( | DiracBlock * | block, | |
| int | stride, | |||
| int | x, | |||
| int | y, | |||
| int | refmask | |||
| ) |  [inline, static] | 
| static void pred_mv | ( | DiracBlock * | block, | |
| int | stride, | |||
| int | x, | |||
| int | y, | |||
| int | ref | |||
| ) |  [inline, static] | 
Definition at line 1070 of file diracdec.c.
Referenced by decode_block_params(), and decode_q_branch().
| static int pred_sbsplit | ( | uint8_t * | sbsplit, | |
| int | stride, | |||
| int | x, | |||
| int | y | |||
| ) |  [inline, static] | 
| static void propagate_block_data | ( | DiracBlock * | block, | |
| int | stride, | |||
| int | size | |||
| ) |  [static] | 
Copies the current block to the other blocks covered by the current superblock split mode.
Definition at line 1162 of file diracdec.c.
Referenced by dirac_unpack_block_motion_data().
| static DiracFrame* remove_frame | ( | DiracFrame * | framelist[], | |
| int | picnum | |||
| ) |  [static] | 
Definition at line 286 of file diracdec.c.
Referenced by dirac_decode_frame(), and dirac_decode_picture_header().
| static void select_dsp_funcs | ( | DiracContext * | s, | |
| int | width, | |||
| int | height, | |||
| int | xblen, | |||
| int | yblen | |||
| ) |  [static] | 
| static int weight | ( | int | i, | |
| int | blen, | |||
| int | offset | |||
| ) |  [static] | 
Definition at line 1236 of file diracdec.c.
Referenced by dv_init_enc_block(), encode_mb_internal(), ff_lpc_calc_coefs(), guess_dc(), init_obmc_weight(), init_obmc_weight_row(), interpolate_lpc(), mc_block(), and try_8x8basis_TMPL().
| const uint8_t default_qmat[][4][4]  [static] | 
Initial value:
 {
    { { 5,  3,  3,  0}, { 0,  4,  4,  1}, { 0,  5,  5,  2}, { 0,  6,  6,  3} },
    { { 4,  2,  2,  0}, { 0,  4,  4,  2}, { 0,  5,  5,  3}, { 0,  7,  7,  5} },
    { { 5,  3,  3,  0}, { 0,  4,  4,  1}, { 0,  5,  5,  2}, { 0,  6,  6,  3} },
    { { 8,  4,  4,  0}, { 0,  4,  4,  0}, { 0,  4,  4,  0}, { 0,  4,  4,  0} },
    { { 8,  4,  4,  0}, { 0,  4,  4,  0}, { 0,  4,  4,  0}, { 0,  4,  4,  0} },
    { { 0,  4,  4,  8}, { 0,  8,  8, 12}, { 0, 13, 13, 17}, { 0, 17, 17, 21} },
    { { 3,  1,  1,  0}, { 0,  4,  4,  2}, { 0,  6,  6,  5}, { 0,  9,  9,  7} },
}
Definition at line 237 of file diracdec.c.
Referenced by dirac_unpack_idwt_params().
| const uint8_t epel_weights[4][4][4]  [static] | 
Initial value:
 {
    {{ 16,  0,  0,  0 },
     { 12,  4,  0,  0 },
     {  8,  8,  0,  0 },
     {  4, 12,  0,  0 }},
    {{ 12,  0,  4,  0 },
     {  9,  3,  3,  1 },
     {  6,  6,  2,  2 },
     {  3,  9,  1,  3 }},
    {{  8,  0,  8,  0 },
     {  6,  2,  6,  2 },
     {  4,  4,  4,  4 },
     {  2,  6,  2,  6 }},
    {{  4,  0, 12,  0 },
     {  3,  1,  9,  3 },
     {  2,  2,  6,  6 },
     {  1,  3,  3,  9 }}
}
Definition at line 1294 of file diracdec.c.
Referenced by mc_subpel().
Initial value:
 {
    .name           = "dirac",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = CODEC_ID_DIRAC,
    .priv_data_size = sizeof(DiracContext),
    .init           = dirac_decode_init,
    .close          = dirac_decode_end,
    .decode         = dirac_decode_frame,
    .capabilities   = CODEC_CAP_DELAY,
    .flush          = dirac_decode_flush,
    .long_name      = NULL_IF_CONFIG_SMALL("BBC Dirac VC-2"),
}
Definition at line 1911 of file diracdec.c.
| const int qoffset_inter_tab[MAX_QUANT+1]  [static] | 
Initial value:
 {
    1,     2,     2,     3,     3,     4,     4,     5,
    6,     7,     9,    10,    12,    14,    17,    20,
    24,    29,    34,    41,    48,    57,    68,    81,
    96,   114,   136,   162,   192,   228,   272,   323,
    384,   457,   543,   646,   768,   913,  1086,  1292,
    1536,  1827,  2172,  2583,  3072,  3653,  4344,  5166,
    6144,  7307,  8689, 10333, 12288, 14613, 17378, 20666,
    24576, 29226
}
Definition at line 269 of file diracdec.c.
Referenced by codeblock().
| const int qoffset_intra_tab[MAX_QUANT+1]  [static] | 
Initial value:
 {
    1,     2,     3,     4,     4,     5,     6,     7,
    8,    10,    12,    14,    16,    19,    23,    27,
    32,    38,    46,    54,    64,    76,    91,   108,
    128,   152,   181,   216,   256,   305,   362,   431,
    512,   609,   724,   861,  1024,  1218,  1448,  1722,
    2048,  2436,  2897,  3445,  4096,  4871,  5793,  6889,
    8192,  9742, 11585, 13777, 16384, 19484, 23171, 27555,
    32768, 38968
}
Definition at line 258 of file diracdec.c.
Referenced by codeblock(), and lowdelay_subband().
| const int qscale_tab[MAX_QUANT+1]  [static] | 
Initial value:
 {
    4,     5,     6,     7,     8,    10,    11,    13,
    16,    19,    23,    27,    32,    38,    45,    54,
    64,    76,    91,   108,   128,   152,   181,   215,
    256,   304,   362,   431,   512,   609,   724,   861,
    1024,  1218,  1448,  1722,  2048,  2435,  2896,  3444,
    4096,  4871,  5793,  6889,  8192,  9742, 11585, 13777,
    16384, 19484, 23170, 27554, 32768, 38968, 46341, 55109,
    65536, 77936
}
Definition at line 247 of file diracdec.c.
Referenced by codeblock(), and lowdelay_subband().
 1.5.8
 1.5.8