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