轉:X264函式功能總結
https://www.cnblogs.com/xkfz007/articles/2616161.html
函式名稱 |
所以位置 |
完成功能 |
void x264_frame_filter |
common\mc.c |
幀濾波 |
void x264_frame_init_lowres |
common\mc.c |
亮度1/2畫素值初始化 |
void x264_mc_init |
common\mc.c | 運動估計初始化 |
static void motion_compensation_chroma |
common\mc.c |
色度運動估計 |
static uint8_t *get_ref |
common\mc.c |
獲取參考亮度畫素 |
static void mc_luma |
common\mc.c |
亮度運動估計 |
|
common\mc.c |
|
void x264_param_default |
common\common.c |
設定預設引數 |
void x264_log |
common\common.c |
定義log級別 |
static void x264_log_default |
common\common.c |
設定預設日誌引數 |
void x264_picture_alloc |
common\common.c |
設定picture引數,根據輸出影象格式分配空間 |
void x264_picture_clean |
common\common.c |
釋放分配的影象空間 |
int x264_nal_encode |
common\common.c |
nal單元編碼 |
int x264_nal_decode |
common\common.c |
nal單元解碼 |
void *x264_malloc |
common\common.c |
X264內部定義的記憶體分配 |
void x264_free |
common\common.c |
X264記憶體釋放 |
void *x264_realloc |
common\common.c |
X264重新分配影象空間 |
void x264_reduce_fraction |
common\common.c |
分數化簡 |
char *x264_slurp_file |
common\common.c |
將檔案讀入分配的快取區 |
char *x264_param2string |
common\common.c |
轉換引數為字串,返回字串存放的地址 |
void x264_cabac_context_init |
common\cabac.c |
CABAC上下文取值表初始化 |
void x264_cabac_decode_init |
common\cabac.c |
CABAC解碼流初始化 |
static inline void x264_cabac_decode_renorm |
common\cabac.c |
CABAC解碼重新標準化 |
int x264_cabac_decode_decision |
common\cabac.c |
|
int x264_cabac_decode_bypass |
common\cabac.c |
|
int x264_cabac_decode_terminal |
common\cabac.c |
|
void x264_cabac_encode_init |
common\cabac.c |
|
static inline void x264_cabac_putbit |
common\cabac.c |
|
static inline void x264_cabac_encode_renorm |
common\cabac.c |
|
void x264_cabac_encode_decision |
common\cabac.c |
|
void x264_cabac_encode_bypass |
common\cabac.c |
|
void x264_cabac_encode_terminal |
common\cabac.c |
|
void x264_cabac_encode_flush |
common\cabac.c |
|
void x264_cabac_size_decision |
common\cabac.c |
|
int x264_cabac_size_decision2 |
common\cabac.c |
|
int 264_cabac_size_decision_noup |
common\cabac.c |
|
static inline int clip_uint8 |
common\dct.c |
clip3(x,0,255) |
static void dct2x2dc |
common\dct.c |
2*2直流係數的Hadamard變換 |
以4*4變換為基礎 |
|
|
static void dct4x4dc |
common\dct.c |
4*4DC係數的Hadamard變換 |
static void idct4x4dc |
common\dct.c |
每行每列一維蝶形快速演算法,完成d[4][4]的Hadamard反變換 |
static void sub4x4_dct |
common\dct.c |
對4*4殘差進行DCT變換 |
static void sub8x8_dct |
common\dct.c |
對8*8殘差進行DCT變換 |
static void sub16x16_dct |
common\dct.c |
對16*16殘差進行DCT變換 |
static void add4x4_idct |
common\dct.c |
殘差塊DCT反變換後,加到預測塊上,重構4*4塊 |
static void add8x8_idct |
common\dct.c |
殘差塊DCT反變換後,加到預測塊上,重構8*8塊 |
static void add16x16_idct |
common\dct.c |
殘差塊DCT反變換後,加到預測塊上,重構16*16塊 |
void x264_dct_init |
common\dct.c |
DCT運算初始化 |
static void quant_8x8_core |
common\quant.c |
8*8 AC量化 |
static void quant_4x4_core |
common\quant.c |
4*4 AC量化 |
static void quant_4x4_dc_core |
common\quant.c |
4*4 亮度DC量化 |
static void quant_2x2_dc_core |
common\quant.c |
2*2 色度DC量化 |
static void dequant_4x4 |
common\quant.c |
4*4 AC反量化 |
static void dequant_8x8 |
common\quant.c |
8*8 AC反量化 |
void x264_mb_dequant_2x2_dc |
common\quant.c |
2*2 色度DC反量化 |
void x264_mb_dequant_4x4_dc |
common\quant.c |
4*4 亮度DC反量化 |
void x264_quant_init |
common\quant.c |
量化參量初始化 |
x264_frame_t *x264_frame_new |
common\frame.c |
建立新幀 |
void x264_frame_delete |
common\frame.c |
刪除幀,釋放空間 |
void x264_frame_copy_picture |
common\frame.c |
將影象拷貝到幀中 |
static void plane_expand_border |
common\frame.c |
邊界擴充套件(被其他具體的擴充套件函式呼叫) |
void x264_frame_expand_border |
common\frame.c |
幀邊界擴充套件 |
void x264_frame_expand_border_filtered |
common\frame.c |
為濾波進行的邊界擴充套件 |
void x264_frame_expand_border_lowres |
common\frame.c |
為計算亮度半畫素值進行邊界擴充套件 |
void x264_frame_expand_border_mod16 |
common\frame.c |
幀邊界不是16整數倍時進行邊界擴充套件 |
static inline void deblock_luma_c |
common\frame.c |
bs=1~3時,修正亮度MB邊界的p0和q0值 |
static void deblock_v_luma_c |
common\frame.c |
亮度分量垂直邊界去塊濾波 |
static void deblock_h_luma_c |
common\frame.c |
亮度分量水平邊界去塊濾波 |
static inline void deblock_chroma_c |
common\frame.c |
bs=1~3時,修正色度MB邊界的p0和q0值 |
static void deblock_v_chroma_c |
common\frame.c |
色度分量垂直邊界去塊濾波 |
static void deblock_h_chroma_c |
common\frame.c |
色度分量水平邊界去塊濾波 |
static inline void deblock_luma_intra_c |
common\frame.c |
bs=4時,修正亮度MB邊界的值 |
static void deblock_v_luma_intra_c |
common\frame.c |
幀內亮度分量垂直邊界去塊濾波 |
static void deblock_h_luma_intra_c |
common\frame.c |
幀內亮度分量水平邊界去塊濾波 |
static inline void deblock_chroma_intra_c |
common\frame.c |
bs=4時,修正色度MB邊界的值 |
static void deblock_v_chroma_intra_c |
common\frame.c |
幀內色度分量垂直邊界去塊濾波 |
static void deblock_h_chroma_intra_c |
common\frame.c |
幀內色度分量水平邊界去塊濾波 |
static inline void deblock_edge |
common\frame.c |
bs值確定 |
void x264_frame_deblocking_filter |
common\frame.c |
幀去塊濾波主函式 |
void x264_deblock_init |
common\frame.c |
去塊濾波初始化 |
int x264_mb_predict_intra4x4_mode |
common\macroblock.c |
幀內4*4塊模式預測 |
int x264_mb_predict_non_zero_code |
common\macroblock.c |
非零 |
int x264_mb_transform_8x8_allowed |
common\macroblock.c |
判斷當前巨集塊是否允許8*8變換 |
void x264_mb_predict_mv |
common\macroblock.c |
巨集塊運動向量預測 |
void x264_mb_predict_mv_16x16 |
common\macroblock.c |
16*16塊MV預測 |
void x264_mb_predict_mv_pskip |
common\macroblock.c |
Pskip塊MV預測 |
static int x264_mb_predict_mv_direct16x16_temporal |
common\macroblock.c |
直接模式16*16塊MV時間預測 |
static int x264_mb_predict_mv_direct16x16_spatial |
common\macroblock.c |
直接模式16*16塊MV空間預測 |
int x264_mb_predict_mv_direct16x16 |
common\macroblock.c |
直接模式16*16塊MV預測 |
void x264_mb_load_mv_direct8x8 |
common\macroblock.c |
直接模式8*8塊MV載入 |
void x264_mb_predict_mv_ref16x16 |
common\macroblock.c |
16*16參考塊MV預測 |
static inline void x264_mb_mc_0xywh |
common\macroblock.c |
前向巨集塊運動補償 |
static inline void x264_mb_mc_1xywh |
common\macroblock.c |
後向巨集塊運動補償 |
static inline void x264_mb_mc_01xywh |
common\macroblock.c |
巨集塊雙向運動補償 |
static void x264_mb_mc_direct8x8 |
common\macroblock.c |
直接模式8*8塊運動補償 |
void x264_mb_mc_8x8 |
common\macroblock.c |
各種型別8*8塊及其分割的運動補償 |
void x264_mb_mc |
common\macroblock.c |
各種型別塊運動補償(呼叫以上各MC子函式) |
void x264_macroblock_cache_init |
common\macroblock.c |
初始化表徵巨集塊的各變數,分配記憶體空間 |
void x264_macroblock_cache_end |
common\macroblock.c |
釋放為巨集塊分配的cache空間 |
void x264_macroblock_slice_init |
common\macroblock.c |
初始MB與slice對映關係 |
void x264_macroblock_cache_load |
common\macroblock.c |
巨集塊cache載入,所有巨集塊表徵變數賦值 |
void x264_macroblock_cache_save |
common\macroblock.c |
儲存cache中的變數值 |
void x264_macroblock_bipred_init |
common\macroblock.c |
巨集塊雙向預測初始化 |
int64_t x264_pixel_ssd_wxh |
common\pixel.c |
計算畫素差值平方和 |
static inline void pixel_sub_wxh |
common\pixel.c |
計算畫素差 |
static int pixel_satd_wxh |
common\pixel.c |
計算4*4hardmard變換後的絕對誤差和 |
static inline int pixel_sa8d_wxh |
common\pixel.c |
計算8*8hardmard變換後的絕對誤差和 |
static void predict_16x16_dc |
common\predict.c |
上和左鄰塊可用時,幀內16*16亮度塊DC模式預測 |
static void predict_16x16_dc_left |
common\predict.c |
左邊鄰塊可用時,幀內16*16亮度塊DC模式預測 |
static void predict_16x16_dc_top |
common\predict.c |
上邊鄰塊可用時,幀內16*16亮度塊DC模式預測 |
static void predict_16x16_dc_128 |
common\predict.c |
鄰塊均不可用時,幀內16*16亮度塊預測DC模式,預測值為128 |
static void predict_16x16_h |
common\predict.c |
幀內16*16亮度塊水平預測 |
static void predict_16x16_v |
common\predict.c |
幀內16*16亮度塊垂直預測 |
static void predict_16x16_p |
common\predict.c |
幀內16*16亮度塊平面預測 |
static void predict_8x8c_dc_128 |
common\predict.c |
|
static void predict_8x8c_dc_left |
common\predict.c |
|
static void predict_8x8c_dc_top |
common\predict.c |
|
static void predict_8x8c_dc |
common\predict.c |
|
static void predict_8x8c_h |
common\predict.c |
|
static void predict_8x8c_v |
common\predict.c |
|
static void predict_8x8c_p |
common\predict.c |
|
static void predict_4x4c_dc_128 |
common\predict.c |
|
static void predict_4x4c_dc_left |
common\predict.c |
|
static void predict_4x4c_dc_top |
common\predict.c |
|
static void predict_4x4c_dc |
common\predict.c |
|
static void predict_4x4c_h |
common\predict.c |
|
static void predict_4x4c_v |
common\predict.c |
|
static void predict_4x4c_p |
common\predict.c |
|
static void predict_4x4_ddl |
common\predict.c |
模式3 左下對角預測 |
static void predict_4x4_ddr |
common\predict.c |
模式4 右下對角預測 |
static void predict_4x4_vr |
common\predict.c |
模式5 垂直左下角 |
static void predict_4x4_hd |
common\predict.c |
模式6 水平斜下角 |
static void predict_4x4_vl |
common\predict.c |
模式7 垂直左下角 |
static void predict_4x4_hu |
common\predict.c |
模式8 水平斜上角 |
static void predict_8x8c_dc_128 |
common\predict.c |
|
static void predict_8x8c_dc_left |
common\predict.c |
|
static void predict_8x8c_dc_top |
common\predict.c |
|
static void predict_8x8c_dc |
common\predict.c |
|
static void predict_8x8c_h |
common\predict.c |
|
static void predict_8x8c_v |
common\predict.c |
|
static void predict_8x8c_p |
common\predict.c |
|
static void predict_8x8_ddl |
common\predict.c |
|
static void predict_8x8_ddr |
common\predict.c |
|
static void predict_8x8_vr |
common\predict.c |
|
static void predict_8x8_hd |
common\predict.c |
|
static void predict_8x8_vl |
common\predict.c |
|
static void predict_8x8_hu |
common\predict.c |
|
void x264_predict_16x16_init |
common\predict.c |
幀內16*16亮度塊預測模式初始化 |
void x264_predict_8x8c_init( int cpu, x264_predict8x8_t pf[7] ) |
common\predict.c |
幀內8*8亮度塊預測模式初始化(7種模式) |
void x264_predict_8x8c_init( int cpu, x264_predict8x8_t pf[12] ) |
common\predict.c |
幀內8*8亮度塊預測模式初始化(12種模式) |
void x264_predict_4x4_init |
common\predict.c |
幀內4*4亮度塊預測模式初始化 |
void x264_cqm_init |
common\set.c |
量化矩陣初始化 |
int x264_cqm_parse_jmlist |
common\set.c |
分析量化矩陣列表的正確性 |
int x264_cqm_parse_file |
common\set.c |
分析量化矩陣檔案的正確性 |
|
|
|
static inline void x264_cabac_encode_ue_bypass |
encoder\cabac.c |
無符號指標GOLOMB編碼 |
static inline void x264_cabac_mb_type_intra |
encoder\cabac.c |
巨集塊幀內型別cabac編碼 |
static void x264_cabac_mb_type |
encoder\cabac.c |
巨集塊型別cabac編碼 |
static void x264_cabac_mb_intra4x4_pred_mode |
encoder\cabac.c |
4*4幀內亮度塊預測模式cabac編碼 |
static void x264_cabac_mb_intra_chroma_pred_mode |
encoder\cabac.c |
幀內色度塊預測模式cabac編碼 |
static void x264_cabac_mb_cbp_luma |
encoder\cabac.c |
巨集塊亮度cbp值cabac編碼 |
static void x264_cabac_mb_cbp_chroma |
encoder\cabac.c |
巨集塊色度cbp值cabac編碼 |
static void x264_cabac_mb_qp_delta |
encoder\cabac.c |
巨集塊增量量化引數cabac編碼 |
void x264_cabac_mb_skip |
encoder\cabac.c |
可跳過巨集塊cabac編碼 |
static inline void x264_cabac_mb_sub_p_partition |
encoder\cabac.c |
8*8子巨集塊分割cabac編碼 |
static inline void x264_cabac_mb_sub_b_partition |
encoder\cabac.c |
B幀8*8子巨集塊各種分割cabac編碼 |
static inline void x264_cabac_mb_transform_size |
encoder\cabac.c |
巨集塊變換塊尺寸cabac編碼 |
static inline void x264_cabac_mb_ref |
encoder\cabac.c |
參考巨集塊cabac編碼 |
static inline void x264_cabac_mb_mvd_cpn |
encoder\cabac.c |
巨集塊的mvd進行cabac編碼 |
static inline void x264_cabac_mb_mvd |
encoder\cabac.c |
計算並儲存巨集塊mvd,呼叫上個函式對mvd進行cabac編碼 |
static inline void x264_cabac_mb8x8_mvd |
encoder\cabac.c |
8*8巨集塊mvd的cabac編碼 |
static int x264_cabac_mb_cbf_ctxidxinc |
encoder\cabac.c |
返回巨集塊左邊和上邊塊非0畫素的個數 |
static void block_residual_write_cabac |
encoder\cabac.c |
殘差塊cabac編碼 |
void x264_macroblock_write_cabac |
encoder\cabac.c |
巨集塊cabac編碼主函式(呼叫以上各子函式) |
定義RD時使用 |
encoder\cabac.c |
|
void x264_partition_size_cabac |
encoder\cabac.c |
巨集塊分割cabac編碼主函式 |
static void x264_partition_i8x8_size_cabac |
encoder\cabac.c |
|
static void x264_partition_i4x4_size_cabac |
encoder\cabac.c |
|
|
|
|
static void block_residual_write_cavlc |
encoder\cavlc.c |
殘差塊cavlc編碼 |
static void cavlc_qp_delta |
encoder\cavlc.c |
量化引數增量cavlc編碼 |
static void cavlc_mb_mvd |
encoder\cavlc.c |
運動向量差值cavlc編碼 |
static void cavlc_mb8x8_mvd |
encoder\cavlc.c |
8*8子巨集塊運動向量差值cavlc編碼 |
static inline void x264_macroblock_luma_write_cavlc |
encoder\cavlc.c |
亮度巨集塊cavlc編碼 |
void x264_macroblock_write_cavlc |
encoder\cavlc.c |
巨集塊cavlc編碼主函式 |
#ifdef RDO_SKIP_BS時使用下列 |
encoder\cavlc.c |
|
int x264_partition_size_cavlc |
encoder\cavlc.c |
|
static int cavlc_intra4x4_pred_size |
encoder\cavlc.c |
|
static int x264_partition_i8x8_size_cavlc |
encoder\cavlc.c |
|
static int x264_partition_i4x4_size_cavlc |
encoder\cavlc.c |
|
|
|
|
static double pop |
encoder\eval.c |
出棧 |
static void push |
encoder\eval.c |
入棧 |
static int strmatch |
encoder\eval.c |
串匹配 |
static void evalPrimary |
encoder\eval.c |
一些常用計算 |
static void evalPow |
encoder\eval.c |
運算式分析或計算 |
static void evalFactor |
encoder\eval.c |
求冪運算 |
static void evalTerm |
encoder\eval.c |
|
static void evalExpression |
encoder\eval.c |
|
double x264_eval |
encoder\eval.c |
輸入運算變數和運算子,功能呼叫運算表示式分析函式 |
|
|
|
void x264_me_search_ref |
encoder\me.c |
運動估計搜尋 |
void x264_me_refine_qpel |
|
亞畫素運動估計 |
static void refine_subpel |
|
亞畫素運動估計搜尋 |
int x264_me_refine_bidir |
|
雙向運動估計 |
void x264_me_refine_qpel_rd |
|
有率失真的亞畫素運動估計 |