- 博客(10)
- 收藏
- 关注
原创 compressCTU流程图
NY特定预测模式YNYN对选出的几种cand模式compressCTUis_I_slicecompressIntraCUcompressInterCU_rd0_4划分CUcheckIntra检查当前大小CU的rdcost对每个subCU调用compressIntraCUestIntraPredQT根据sad选u32MaxRdCandCount个候选方向codeIntraLumaQT编码算开销che...
2020-02-01 22:02:44 946
原创 x265中模式选择中的rd判断
x265中模式选择中的rd判断checkMerge2Nx2N_rd0_4MergeCand的选择:sa8dCost = sa8d(fenc,pred) + lamda*bitsskip/merge的比较:rdcostSPLIT与SKIP的比较:rdcostcheckInter_rd0_4/checkBidir2Nx2N运行ME,返回sa8dPRED_2Nx2N/RECT/A...
2020-02-01 21:59:25 753
原创 X265编码核心函数分析
X265编码核心函数分析compressCTU流程m_bChromaSa8d = m_pParam->rdLevel >= 3;计算i32CtuQpm_aRqtData[0].m_cEntropyCur.load(cInitEntrConxt); 初始化熵编码环境.推测先做下一层时,要加载下一层的初始环境对I_SLICE,调compressIntraCU根据rd设置,调用...
2020-02-01 21:54:25 1983
原创 H264中的CABAC及FFMPEG中的实现
H264中的CABAC解码一. 初始化1. 初始化context每个语法元素有自己的context,由pStatIdx和valMPS两者构成。初始化时根据标准中表9-12到9-23中定义的n和m以及当前slice的sliceQPY来计算,过程如下:preCtxState = Clip3( 1, 126, ( ( m ∗Clip3( 0, 51, SliceQPY ) ) >> 4
2016-10-26 20:50:12 2715
原创 FFMPEG中的IDCT类型
FFMPEG中的IDCT类型1. FF_IDCT_PERM_TRANSPOSE 对系数预先转置的标准IDCT2. FF_IDCT_PERM_LIBMPEG2 ARM中使用的方式3. FF_IDCT_PERM_SIMPLE MMX中使用的变换4.FF_IDCT_PERM_TRANSPOSE SSE和AVX中使用的变换
2016-09-20 21:57:40 499
原创 X265的编码流程
X265的编码主函数int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out)过程为:1. 先将输入图像x265_picture* pic_in中的数据复制到内部帧结构Frame *inFrame,计算好其它帧信息2. 调用m_lookahead->addPicture(*inFrame, slice
2016-09-08 11:37:25 4705
原创 X265中的线程模型
一. 线程和线程池1. X265中创建线程只有一个地方,Thread::start()函数(调用CreateThread),Thread::stop等待线程结束。因此,所有的线程都需要从Thread继承。2. 线程池:主要的成员就是1:工作线程数组,2:JobProvider数组,说明一个线程池可能有多个JobProvider,但一个JobProvider只对应一个poolclass
2016-09-06 10:39:50 3424 3
原创 HEVC的量化与变换
标准文档中的定义的完整过程如下: if( cu_transquant_bypass_flag){ r[][] = TransCoeffLevel[ xTbY ][ yTbY ][ cIdx ]. cIdx为Y/U/V分量标号. }else{ d[][] = scaling(TransCoeffLevel) if(tr
2016-09-02 22:33:44 1841
原创 HEVC中的帧内预测
今日对照HEVC标准TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (04/2013)阅读HM代码,代码版本2016-8-18,karls
2016-09-02 17:31:47 2359
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人