转: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 |
|
有率失真的亚像素运动估计 |