转:X264函数功能总结

函数名称所以位置完成功能

void x264_frame_filtercommon\mc.c帧滤波

void x264_frame_init_lowrescommon\mc.c亮度1/2像素值初始化

void x264_mc_initcommon\mc.c运动估计初始化

static void motion_compensation_chromacommon\mc.c色度运动估计

static uint8_t *get_refcommon\mc.c获取参考亮度像素

static void mc_lumacommon\mc.c亮度运动估计

 common\mc.c

void    x264_param_defaultcommon\common.c设置缺省参数

void x264_logcommon\common.c定义log级别

static void x264_log_defaultcommon\common.c设置缺省日志参数

void x264_picture_alloccommon\common.c设置picture参数,根据输出图像格式分配空间

void x264_picture_cleancommon\common.c释放分配的图像空间

int x264_nal_encodecommon\common.cnal单元编码

int x264_nal_decodecommon\common.cnal单元解码

void *x264_malloccommon\common.cX264内部定义的内存分配

void x264_freecommon\common.cX264内存释放

void *x264_realloccommon\common.cX264重新分配图像空间

void x264_reduce_fractioncommon\common.c分数化简

char *x264_slurp_filecommon\common.c将文件读入分配的缓存区

char *x264_param2stringcommon\common.c转换参数为字符串,返回字符串存放的地址

void x264_cabac_context_initcommon\cabac.cCABAC上下文取值表初始化

void x264_cabac_decode_initcommon\cabac.cCABAC解码流初始化

static inline void x264_cabac_decode_renormcommon\cabac.cCABAC解码重新标准化

int  x264_cabac_decode_decisioncommon\cabac.c

int  x264_cabac_decode_bypasscommon\cabac.c

int  x264_cabac_decode_terminalcommon\cabac.c

void x264_cabac_encode_initcommon\cabac.c

static inline void x264_cabac_putbitcommon\cabac.c

static inline void x264_cabac_encode_renormcommon\cabac.c

void x264_cabac_encode_decisioncommon\cabac.c

void x264_cabac_encode_bypasscommon\cabac.c

void x264_cabac_encode_terminalcommon\cabac.c

void x264_cabac_encode_flushcommon\cabac.c

void x264_cabac_size_decisioncommon\cabac.c

int x264_cabac_size_decision2common\cabac.c

int 264_cabac_size_decision_noupcommon\cabac.c

static inline int clip_uint8common\dct.cclip3(x,0,255)

static void dct2x2dccommon\dct.c2*2直流系数的Hadamard变换

以4*4变换为基础

static void dct4x4dccommon\dct.c4*4DC系数的Hadamard变换

static void idct4x4dccommon\dct.c每行每列一维蝶形快速算法,完成d[4][4]的Hadamard反变换

static void sub4x4_dctcommon\dct.c对4*4残差进行DCT变换

static void sub8x8_dctcommon\dct.c对8*8残差进行DCT变换

static void sub16x16_dctcommon\dct.c对16*16残差进行DCT变换

static void add4x4_idctcommon\dct.c残差块DCT反变换后,加到预测块上,重构4*4块

static void add8x8_idctcommon\dct.c残差块DCT反变换后,加到预测块上,重构8*8块

static void add16x16_idctcommon\dct.c残差块DCT反变换后,加到预测块上,重构16*16块

void x264_dct_initcommon\dct.cDCT运算初始化

static void quant_8x8_corecommon\quant.c8*8 AC量化

static void quant_4x4_corecommon\quant.c4*4 AC量化

static void quant_4x4_dc_corecommon\quant.c4*4 亮度DC量化

static void quant_2x2_dc_corecommon\quant.c2*2 色度DC量化

static void dequant_4x4common\quant.c4*4 AC反量化

static void dequant_8x8common\quant.c8*8 AC反量化

void x264_mb_dequant_2x2_dccommon\quant.c2*2 色度DC反量化

void x264_mb_dequant_4x4_dccommon\quant.c4*4 亮度DC反量化

void x264_quant_initcommon\quant.c量化参量初始化

x264_frame_t *x264_frame_newcommon\frame.c创建新帧

void x264_frame_deletecommon\frame.c删除帧,释放空间

void x264_frame_copy_picturecommon\frame.c将图像拷贝到帧中

static void plane_expand_bordercommon\frame.c边界扩展(被其他具体的扩展函数调用)

void x264_frame_expand_bordercommon\frame.c帧边界扩展

void x264_frame_expand_border_filteredcommon\frame.c为滤波进行的边界扩展

void x264_frame_expand_border_lowrescommon\frame.c为计算亮度半像素值进行边界扩展

void x264_frame_expand_border_mod16common\frame.c帧边界不是16整数倍时进行边界扩展

static inline void deblock_luma_ccommon\frame.cbs=1~3时,修正亮度MB边界的p0和q0值

static void deblock_v_luma_ccommon\frame.c亮度分量垂直边界去块滤波

static void deblock_h_luma_ccommon\frame.c亮度分量水平边界去块滤波

static inline void deblock_chroma_ccommon\frame.cbs=1~3时,修正色度MB边界的p0和q0值

static void deblock_v_chroma_ccommon\frame.c色度分量垂直边界去块滤波

static void deblock_h_chroma_ccommon\frame.c色度分量水平边界去块滤波

static inline void deblock_luma_intra_ccommon\frame.cbs=4时,修正亮度MB边界的值

static void deblock_v_luma_intra_ccommon\frame.c帧内亮度分量垂直边界去块滤波

static void deblock_h_luma_intra_ccommon\frame.c帧内亮度分量水平边界去块滤波

static inline void deblock_chroma_intra_ccommon\frame.cbs=4时,修正色度MB边界的值

static void deblock_v_chroma_intra_ccommon\frame.c帧内色度分量垂直边界去块滤波

static void deblock_h_chroma_intra_ccommon\frame.c帧内色度分量水平边界去块滤波

static inline void deblock_edgecommon\frame.cbs值确定

void x264_frame_deblocking_filtercommon\frame.c帧去块滤波主函数

void x264_deblock_initcommon\frame.c去块滤波初始化

int x264_mb_predict_intra4x4_modecommon\macroblock.c帧内4*4块模式预测

int x264_mb_predict_non_zero_codecommon\macroblock.c非零

int x264_mb_transform_8x8_allowedcommon\macroblock.c判断当前宏块是否允许8*8变换

void x264_mb_predict_mvcommon\macroblock.c宏块运动矢量预测

void x264_mb_predict_mv_16x16common\macroblock.c16*16块MV预测

void x264_mb_predict_mv_pskipcommon\macroblock.cPskip块MV预测

static int x264_mb_predict_mv_direct16x16_temporalcommon\macroblock.c直接模式16*16块MV时间预测

static int x264_mb_predict_mv_direct16x16_spatialcommon\macroblock.c直接模式16*16块MV空间预测

int x264_mb_predict_mv_direct16x16common\macroblock.c直接模式16*16块MV预测

void x264_mb_load_mv_direct8x8common\macroblock.c直接模式8*8块MV加载

void x264_mb_predict_mv_ref16x16common\macroblock.c16*16参考块MV预测

static inline void x264_mb_mc_0xywhcommon\macroblock.c前向宏块运动补偿

static inline void x264_mb_mc_1xywhcommon\macroblock.c后向宏块运动补偿

static inline void x264_mb_mc_01xywhcommon\macroblock.c宏块双向运动补偿

static void x264_mb_mc_direct8x8common\macroblock.c直接模式8*8块运动补偿

void x264_mb_mc_8x8common\macroblock.c各种类型8*8块及其分割的运动补偿

void x264_mb_mccommon\macroblock.c各种类型块运动补偿(调用以上各MC子函数)

void x264_macroblock_cache_initcommon\macroblock.c初始化表征宏块的各变量,分配内存空间

void x264_macroblock_cache_endcommon\macroblock.c释放为宏块分配的cache空间

void x264_macroblock_slice_initcommon\macroblock.c初始MB与slice映射关系

void x264_macroblock_cache_loadcommon\macroblock.c宏块cache加载,所有宏块表征变量赋值

void x264_macroblock_cache_savecommon\macroblock.c保存cache中的变量值

void x264_macroblock_bipred_initcommon\macroblock.c宏块双向预测初始化

int64_t x264_pixel_ssd_wxhcommon\pixel.c计算像素差值平方和

static inline void pixel_sub_wxhcommon\pixel.c计算像素差

static int pixel_satd_wxhcommon\pixel.c计算4*4hardmard变换后的绝对误差和

static inline int pixel_sa8d_wxhcommon\pixel.c计算8*8hardmard变换后的绝对误差和

static void predict_16x16_dccommon\predict.c上和左邻块可用时,帧内16*16亮度块DC模式预测

static void predict_16x16_dc_leftcommon\predict.c左边邻块可用时,帧内16*16亮度块DC模式预测

static void predict_16x16_dc_topcommon\predict.c上边邻块可用时,帧内16*16亮度块DC模式预测

static void predict_16x16_dc_128common\predict.c邻块均不可用时,帧内16*16亮度块预测DC模式,预测值为128

static void predict_16x16_hcommon\predict.c帧内16*16亮度块水平预测

static void predict_16x16_vcommon\predict.c帧内16*16亮度块垂直预测

static void predict_16x16_pcommon\predict.c帧内16*16亮度块平面预测

static void predict_8x8c_dc_128common\predict.c

static void predict_8x8c_dc_leftcommon\predict.c

static void predict_8x8c_dc_topcommon\predict.c

static void predict_8x8c_dccommon\predict.c

static void predict_8x8c_hcommon\predict.c

static void predict_8x8c_vcommon\predict.c

static void predict_8x8c_pcommon\predict.c

static void predict_4x4c_dc_128common\predict.c

static void predict_4x4c_dc_leftcommon\predict.c

static void predict_4x4c_dc_topcommon\predict.c

static void predict_4x4c_dccommon\predict.c

static void predict_4x4c_hcommon\predict.c

static void predict_4x4c_vcommon\predict.c

static void predict_4x4c_pcommon\predict.c

static void predict_4x4_ddlcommon\predict.c模式3 左下对角预测

static void predict_4x4_ddrcommon\predict.c模式4 右下对角预测

static void predict_4x4_vrcommon\predict.c模式5 垂直左下角

static void predict_4x4_hdcommon\predict.c模式6 水平斜下角

static void predict_4x4_vlcommon\predict.c模式7 垂直左下角

static void predict_4x4_hucommon\predict.c模式8  水平斜上角

static void predict_8x8c_dc_128common\predict.c

static void predict_8x8c_dc_leftcommon\predict.c

static void predict_8x8c_dc_topcommon\predict.c

static void predict_8x8c_dccommon\predict.c

static void predict_8x8c_hcommon\predict.c

static void predict_8x8c_vcommon\predict.c

static void predict_8x8c_pcommon\predict.c

static void predict_8x8_ddlcommon\predict.c

static void predict_8x8_ddrcommon\predict.c

static void predict_8x8_vrcommon\predict.c

static void predict_8x8_hdcommon\predict.c

static void predict_8x8_vlcommon\predict.c

static void predict_8x8_hucommon\predict.c

void x264_predict_16x16_initcommon\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_initcommon\predict.c帧内4*4亮度块预测模式初始化

void x264_cqm_initcommon\set.c量化矩阵初始化

int x264_cqm_parse_jmlistcommon\set.c分析量化矩阵列表的正确性

int x264_cqm_parse_filecommon\set.c分析量化矩阵文件的正确性

 

static inline void x264_cabac_encode_ue_bypassencoder\cabac.c无符号指标GOLOMB编码

static inline void x264_cabac_mb_type_intraencoder\cabac.c宏块帧内类型cabac编码

static void x264_cabac_mb_typeencoder\cabac.c宏块类型cabac编码

static void x264_cabac_mb_intra4x4_pred_modeencoder\cabac.c4*4帧内亮度块预测模式cabac编码

static void x264_cabac_mb_intra_chroma_pred_modeencoder\cabac.c帧内色度块预测模式cabac编码

static void x264_cabac_mb_cbp_lumaencoder\cabac.c宏块亮度cbp值cabac编码

static void x264_cabac_mb_cbp_chromaencoder\cabac.c宏块色度cbp值cabac编码

static void x264_cabac_mb_qp_deltaencoder\cabac.c宏块增量量化参数cabac编码

void x264_cabac_mb_skipencoder\cabac.c可跳过宏块cabac编码

static inline void x264_cabac_mb_sub_p_partitionencoder\cabac.c8*8子宏块分割cabac编码

static inline void x264_cabac_mb_sub_b_partitionencoder\cabac.cB帧8*8子宏块各种分割cabac编码

static inline void x264_cabac_mb_transform_sizeencoder\cabac.c宏块变换块尺寸cabac编码

static inline void x264_cabac_mb_refencoder\cabac.c参考宏块cabac编码

static inline void x264_cabac_mb_mvd_cpnencoder\cabac.c宏块的mvd进行cabac编码

static inline void x264_cabac_mb_mvdencoder\cabac.c计算并保存宏块mvd,调用上个函数对mvd进行cabac编码

static inline void x264_cabac_mb8x8_mvdencoder\cabac.c8*8宏块mvd的cabac编码

static int x264_cabac_mb_cbf_ctxidxincencoder\cabac.c返回宏块左边和上边块非0像素的个数

static void block_residual_write_cabacencoder\cabac.c残差块cabac编码

void x264_macroblock_write_cabacencoder\cabac.c宏块cabac编码主函数(调用以上各子函数)

定义RD时使用encoder\cabac.c

void x264_partition_size_cabacencoder\cabac.c宏块分割cabac编码主函数

static void x264_partition_i8x8_size_cabacencoder\cabac.c

static void x264_partition_i4x4_size_cabacencoder\cabac.c

 

static void block_residual_write_cavlcencoder\cavlc.c残差块cavlc编码

static void cavlc_qp_deltaencoder\cavlc.c量化参数增量cavlc编码

static void cavlc_mb_mvdencoder\cavlc.c运动矢量差值cavlc编码

static void cavlc_mb8x8_mvdencoder\cavlc.c8*8子宏块运动矢量差值cavlc编码

static inline void x264_macroblock_luma_write_cavlcencoder\cavlc.c亮度宏块cavlc编码

void x264_macroblock_write_cavlcencoder\cavlc.c宏块cavlc编码主函数

#ifdef RDO_SKIP_BS时使用下列encoder\cavlc.c

int x264_partition_size_cavlcencoder\cavlc.c

static int cavlc_intra4x4_pred_sizeencoder\cavlc.c

static int x264_partition_i8x8_size_cavlcencoder\cavlc.c

static int x264_partition_i4x4_size_cavlcencoder\cavlc.c

 

static double popencoder\eval.c出栈

static void pushencoder\eval.c入栈

static int strmatchencoder\eval.c串匹配

static void evalPrimaryencoder\eval.c一些常用计算

static void evalPowencoder\eval.c运算式分析或计算

static void evalFactorencoder\eval.c求幂运算

static void evalTermencoder\eval.c

static void evalExpressionencoder\eval.c

double x264_evalencoder\eval.c输入运算变量和运算符,功能调用运算表达式分析函数

 

void x264_me_search_refencoder\me.c运动估计搜索

void x264_me_refine_qpel 亚像素运动估计

static void refine_subpel 亚像素运动估计搜索

int x264_me_refine_bidir 双向运动估计

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容