最近拿了一个avs的视频流,用硬件可以解码,但是ffmpeg自带的却无法解码。
所以研究了一下,首先看ffmpeg的avs解码器:
可以看到avs有两个,第一个是avs 第二个是cavs.
我们先用avs来解码,解码的视频是通过【avs编码器】编码的:
![在这里插入图片描述](https://img-blog.csdnimg.cn/63e55776d1214291b14c0c99f4c43f00.png
结果发现有问题,尺寸本来是640360,结果被强制改为318198,也就是说这个avs解码器只适合一种尺寸,好奇怪,另外看了ff_avs_demuxer也是only support这个尺寸:
http://wiki.multimedia.cx/index.php?title=AVS
这个好奇怪,算了,先跳过,慢慢看,记住这个avs只适配一种尺寸。
采用cavs解码器:
报错:[cavs @ 00000260877611c0] illegal intra cbp
把版本升级到5.0发现可以了:
大概可以确定一个:
ffmpeg中的avs decode 和avs demuxer只支持一种分辨率的avs。
cavs demuxer和cavsdec是支持avs jizhun profile的。
然后试了一下广电的avs+,发现cavs不支持:
关于avs和广电的avs+,可以看这里:
AVS(JIZHUN)和AVS+(广电)