『漫游』酷论坛>『影音数码技术学习交流』>[请教]x264编码裁切高 ..

[请教]x264编码裁切高宽还要求是16整数倍吗?

zys4416@2008-01-18 12:00

据说MPEG编码需要高宽为16整数倍否则造成压缩困难,x264应该可设定压缩单位,因此……如题。
比如1080p的x264编码视频,高就不是16的整数倍了。
引用

bomber1984@2008-01-18 12:24

同理704×396

Silky的圣经如是说

引用
我们再来看显示卡的 DirectDraw Overlay 什么时候会启动,这个很重要,因为由以上可知,如果不使用 DirectDraw Overlay,而走传统的 GDI(Graphic Display Interface)图形显示接口,显示速度会很慢
1. 无法使用 DirectDraw 硬件加速,无法使用硬件的内插补点和色彩空间转换,CPU 负担非常重
2. 直接传送 RGB32,数据量大。无法使用显示卡的 scaling/interpolating filter,放大到全屏幕,会锯齿方块一格一格的非常难看。

所以 DirectDraw Overlay 有没有启动非常重要,现在大部分的显示卡,即使在高分办率的时候,DirectDraw Overlay 还是会启动,尤其是 ATI 的显示卡,即使在超高分办率的时候还是可以启动。
但是大部分的显示卡都有一个限制,那就是影片的分办率,水平的点数必须能被 32 整除,这样才能使用 DirectDraw Overlay。所以 GKnot 的 resize 选项,水平部分会有一个 32 Mod(能被 32 整除)的限制,就是这个原因。由上述可知,720 的水平分办率不能被 32 整除,所以会有无法启动 DirectDraw Overlay 的危险,为了最大的兼容性,制作的影片水平分办率最好是能够被 32 整除。
附带一提,垂直高度最好是能够被 16 整除,因为 MPEG 压缩是以 16x16 的巨方块为单位压缩,不是 16 的倍数的高度会制造压缩困难,压缩后可能会出现压缩瑕疵。
最好是先做好 resize 再压缩,不要以原始的分办率 720x576 压缩,播放时才调整比例作实时 resize。


现在来说没啥必要了吧
引用

wolfsoft@2008-01-18 12:30

那是mpeg,h264已经可以压到4x4了

总之avs没报错就可以了,其余的管他娘(不……归Sharktooth管,嗯哼)
引用

qyqgpower@2008-01-19 12:19

h264的macroblock当然也是16x16的

x264在处理非mod16的源时会把分辨率先pad到mod16再压,只不过外面看不见的而已,所以理论上也有一定的码率浪费,离16越远浪费得越多
引用

su_xinling@2008-01-19 14:33

引用
最初由 qyqgpower 发布
h264的macroblock当然也是16x16的

x264在处理非mod16的源时会把分辨率先pad到mod16再压,只不过外面看不见的而已,所以理论上也有一定的码率浪费,离16越远浪费得越多


不是吧,H264没规定一定要16x16。通常是编码器本身没有完全应用,限制了大小的关系。像x264也容许mod8的,并没有所谓pad到mod16的做法(pad要自己做的)。
引用

qyqgpower@2008-01-19 22:15

没人说不允许

只不过你给x264一个非mod16的源,它内部处理时是先pad到mod16而已

别把16x16的macroblock和DCT Partition弄混了

http://forum.doom9.org/showthread.php?t=132030&highlight=mod16
引用

MeteorRain@2008-01-19 23:08

qyqgpower大把该讲的都讲了,我只说2字:正解
引用

来栖泊@2008-02-06 03:14

尽量16x16吧.. resize好然后crop到16x16
引用

| TOP