x264宏块及子块划分方式

1 宏块划分方式

  一副图像(帧,非场图像,x264支持宏块级场编码,这里以帧图像为例说明)按从左到右、从上到下16x16的方式划分宏块,对于图像宽度不是16的倍数的情况,会扩展至16的倍数,然后通过sps的crop参数表示出需要裁剪的区域。

2 8x8子块的划分方式

  对于每一个宏块内部,按从左到右、从上到下8x8的方式划分8x8子块,如下图所示。

  

3 4x4子块的划分方式

  对于每一个8x8子块内部,按从左到右、从上到下4x4的方式划分4x4子块,一个完整的宏块划分4x4子块如下图所示。

  

  • 其中4x4子块0、1、2、3为第一个8x8子块
  • 其中4x4子块4、5、6、7为第二个8x8子块
  • 其中4x4子块8、9、10、11为第三个8x8子块
  • 其中4x4子块12、13、14、15为第四个8x8子块

  

时间: 2024-12-13 16:38:38

x264宏块及子块划分方式的相关文章

h.264宏块与子宏块类型

宏块类型mb_type 宏块类型表示的是宏块不同的分割和编码方式,在h.264的语法结构中,宏块类型在宏块层(macroblock_layer)中用mb_type表示(请参考h.264语法结构分析中的macroblock_layer).而mb_type是与当前宏块所在的slice相关的,相同数值的mb_type在不同类型的slice中表示的类型会不一样. I slice的宏块类型 I slice中的宏块类型只能是I宏块类型(I开头),下标列出了所有的I宏块类型 mb_type name tran

hive用left semi join替代in子查询的方式

执行如下hive sql: select * from trackinfo where ds=$date and session_id in (select session_id from rcmd_track_path where ds=$date and add_cart_flag>0 and product_id>0);</span> 提示报错如下: FAILED: ParseException line 2:39 cannot recognize input near 's

子块元素在父块元素中居中

水平居中有两种情况: 子元素,父级元素都是块级元素的时候,子级元素{margin:0 auto}.需要注意的是当子级元素的position为非默认及relative时,这种设置会失效. 如p等标签中内的文字内容水平居中:使用{text-Align:center}.垂直居中设置该元素的行高等于元素的高.如:{height:100px;line-height:100px}可实现.注意:这种方法应用于行内元素

【iOS开发】添加子控件方式(懒加载,GCC)

1 // 2 // ViewController.m 3 // GCC 4 // 5 // Created by admin on 15/10/7. 6 // Copyright © 2015年 admin. All rights reserved. 7 // 8 9 #import "ViewController.h" 10 11 @interface ViewController () 12 13 @property (nonatomic, strong) UIButton* bt

Xcode中添加代码块的方式

在写代码的过程中,经常会有重复的代码(比如说,cell的使用),当然了复制粘贴也不是不行,但是Xcode提供了一个很方便的东西. 1.在Xcode右下角你会看到有一个{}的东西,这里是一些常用的代码块,你用鼠标是能够拖到自己的程序中的. 2.在Xcode中选中你想使用的代码,用鼠标拖动到右下角的那个{}下面,这时候你会看到一个绿色的“+”号. 3.在{}那栏的最下边是My Code Snippet,就是你刚才拖进来的代码了,现在需要对其进行设置,双击My Code Snippet,会出现 这个,

jdbc 块提取方式

最近使用jdbc方式查询数据,保存为csv文件中.当然你可以在pl/sql中直接查出来,copy to excel就好了.但我想通过程序实现 1 @Test 2 public void test() throws IOException { 3 BufferedReader reader=new BufferedReader(new InputStreamReader(new FileInputStream("C:\\Users\\yhzh\\Desktop\\zh_20160913"

bzoj 5210: 最大连通子块和【动态dp+树剖+线段树+堆】

参考:https://www.cnblogs.com/CQzhangyu/p/8632904.html 要开longlong的 首先看dp,设f[u]为必选u点的子树内最大联通块,p[u]为不一定选u的子树内最大联通块,转移很显然就是f[u]=max(Σf[v],0),p[u]=max(max(p[v]),f[u]) 然后看动态的部分,设g是不算重儿子的f,然后每条链上的真实f值要用一棵线段树维护g来得到,具体形式是f[u]=max(g[v]+f[hs[v]],0),是一个最长连续子序列的形式,

WPF 在MVVM模式下弹出子窗体的方式

主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来. WindowManager代码如下: public static class WindowManager { private static Hashtable _RegisterWindow = new Hashtable(); public static void Regiter<T>(st

jquery是方便了javascript,算是其子,导入方式必须记住,js文件自己官网下载

<head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div>hello</div> <!--jquery是一个JavaScript库 JavaScript是处理html页面的,html不认识jquery,所以先导入一个新的script,导入不可少必须有,--> <script src=&quo