FFmpeg
Variables
vc1data.h File Reference
#include <stdint.h>
#include "libavutil/attributes_internal.h"
#include "libavutil/rational.h"
#include "vlc.h"

Go to the source code of this file.

Variables

const FF_VISIBILITY_PUSH_HIDDEN int ff_vc1_ttblk_to_tt [3][8]
 Table for conversion between TTBLK and TTMB. More...
 
const int ff_vc1_ttfrm_to_tt [4]
 
const uint8_t ff_vc1_mv_pmode_table [2][5]
 MV P mode - the 5th element is only used for mode 1. More...
 
const uint8_t ff_vc1_mv_pmode_table2 [2][4]
 
const int ff_vc1_fps_nr [7]
 
const int ff_vc1_fps_dr [2]
 
const uint8_t ff_vc1_pquant_table [3][32]
 
const uint8_t ff_vc1_mbmode_intfrp [2][15][4]
 

VC-1 VLC tables and defines

Todo:
TODO move this into the context
#define VC1_IMODE_VLC_BITS   4
 
#define VC1_NORM2_VLC_BITS   3
 
#define VC1_NORM6_VLC_BITS   9
 
#define VC1_TTMB_VLC_BITS   9
 
#define VC1_MV_DIFF_VLC_BITS   9
 
#define VC1_CBPCY_P_VLC_BITS   9
 
#define VC1_ICBPCY_VLC_BITS   9
 
#define VC1_4MV_BLOCK_PATTERN_VLC_BITS   6
 
#define VC1_2MV_BLOCK_PATTERN_VLC_BITS   3
 
#define VC1_TTBLK_VLC_BITS   5
 
#define VC1_SUBBLKPAT_VLC_BITS   6
 
#define VC1_INTFR_4MV_MBMODE_VLC_BITS   9
 
#define VC1_INTFR_NON4MV_MBMODE_VLC_BITS   6
 
#define VC1_IF_MMV_MBMODE_VLC_BITS   5
 
#define VC1_IF_1MV_MBMODE_VLC_BITS   5
 
#define VC1_1REF_MVDATA_VLC_BITS   9
 
#define VC1_2REF_MVDATA_VLC_BITS   9
 
#define VC1_IF_MBMODE_VLC_BITS   5
 
#define B_FRACTION_DEN   256
 
#define AC_MODES   8
 
VLCElem ff_vc1_imode_vlc [1<< VC1_IMODE_VLC_BITS]
 
VLCElem ff_vc1_norm2_vlc [1<< VC1_NORM2_VLC_BITS]
 
VLCElem ff_vc1_norm6_vlc [556]
 
const VLCElemff_vc1_ttmb_vlc [3]
 
const VLCElemff_vc1_mv_diff_vlc [4]
 
const VLCElemff_vc1_cbpcy_p_vlc [4]
 
const VLCElemff_vc1_icbpcy_vlc [8]
 
const VLCElemff_vc1_4mv_block_pattern_vlc [4]
 
const VLCElemff_vc1_2mv_block_pattern_vlc [4]
 
const VLCElemff_vc1_ttblk_vlc [3]
 
const VLCElemff_vc1_subblkpat_vlc [3]
 
const VLCElemff_vc1_intfr_4mv_mbmode_vlc [4]
 
const VLCElemff_vc1_intfr_non4mv_mbmode_vlc [4]
 
const VLCElemff_vc1_if_mmv_mbmode_vlc [8]
 
const VLCElemff_vc1_if_1mv_mbmode_vlc [8]
 
const VLCElemff_vc1_1ref_mvdata_vlc [4]
 
const VLCElemff_vc1_2ref_mvdata_vlc [8]
 
const VLCElemff_vc1_ac_coeff_table [8]
 
const int16_t ff_vc1_bfraction_lut [23]
 
const AVRational ff_vc1_pixel_aspect [16]
 
const uint8_t ff_wmv3_dc_scale_table [32]
 
const uint8_t ff_vc1_simple_progressive_4x4_zz [16]
 
const uint8_t ff_vc1_adv_progressive_8x4_zz [32]
 
const uint8_t ff_vc1_adv_progressive_4x8_zz [32]
 
const uint8_t ff_vc1_adv_interlaced_8x8_zz [64]
 
const uint8_t ff_vc1_adv_interlaced_8x4_zz [32]
 
const uint8_t ff_vc1_adv_interlaced_4x8_zz [32]
 
const uint8_t ff_vc1_adv_interlaced_4x4_zz [16]
 
const int32_t ff_vc1_dqscale [63]
 
const uint16_t ff_vc1_field_mvpred_scales [2][7][4]
 
const uint16_t ff_vc1_b_field_mvpred_scales [7][4]
 
const int ff_vc1_ac_sizes [AC_MODES]
 

Detailed Description

VC-1 tables.

Definition in file vc1data.h.

Macro Definition Documentation

◆ VC1_IMODE_VLC_BITS

#define VC1_IMODE_VLC_BITS   4

Definition at line 58 of file vc1data.h.

◆ VC1_NORM2_VLC_BITS

#define VC1_NORM2_VLC_BITS   3

Definition at line 60 of file vc1data.h.

◆ VC1_NORM6_VLC_BITS

#define VC1_NORM6_VLC_BITS   9

Definition at line 62 of file vc1data.h.

◆ VC1_TTMB_VLC_BITS

#define VC1_TTMB_VLC_BITS   9

Definition at line 65 of file vc1data.h.

◆ VC1_MV_DIFF_VLC_BITS

#define VC1_MV_DIFF_VLC_BITS   9

Definition at line 67 of file vc1data.h.

◆ VC1_CBPCY_P_VLC_BITS

#define VC1_CBPCY_P_VLC_BITS   9

Definition at line 69 of file vc1data.h.

◆ VC1_ICBPCY_VLC_BITS

#define VC1_ICBPCY_VLC_BITS   9

Definition at line 71 of file vc1data.h.

◆ VC1_4MV_BLOCK_PATTERN_VLC_BITS

#define VC1_4MV_BLOCK_PATTERN_VLC_BITS   6

Definition at line 73 of file vc1data.h.

◆ VC1_2MV_BLOCK_PATTERN_VLC_BITS

#define VC1_2MV_BLOCK_PATTERN_VLC_BITS   3

Definition at line 75 of file vc1data.h.

◆ VC1_TTBLK_VLC_BITS

#define VC1_TTBLK_VLC_BITS   5

Definition at line 77 of file vc1data.h.

◆ VC1_SUBBLKPAT_VLC_BITS

#define VC1_SUBBLKPAT_VLC_BITS   6

Definition at line 79 of file vc1data.h.

◆ VC1_INTFR_4MV_MBMODE_VLC_BITS

#define VC1_INTFR_4MV_MBMODE_VLC_BITS   9

Definition at line 81 of file vc1data.h.

◆ VC1_INTFR_NON4MV_MBMODE_VLC_BITS

#define VC1_INTFR_NON4MV_MBMODE_VLC_BITS   6

Definition at line 83 of file vc1data.h.

◆ VC1_IF_MMV_MBMODE_VLC_BITS

#define VC1_IF_MMV_MBMODE_VLC_BITS   5

Definition at line 85 of file vc1data.h.

◆ VC1_IF_1MV_MBMODE_VLC_BITS

#define VC1_IF_1MV_MBMODE_VLC_BITS   5

Definition at line 87 of file vc1data.h.

◆ VC1_1REF_MVDATA_VLC_BITS

#define VC1_1REF_MVDATA_VLC_BITS   9

Definition at line 89 of file vc1data.h.

◆ VC1_2REF_MVDATA_VLC_BITS

#define VC1_2REF_MVDATA_VLC_BITS   9

Definition at line 91 of file vc1data.h.

◆ VC1_IF_MBMODE_VLC_BITS

#define VC1_IF_MBMODE_VLC_BITS   5

Definition at line 96 of file vc1data.h.

◆ B_FRACTION_DEN

#define B_FRACTION_DEN   256

Definition at line 100 of file vc1data.h.

◆ AC_MODES

#define AC_MODES   8

Definition at line 129 of file vc1data.h.

Variable Documentation

◆ ff_vc1_ttblk_to_tt

const FF_VISIBILITY_PUSH_HIDDEN int ff_vc1_ttblk_to_tt[3][8]

Table for conversion between TTBLK and TTMB.

Definition at line 34 of file vc1data.c.

Referenced by vc1_decode_p_block().

◆ ff_vc1_ttfrm_to_tt

const int ff_vc1_ttfrm_to_tt[4]

Definition at line 40 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

◆ ff_vc1_mv_pmode_table

const uint8_t ff_vc1_mv_pmode_table[2][5]

MV P mode - the 5th element is only used for mode 1.

Definition at line 43 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

◆ ff_vc1_mv_pmode_table2

const uint8_t ff_vc1_mv_pmode_table2[2][4]

Definition at line 47 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

◆ ff_vc1_fps_nr

const int ff_vc1_fps_nr[7]

Definition at line 87 of file vc1data.c.

Referenced by decode_sequence_header_adv().

◆ ff_vc1_fps_dr

const int ff_vc1_fps_dr[2]

Definition at line 48 of file vc1data.h.

◆ ff_vc1_pquant_table

const uint8_t ff_vc1_pquant_table[3][32]

Definition at line 89 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

◆ ff_vc1_mbmode_intfrp

const uint8_t ff_vc1_mbmode_intfrp[2][15][4]

Definition at line 53 of file vc1data.c.

Referenced by vc1_decode_b_mb_intfr(), and vc1_decode_p_mb_intfr().

◆ ff_vc1_imode_vlc

VLCElem ff_vc1_imode_vlc[1<< VC1_IMODE_VLC_BITS]

Definition at line 105 of file vc1data.c.

Referenced by bitplane_decoding(), and vc1_init_static().

◆ ff_vc1_norm2_vlc

VLCElem ff_vc1_norm2_vlc[1<< VC1_NORM2_VLC_BITS]

Definition at line 106 of file vc1data.c.

Referenced by bitplane_decoding(), and vc1_init_static().

◆ ff_vc1_norm6_vlc

VLCElem ff_vc1_norm6_vlc[556]

Definition at line 107 of file vc1data.c.

Referenced by bitplane_decoding(), and vc1_init_static().

◆ ff_vc1_ttmb_vlc

const VLCElem* ff_vc1_ttmb_vlc[3]

◆ ff_vc1_mv_diff_vlc

const VLCElem* ff_vc1_mv_diff_vlc[4]

Definition at line 110 of file vc1data.c.

Referenced by vc1_init_static().

◆ ff_vc1_cbpcy_p_vlc

const VLCElem* ff_vc1_cbpcy_p_vlc[4]

◆ ff_vc1_icbpcy_vlc

const VLCElem* ff_vc1_icbpcy_vlc[8]

Definition at line 112 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header_adv(), and vc1_init_static().

◆ ff_vc1_4mv_block_pattern_vlc

const VLCElem* ff_vc1_4mv_block_pattern_vlc[4]

Definition at line 113 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header_adv(), and vc1_init_static().

◆ ff_vc1_2mv_block_pattern_vlc

const VLCElem* ff_vc1_2mv_block_pattern_vlc[4]

Definition at line 114 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header_adv(), and vc1_init_static().

◆ ff_vc1_ttblk_vlc

const VLCElem* ff_vc1_ttblk_vlc[3]

Definition at line 115 of file vc1data.c.

Referenced by vc1_decode_p_block(), and vc1_init_static().

◆ ff_vc1_subblkpat_vlc

const VLCElem* ff_vc1_subblkpat_vlc[3]

Definition at line 116 of file vc1data.c.

Referenced by vc1_decode_p_block(), and vc1_init_static().

◆ ff_vc1_intfr_4mv_mbmode_vlc

const VLCElem* ff_vc1_intfr_4mv_mbmode_vlc[4]

Definition at line 117 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header_adv(), and vc1_init_static().

◆ ff_vc1_intfr_non4mv_mbmode_vlc

const VLCElem* ff_vc1_intfr_non4mv_mbmode_vlc[4]

Definition at line 118 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header_adv(), and vc1_init_static().

◆ ff_vc1_if_mmv_mbmode_vlc

const VLCElem* ff_vc1_if_mmv_mbmode_vlc[8]

Definition at line 119 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header_adv(), and vc1_init_static().

◆ ff_vc1_if_1mv_mbmode_vlc

const VLCElem* ff_vc1_if_1mv_mbmode_vlc[8]

Definition at line 120 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header_adv(), and vc1_init_static().

◆ ff_vc1_1ref_mvdata_vlc

const VLCElem* ff_vc1_1ref_mvdata_vlc[4]

Definition at line 121 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header_adv(), and vc1_init_static().

◆ ff_vc1_2ref_mvdata_vlc

const VLCElem* ff_vc1_2ref_mvdata_vlc[8]

Definition at line 122 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header_adv(), and vc1_init_static().

◆ ff_vc1_ac_coeff_table

const VLCElem* ff_vc1_ac_coeff_table[8]

Definition at line 124 of file vc1data.c.

Referenced by vc1_decode_ac_coeff(), and vc1_init_static().

◆ ff_vc1_bfraction_lut

const int16_t ff_vc1_bfraction_lut[23]

Definition at line 142 of file vc1data.c.

Referenced by read_bfraction().

◆ ff_vc1_pixel_aspect

const AVRational ff_vc1_pixel_aspect[16]

Definition at line 154 of file vc1data.c.

Referenced by decode_sequence_header_adv().

◆ ff_wmv3_dc_scale_table

const uint8_t ff_wmv3_dc_scale_table[32]

Definition at line 173 of file vc1data.c.

Referenced by ff_vc1_decode_init().

◆ ff_vc1_simple_progressive_4x4_zz

const uint8_t ff_vc1_simple_progressive_4x4_zz[16]

Definition at line 182 of file vc1data.c.

Referenced by vc1_decode_p_block().

◆ ff_vc1_adv_progressive_8x4_zz

const uint8_t ff_vc1_adv_progressive_8x4_zz[32]

Definition at line 189 of file vc1data.c.

Referenced by ff_vc1_decode_sequence_header().

◆ ff_vc1_adv_progressive_4x8_zz

const uint8_t ff_vc1_adv_progressive_4x8_zz[32]

Definition at line 196 of file vc1data.c.

Referenced by ff_vc1_decode_sequence_header().

◆ ff_vc1_adv_interlaced_8x8_zz

const uint8_t ff_vc1_adv_interlaced_8x8_zz[64]

Definition at line 207 of file vc1data.c.

Referenced by ff_vc1_init_transposed_scantables().

◆ ff_vc1_adv_interlaced_8x4_zz

const uint8_t ff_vc1_adv_interlaced_8x4_zz[32]

Definition at line 218 of file vc1data.c.

Referenced by vc1_decode_p_block().

◆ ff_vc1_adv_interlaced_4x8_zz

const uint8_t ff_vc1_adv_interlaced_4x8_zz[32]

Definition at line 225 of file vc1data.c.

Referenced by vc1_decode_p_block().

◆ ff_vc1_adv_interlaced_4x4_zz

const uint8_t ff_vc1_adv_interlaced_4x4_zz[16]

Definition at line 236 of file vc1data.c.

Referenced by vc1_decode_p_block().

◆ ff_vc1_dqscale

const int32_t ff_vc1_dqscale[63]

Definition at line 245 of file vc1data.c.

Referenced by ff_vc1_pred_dc(), vc1_decode_i_block_adv(), and vc1_decode_intra_block().

◆ ff_vc1_field_mvpred_scales

const uint16_t ff_vc1_field_mvpred_scales[2][7][4]

Definition at line 257 of file vc1data.c.

Referenced by scaleforopp(), scaleforsame_x(), and scaleforsame_y().

◆ ff_vc1_b_field_mvpred_scales

const uint16_t ff_vc1_b_field_mvpred_scales[7][4]

Definition at line 281 of file vc1data.c.

Referenced by scaleforopp_x(), scaleforopp_y(), and scaleforsame().

◆ ff_vc1_ac_sizes

const int ff_vc1_ac_sizes[AC_MODES]

Definition at line 1059 of file vc1_vlc_data.h.

Referenced by vc1_decode_ac_coeff(), and vc1_init_static().