转:X264函数功能总结

函数名称

所以位置

完成功能

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

  

有率失真的亚像素运动估计

posted @ 2012-08-01 01:11  Mr.Rico  阅读(...)  评论(...编辑  收藏