x264_scan8 的存储方式

来源:互联网 发布:仿真类软件 编辑:程序博客网 时间:2024/05/16 16:04
x264_scan8 的存储方式分享标签: x264_macroblock_cache_load 中的问题 分类: 技术 2008-12-04 16:48问:请教x264里面这样定义的宏块位置 MB_LEFT = 0x01, MB_TOP = 0x02, MB_TOPRIGHT = 0x04, MB_PRIVATE = 0x10, MB_PRIVATE 具体是指哪个位置的mb阿? ---有没有人知道x264里这个东西是什么意思 0 1 2 3 4 5 6 701 B B L L L L2 B B L L L L3 L L L L4 R R L L L L   5 R R   用它定义的数组是x264_scan8 应该是和ffmpeg相关的,哪位看过的高人指点一下?答:MB_LEFT、MB_TOP、MB_TOPRIGHT 用来判断左、上、右上块是否存在MB_PRIVATE 用来判断右上4×4块是否已编码 ^_^ 这个问题已经是第三个人问我了摘自蓝风车,风车实在太强了。x264_scan8 的存储方式,不是那个注释很清楚么?/* 0 1 2 3 4 5 6 701 B B L L L L2 B B L L L L3 L L L L4 R R L L L L5 R R*/L是16个亮度块,B是4个Cb分量块,R是4个Cr分量块。注意其L、B、R上边、左边都空有位置,用来保存上边宏块最后一行、左边宏块最右一列4×4块的nz信息。这样,程序中就用下面的表达式得到左边块和上边块的nc值,从而得到4×4预测模式。const int ma = h->mb.cache.intra4x4_pred_mode[x264_scan8[idx] - 1]; const int mb = h->mb.cache.intra4x4_pred_mode[x264_scan8[idx] - 8]; const int m = X264_MIN( ma, mb );
原创粉丝点击