【无标题】

【无标题】_第1张图片

【问题背景】

前摄安装角度270。app通过ImageReader获取yuv数据,图像是旋转90度的。原生相机,预览和录像方向正常。

【分析】

dump media.camera,可以看到前摄的Orientation是270,所以原始出图是做了90度的旋转。

Facing: Front
Orientation: 270

针对这种问题,就是需要我们对yuv数据做旋转。做旋转可以在app层接收到数据后,自行做旋转,也可以在hal层,针对yuv format这路流进行旋转。这边文章注意介绍在hal层的旋转方法。

预览和录像是正常的,这个是因为预览和录像有方向相关属性可以调整,系统会根据摄像头mount的角度已经当前设备的方向,进行对应的旋转。

【软件修改方案】

方案一:

可以参考mtk针对录像做flip的修改。那我们做旋转也可以采用类似的方式。这个方案主要是采用setTransform 的接口来进行旋转。

eTransform_FLIP_V、eTransfor

你可能感兴趣的:(Android,android,学习,音视频)