2015-10-06 105 views
1

我通過接收NV21格式的預覽數據:如何通過libyuv將NV21格式的android相機預覽數據轉換爲i420?

public void onPreviewFrame(byte[] data, Camera camera) 

我想libyuvdata轉換爲I420格式。看來NV21ToI420ConvertToI420include/libyuv/convert.h是我所需要的。

// 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); 

有沒有一些例子可以做到這一點?

+0

可能是有用的https://github.com/tonyconstantinides/ LiveMultimedia/blob/master/app/src/main/java/com/constantinnovationsinc/livemultimedia/utilities/ColorSpaceManager.java – JiTHiN

+0

@JiTHiN謝謝。但我需要使用更高效的libyuv。 –

回答