搜索 社区服务 统计排行 帮助
  • 4159阅读
  • 21回复

[请教]还是X264兼容硬解得得问题,一些笔记以及关于B帧~

楼层直达
级别: 新手上路
注册时间:
2007-02-26
在线时间:
0小时
发帖:
185
Doom9的那个帖子太长了,今天复习了一下,在这个帖子里做点笔记,另外,那个帖子看也看不完,所以顺带还要问两个问题。

首先,硬件解码的限制主要是在帧缓存DPB上,DPB是Decoded Picture Buffer,已解码图像缓存,已经解码的图像放在缓存里用来做其他帧的参考,所以DPB以参考帧密切相关。

L4.1规定的DPB是12288KB,相当于对少bit呢?12288*1024*8bit=100663296bit
由于MPEG4的图像一律是4:2:0格式,所以每个像素占用12bit数据,那么帧缓存中允许的像素数量就是100663296/12=8388608。
所以:8388608/(长*宽)=参考帧的数量

8388608/1920/1088=4.01,所以当影片为1080p时,参考帧数量不能超过4,否则DXVA硬解就失效,当然这是对电脑显卡来说的,对于其他的硬件播放器,比如蓝光碟机,高清播放机,由于硬件的限制,他们的能力一般是低于L4.1的标准的(即使是声称支持L4.1),如果完全按照L4.1去做,播放时也可能有问题。

笔记就做到这里。

下面问问题,

1、B-pyramids对硬件兼容性不好,使用这个参数必须Nref-1,而且即使这样也不保证没问题,这一状况现在有没有改变?我看megui预置的跟硬解有关的配置里,这个参数全都禁用。

2、B帧数量到底跟硬解有没有关系,我是觉得没关系,但是为什么跟硬解有关的profile里B帧数量都不超过3呢?
级别: 骑士
注册时间:
2003-06-05
在线时间:
0小时
发帖:
1041
只看该作者 1楼 发表于: 2008-12-14
b帧超过3似乎也可以硬解。倒是ref,超过5似乎就无法硬解了。

可能对那些支持avc解码的播放设备而言,b帧卡的比较紧。电脑显卡硬解应该没那么bt吧。

我试过ref5 bf16硬解成功,但是ref16 bf16就无法硬解。
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 2楼 发表于: 2008-12-14
PS3,蓝光之类貌似有bframes <= 3的限制。其实MeGUI里的配置比较保守,因为是写死的。
PC上,新的NV驱动已经可以支持到硬解L5.0,据说1080p的ref可以到13。

但其实问题是ref和bframe有必要用到那么多吗?ref = 4 b = 3 肯定不会有硬解的问题,你非要ref = 5 b = 16又能节省多少码率呢。
级别: 新手上路
注册时间:
2005-06-30
在线时间:
1小时
发帖:
529
只看该作者 3楼 发表于: 2008-12-14
MPEG4不是一律4:2:0的……

级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 4楼 发表于: 2008-12-14
现在上哪里找不是4:2:0的MPEG4?
级别: 新手上路
注册时间:
2007-02-26
在线时间:
0小时
发帖:
185
只看该作者 5楼 发表于: 2008-12-14
引用
最初由 ssnake 发布
MPEG4不是一律4:2:0的……


是吗?我怎么记得4:2:0是MPEG4标准里规定死的?:confused:
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 6楼 发表于: 2008-12-14
H264支持4:2:2和4:4:4以及10bits color depth
级别: 新手上路
注册时间:
2007-02-26
在线时间:
0小时
发帖:
185
只看该作者 7楼 发表于: 2008-12-14
哦,这样啊。

那B-pyramids这个现在还是最好不用吧?对于硬解来说?
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 8楼 发表于: 2008-12-14
恩,b-pyramids问题很多,反正对编码本身帮助不大
级别: 新手上路
注册时间:
2007-02-20
在线时间:
2小时
发帖:
53
只看该作者 9楼 发表于: 2008-12-24
压片有必要考虑 能否可以硬解吗
电脑能正常播放就OK,如果考虑的那么多 累不累啊
反正我一般都是b=16 ref=8
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 10楼 发表于: 2008-12-24
现在居然还有用b16的,b-adapt 2 + b 5左右显然好得多
级别: 新手上路
注册时间:
2005-06-30
在线时间:
1小时
发帖:
529
只看该作者 11楼 发表于: 2008-12-24
机能足够的话,b 16 + b-adapt 2为啥不行= =

级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 12楼 发表于: 2008-12-25
引用
最初由 ssnake 发布
机能足够的话,b 16 + b-adapt 2为啥不行= =


frame type decision是单线程的。b-adpat 2 + b 16,就算4核也快不了。

不过遇到不求最好,只求最慢的人,只恨没有b 32
级别: 新手上路
注册时间:
2005-06-30
在线时间:
1小时
发帖:
529
只看该作者 13楼 发表于: 2008-12-25
引用
最初由 roozhou 发布


frame type decision是单线程的。b-adpat 2 + b 16,就算4核也快不了。

不过遇到不求最好,只求最慢的人,只恨没有b 32
EP蛇爬走。同时开4个x264线程就好了= =
(好吧我曾经撑爆过某集群的16GB内存……

顺便说下,个人测下来b 3 + b-adapt 2比b 16 + b-adapt 1慢20%~30%左右,而且同Quant码率并不占优势。

级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 14楼 发表于: 2008-12-25
引用
最初由 ssnake 发布
EP蛇爬走。同时开4个x264线程就好了= =
(好吧我曾经撑爆过某集群的16GB内存……

顺便说下,个人测下来b 3 + b-adapt 2比b 16 + b-adapt 1慢20%~30%左右,而且同Quant码率并不占优势。


主观感受是关键
还有用b-adapt 1同码率b16 不一定比b3质量高。
快速回复

限150 字节
上一个 下一个