Android摄像头上Libyov::ConvertToI420后出现异常图片

Android摄像头上Libyov::ConvertToI420后出现异常图片,android,android-camera,yuv,libyuv,Android,Android Camera,Yuv,Libyuv,在开始预览之前,我将ImageFormat.NV21设置为相机预览格式 camParams.setPreviewFormat(ImageFormat.NV21); 我需要通过libyuv将NV21预览数据转换为I420,然后对I420数据进行编码 if (ret = ConvertToI420(p_ctx->p_src->p_yuv_data, p_ctx->p_src->size, pDstY, p_ctx->src_widt

在开始预览之前,我将
ImageFormat.NV21
设置为相机预览格式

camParams.setPreviewFormat(ImageFormat.NV21);
我需要通过libyuv将NV21预览数据转换为I420,然后对I420数据进行编码

if (ret = ConvertToI420(p_ctx->p_src->p_yuv_data, p_ctx->p_src->size,
                  pDstY, p_ctx->src_width,
                  pDstU, (p_ctx->src_width + 1) >> 1,
                  pDstV, (p_ctx->src_width + 1) >> 1,
                  0, 0,
                  p_ctx->src_width, p_ctx->src_height,
                  p_ctx->dst_width, p_ctx->dst_height,
                  0,
                  FOURCC_NV21)) {

      LOGE("ConvertToI420 error, ret=%d", ret);
}
在此,相关信息如下:

convert dst_width=480, dst_height=854, src_width=854, src_height=480
CameraInfo的相机方向为
90

输出如下所示:


如何修复它?我错过了什么?

如果要旋转,第15个参数应该是libyuv::kRotate90,而不是0。@AlexCohn我试过了,但它不能正常工作。