如何通过libyuv将NV21格式的android摄像头预览数据转换为i420?

如何通过libyuv将NV21格式的android摄像头预览数据转换为i420?,android,android-camera,libyuv,Android,Android Camera,Libyuv,我通过以下方式接收NV21格式的预览数据: public void onPreviewFrame(byte[] data, Camera camera) 我想通过将数据转换为I420格式。似乎include/libyuv/convert.h中的NV21ToI420或ConvertToI420就是我需要的 // Convert NV21 to I420. LIBYUV_API int NV21ToI420(const uint8* src_y, int src_stride_y,

我通过以下方式接收NV21格式的预览数据:

public void onPreviewFrame(byte[] data, Camera camera)
我想通过将
数据
转换为I420格式。似乎
include/libyuv/convert.h
中的
NV21ToI420
ConvertToI420
就是我需要的

// Convert NV21 to I420.
LIBYUV_API
int NV21ToI420(const uint8* src_y, int src_stride_y,
           const uint8* src_vu, int src_stride_vu,
           uint8* dst_y, int dst_stride_y,
           uint8* dst_u, int dst_stride_u,
           uint8* dst_v, int dst_stride_v,
           int width, int height);


// Convert camera sample to I420 with cropping, rotation and vertical flip.
LIBYUV_API
int ConvertToI420(const uint8* src_frame, size_t src_size,
              uint8* dst_y, int dst_stride_y,
              uint8* dst_u, int dst_stride_u,
              uint8* dst_v, int dst_stride_v,
              int crop_x, int crop_y,
              int src_width, int src_height,
              int dst_width, int dst_height,
              enum RotationMode rotation,
              uint32 format);

有没有这样的例子

最后,我找到了一个演示:

希望对大家有帮助

更新:

我添加了一个项目:


更多详细信息,请阅读

可能有用@JiTHiN谢谢。但我需要使用更有效的libyuv。