有意思的硬件编解码问题

平台: 高通8625Q

软件系统:android 4.1.2

概述:由于项目需要,使用mediacodec的cpp接口 完成视频的H264编解码功能,camrea数据处理后传给mediacodec encoder;

mediacodec decoder解码出的数据在c层通过opengl的接口绘制到glsurface上去。另外,由于使用的是手机,所以屏幕ui是竖屏。

问题现象:解码乍一看显示正常,但是挥挥手,快速的动一下,就发现屏幕上很多色点,甚至有横向的杂线。

分析:最先怀疑是编码器或者解码器配置的问题,但是检查了一下,没发现哪里配置不对,后来用ffmpeg软件解码器来解码,发现

解码出来的画面有四个重影,估计是宽和高弄错了,于是更换mediacodec encoder的编码宽高,发现ffmpeg解码正常了,快速晃动

也没有噪点、横线。于是换回mediacodec decoder,发现解码出来的图像也正常了。

总结:这个问题是由于编码宽和高设置的问题,对于mediacodec encoder ,宽和高设反了也一样可以编码,同样的宽和高设反了也

一样可以解码。但是,编码器编码出来的图像还是有隐藏的问题的,比如这个快速晃动会出现噪点的问题。

后记:坑爹的android系统,竖屏的时候,camera采集的图像是九十度的,用过camera.setPreviewCallback(new Camera.PreviewCallback(){};

接口的都知道这个问题。这样手动编码的时候还要把图像旋转一下。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值