// Conversion matrix for YUV to RGB
LIBYUV_API externconststruct YuvConstants kYuvI601Constants; // BT.601
LIBYUV_API externconststruct YuvConstants kYuvJPEGConstants; // BT.601 full
LIBYUV_API externconststruct YuvConstants kYuvH709Constants; // BT.709
LIBYUV_API externconststruct YuvConstants kYuvF709Constants; // BT.709 full
LIBYUV_API externconststruct YuvConstants kYuv2020Constants; // BT.2020
LIBYUV_API externconststruct YuvConstants kYuvV2020Constants; // BT.2020 full
// Conversion matrix for YVU to BGR
LIBYUV_API externconststruct YuvConstants kYvuI601Constants; // BT.601
LIBYUV_API externconststruct YuvConstants kYvuJPEGConstants; // BT.601 full
LIBYUV_API externconststruct YuvConstants kYvuH709Constants; // BT.709
LIBYUV_API externconststruct YuvConstants kYvuF709Constants; // BT.709 full
LIBYUV_API externconststruct YuvConstants kYvu2020Constants; // BT.2020
LIBYUV_API externconststruct YuvConstants kYvuV2020Constants; // BT.2020 full
// Macros for end swapped destination Matrix conversions. // Swap UV and pass mirrored kYvuJPEGConstants matrix. // TODO(fbarchard): Add macro for each Matrix function. #define kYuvI601ConstantsVU kYvuI601Constants #define kYuvJPEGConstantsVU kYvuJPEGConstants #define kYuvH709ConstantsVU kYvuH709Constants #define kYuvF709ConstantsVU kYvuF709Constants #define kYuv2020ConstantsVU kYvu2020Constants #define kYuvV2020ConstantsVU kYvuV2020Constants
#define NV12ToABGRMatrix(a, b, c, d, e, f, g, h, i) \
NV21ToARGBMatrix(a, b, c, d, e, f, g##VU, h, i) #define NV21ToABGRMatrix(a, b, c, d, e, f, g, h, i) \
NV12ToARGBMatrix(a, b, c, d, e, f, g##VU, h, i) #define NV12ToRAWMatrix(a, b, c, d, e, f, g, h, i) \
NV21ToRGB24Matrix(a, b, c, d, e, f, g##VU, h, i) #define NV21ToRAWMatrix(a, b, c, d, e, f, g, h, i) \
NV12ToRGB24Matrix(a, b, c, d, e, f, g##VU, h, i) #define I010ToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k) \
I010ToARGBMatrix(a, b, e, f, c, d, g, h, i##VU, j, k) #define I210ToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k) \
I210ToARGBMatrix(a, b, e, f, c, d, g, h, i##VU, j, k) #define I410ToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k) \
I410ToARGBMatrix(a, b, e, f, c, d, g, h, i##VU, j, k) #define I010ToAB30Matrix(a, b, c, d, e, f, g, h, i, j, k) \
I010ToAR30Matrix(a, b, e, f, c, d, g, h, i##VU, j, k) #define I210ToAB30Matrix(a, b, c, d, e, f, g, h, i, j, k) \
I210ToAR30Matrix(a, b, e, f, c, d, g, h, i##VU, j, k) #define I410ToAB30Matrix(a, b, c, d, e, f, g, h, i, j, k) \
I410ToAR30Matrix(a, b, e, f, c, d, g, h, i##VU, j, k) #define I012ToAB30Matrix(a, b, c, d, e, f, g, h, i, j, k) \
I012ToAR30Matrix(a, b, e, f, c, d, g, h, i##VU, j, k) #define I420AlphaToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k, l, m, n) \
I420AlphaToARGBMatrix(a, b, e, f, c, d, g, h, i, j, k##VU, l, m, n) #define I422AlphaToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k, l, m, n) \
I422AlphaToARGBMatrix(a, b, e, f, c, d, g, h, i, j, k##VU, l, m, n) #define I444AlphaToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k, l, m, n) \
I444AlphaToARGBMatrix(a, b, e, f, c, d, g, h, i, j, k##VU, l, m, n) #define I010AlphaToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k, l, m, n) \
I010AlphaToARGBMatrix(a, b, e, f, c, d, g, h, i, j, k##VU, l, m, n) #define I210AlphaToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k, l, m, n) \
I210AlphaToARGBMatrix(a, b, e, f, c, d, g, h, i, j, k##VU, l, m, n) #define I410AlphaToABGRMatrix(a, b, c, d, e, f, g, h, i, j, k, l, m, n) \
I410AlphaToARGBMatrix(a, b, e, f, c, d, g, h, i, j, k##VU, l, m, n)
// Alias. #define ARGBToARGB ARGBCopy
// Copy ARGB to ARGB.
LIBYUV_API int ARGBCopy(const uint8_t* src_argb, int src_stride_argb,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert I420 to ARGB.
LIBYUV_API int I420ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert I420 to ABGR.
LIBYUV_API int I420ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert J420 to ARGB.
LIBYUV_API int J420ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert J420 to ABGR.
LIBYUV_API int J420ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert H420 to ARGB.
LIBYUV_API int H420ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert H420 to ABGR.
LIBYUV_API int H420ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert U420 to ARGB.
LIBYUV_API int U420ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert U420 to ABGR.
LIBYUV_API int U420ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert I422 to ARGB.
LIBYUV_API int I422ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert I422 to ABGR.
LIBYUV_API int I422ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert J422 to ARGB.
LIBYUV_API int J422ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert J422 to ABGR.
LIBYUV_API int J422ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert H422 to ARGB.
LIBYUV_API int H422ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert H422 to ABGR.
LIBYUV_API int H422ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert U422 to ARGB.
LIBYUV_API int U422ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert U422 to ABGR.
LIBYUV_API int U422ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert I444 to ARGB.
LIBYUV_API int I444ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert I444 to ABGR.
LIBYUV_API int I444ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert J444 to ARGB.
LIBYUV_API int J444ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert J444 to ABGR.
LIBYUV_API int J444ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert H444 to ARGB.
LIBYUV_API int H444ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert H444 to ABGR.
LIBYUV_API int H444ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert U444 to ARGB.
LIBYUV_API int U444ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert U444 to ABGR.
LIBYUV_API int U444ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert I444 to RGB24.
LIBYUV_API int I444ToRGB24(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_rgb24, int dst_stride_rgb24, int width, int height);
// Convert I444 to RAW.
LIBYUV_API int I444ToRAW(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_raw, int dst_stride_raw, int width, int height);
// Convert I010 to ARGB.
LIBYUV_API int I010ToARGB(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert I010 to ABGR.
LIBYUV_API int I010ToABGR(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert H010 to ARGB.
LIBYUV_API int H010ToARGB(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert H010 to ABGR.
LIBYUV_API int H010ToABGR(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert U010 to ARGB.
LIBYUV_API int U010ToARGB(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert U010 to ABGR.
LIBYUV_API int U010ToABGR(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert I210 to ARGB.
LIBYUV_API int I210ToARGB(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert I210 to ABGR.
LIBYUV_API int I210ToABGR(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert H210 to ARGB.
LIBYUV_API int H210ToARGB(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert H210 to ABGR.
LIBYUV_API int H210ToABGR(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert U210 to ARGB.
LIBYUV_API int U210ToARGB(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert U210 to ABGR.
LIBYUV_API int U210ToABGR(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert I420 with Alpha to preattenuated ARGB.
LIBYUV_API int I420AlphaToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, const uint8_t* src_a, int src_stride_a,
uint8_t* dst_argb, int dst_stride_argb, int width, int height, int attenuate);
// Convert I420 with Alpha to preattenuated ABGR.
LIBYUV_API int I420AlphaToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, const uint8_t* src_a, int src_stride_a,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height, int attenuate);
// Convert I422 with Alpha to preattenuated ARGB.
LIBYUV_API int I422AlphaToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, const uint8_t* src_a, int src_stride_a,
uint8_t* dst_argb, int dst_stride_argb, int width, int height, int attenuate);
// Convert I422 with Alpha to preattenuated ABGR.
LIBYUV_API int I422AlphaToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, const uint8_t* src_a, int src_stride_a,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height, int attenuate);
// Convert I444 with Alpha to preattenuated ARGB.
LIBYUV_API int I444AlphaToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, const uint8_t* src_a, int src_stride_a,
uint8_t* dst_argb, int dst_stride_argb, int width, int height, int attenuate);
// Convert I444 with Alpha to preattenuated ABGR.
LIBYUV_API int I444AlphaToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, const uint8_t* src_a, int src_stride_a,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height, int attenuate);
// Convert I400 (grey) to ARGB. Reverse of ARGBToI400.
LIBYUV_API int I400ToARGB(const uint8_t* src_y, int src_stride_y,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert J400 (jpeg grey) to ARGB.
LIBYUV_API int J400ToARGB(const uint8_t* src_y, int src_stride_y,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Alias. #define YToARGB I400ToARGB
// Convert NV12 to ARGB.
LIBYUV_API int NV12ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_uv, int src_stride_uv,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert NV21 to ARGB.
LIBYUV_API int NV21ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_vu, int src_stride_vu,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert NV12 to ABGR.
LIBYUV_API int NV12ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_uv, int src_stride_uv,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert NV21 to ABGR.
LIBYUV_API int NV21ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_vu, int src_stride_vu,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert NV12 to RGB24.
LIBYUV_API int NV12ToRGB24(const uint8_t* src_y, int src_stride_y, const uint8_t* src_uv, int src_stride_uv,
uint8_t* dst_rgb24, int dst_stride_rgb24, int width, int height);
// Convert NV21 to RGB24.
LIBYUV_API int NV21ToRGB24(const uint8_t* src_y, int src_stride_y, const uint8_t* src_vu, int src_stride_vu,
uint8_t* dst_rgb24, int dst_stride_rgb24, int width, int height);
// Convert NV21 to YUV24.
LIBYUV_API int NV21ToYUV24(const uint8_t* src_y, int src_stride_y, const uint8_t* src_vu, int src_stride_vu,
uint8_t* dst_yuv24, int dst_stride_yuv24, int width, int height);
// Convert NV12 to RAW.
LIBYUV_API int NV12ToRAW(const uint8_t* src_y, int src_stride_y, const uint8_t* src_uv, int src_stride_uv,
uint8_t* dst_raw, int dst_stride_raw, int width, int height);
// Convert NV21 to RAW.
LIBYUV_API int NV21ToRAW(const uint8_t* src_y, int src_stride_y, const uint8_t* src_vu, int src_stride_vu,
uint8_t* dst_raw, int dst_stride_raw, int width, int height);
// Convert YUY2 to ARGB.
LIBYUV_API int YUY2ToARGB(const uint8_t* src_yuy2, int src_stride_yuy2,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert UYVY to ARGB.
LIBYUV_API int UYVYToARGB(const uint8_t* src_uyvy, int src_stride_uyvy,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert I010 to AR30.
LIBYUV_API int I010ToAR30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ar30, int dst_stride_ar30, int width, int height);
// Convert H010 to AR30.
LIBYUV_API int H010ToAR30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ar30, int dst_stride_ar30, int width, int height);
// Convert I010 to AB30.
LIBYUV_API int I010ToAB30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ab30, int dst_stride_ab30, int width, int height);
// Convert H010 to AB30.
LIBYUV_API int H010ToAB30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ab30, int dst_stride_ab30, int width, int height);
// Convert U010 to AR30.
LIBYUV_API int U010ToAR30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ar30, int dst_stride_ar30, int width, int height);
// Convert U010 to AB30.
LIBYUV_API int U010ToAB30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ab30, int dst_stride_ab30, int width, int height);
// Convert I210 to AR30.
LIBYUV_API int I210ToAR30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ar30, int dst_stride_ar30, int width, int height);
// Convert I210 to AB30.
LIBYUV_API int I210ToAB30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ab30, int dst_stride_ab30, int width, int height);
// Convert H210 to AR30.
LIBYUV_API int H210ToAR30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ar30, int dst_stride_ar30, int width, int height);
// Convert H210 to AB30.
LIBYUV_API int H210ToAB30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ab30, int dst_stride_ab30, int width, int height);
// Convert U210 to AR30.
LIBYUV_API int U210ToAR30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ar30, int dst_stride_ar30, int width, int height);
// Convert U210 to AB30.
LIBYUV_API int U210ToAB30(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ab30, int dst_stride_ab30, int width, int height);
// BGRA little endian (argb in memory) to ARGB.
LIBYUV_API int BGRAToARGB(const uint8_t* src_bgra, int src_stride_bgra,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// ABGR little endian (rgba in memory) to ARGB.
LIBYUV_API int ABGRToARGB(const uint8_t* src_abgr, int src_stride_abgr,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// RGBA little endian (abgr in memory) to ARGB.
LIBYUV_API int RGBAToARGB(const uint8_t* src_rgba, int src_stride_rgba,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Deprecated function name. #define BG24ToARGB RGB24ToARGB
// RGB little endian (bgr in memory) to ARGB.
LIBYUV_API int RGB24ToARGB(const uint8_t* src_rgb24, int src_stride_rgb24,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// RGB big endian (rgb in memory) to ARGB.
LIBYUV_API int RAWToARGB(const uint8_t* src_raw, int src_stride_raw,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// RGB big endian (rgb in memory) to RGBA.
LIBYUV_API int RAWToRGBA(const uint8_t* src_raw, int src_stride_raw,
uint8_t* dst_rgba, int dst_stride_rgba, int width, int height);
// RGB16 (RGBP fourcc) little endian to ARGB.
LIBYUV_API int RGB565ToARGB(const uint8_t* src_rgb565, int src_stride_rgb565,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// RGB15 (RGBO fourcc) little endian to ARGB.
LIBYUV_API int ARGB1555ToARGB(const uint8_t* src_argb1555, int src_stride_argb1555,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// RGB12 (R444 fourcc) little endian to ARGB.
LIBYUV_API int ARGB4444ToARGB(const uint8_t* src_argb4444, int src_stride_argb4444,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert AR30 To ARGB.
LIBYUV_API int AR30ToARGB(const uint8_t* src_ar30, int src_stride_ar30,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert AR30 To ABGR.
LIBYUV_API int AR30ToABGR(const uint8_t* src_ar30, int src_stride_ar30,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert AR30 To AB30.
LIBYUV_API int AR30ToAB30(const uint8_t* src_ar30, int src_stride_ar30,
uint8_t* dst_ab30, int dst_stride_ab30, int width, int height);
// Convert AR64 to ARGB.
LIBYUV_API int AR64ToARGB(const uint16_t* src_ar64, int src_stride_ar64,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert AB64 to ABGR. #define AB64ToABGR AR64ToARGB
// Convert AB64 to ARGB.
LIBYUV_API int AB64ToARGB(const uint16_t* src_ab64, int src_stride_ab64,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert AR64 to ABGR. #define AR64ToABGR AB64ToARGB
// Convert AR64 To AB64.
LIBYUV_API int AR64ToAB64(const uint16_t* src_ar64, int src_stride_ar64,
uint16_t* dst_ab64, int dst_stride_ab64, int width, int height);
// Convert AB64 To AR64. #define AB64ToAR64 AR64ToAB64
// src_width/height provided by capture // dst_width/height for clipping determine final size.
LIBYUV_API int MJPGToARGB(const uint8_t* sample,
size_t sample_size,
uint8_t* dst_argb, int dst_stride_argb, int src_width, int src_height, int dst_width, int dst_height);
// Convert Android420 to ARGB.
LIBYUV_API int Android420ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, int src_pixel_stride_uv,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
// Convert Android420 to ABGR.
LIBYUV_API int Android420ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, int src_pixel_stride_uv,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert NV12 to RGB565.
LIBYUV_API int NV12ToRGB565(const uint8_t* src_y, int src_stride_y, const uint8_t* src_uv, int src_stride_uv,
uint8_t* dst_rgb565, int dst_stride_rgb565, int width, int height);
// Convert I422 to BGRA.
LIBYUV_API int I422ToBGRA(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_bgra, int dst_stride_bgra, int width, int height);
// Convert I422 to ABGR.
LIBYUV_API int I422ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
// Convert I422 to RGBA.
LIBYUV_API int I422ToRGBA(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_rgba, int dst_stride_rgba, int width, int height);
LIBYUV_API int I420ToARGB(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, int width, int height);
LIBYUV_API int I420ToBGRA(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_bgra, int dst_stride_bgra, int width, int height);
LIBYUV_API int I420ToABGR(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_abgr, int dst_stride_abgr, int width, int height);
LIBYUV_API int I420ToRGBA(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_rgba, int dst_stride_rgba, int width, int height);
LIBYUV_API int I420ToRGB24(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u,, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_rgb24, int dst_stride_rgb24, int width, int height);
LIBYUV_API int I420ToRAW(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_raw, int dst_stride_raw, int width, int height);
LIBYUV_API
(onstuint8_t* int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_rgb24, int dst_stride_rgb24, int width, int height);
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0 int( uint8_t* src_y, int LIBYUV_API extern const struct ;// BT.601 const uint8_t*java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 74 int src_stride_u, const uint8_t* src_v, intsrc_stride_v,
uint8_t* dst_rawLIBYUV_API externconststructYuvConstants kYvu2020Constants; // BT.2020 int dst_stride_raw,
, int// Swap UV and pass mirrored kYvuJPEGConstants matrix.
define int java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 constuint8_t*src_u, ints, const uint8_t* src_v, int src_stride_v,
, int, int width
height)
J420ToRAW(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u I210ToARGBMatrix((a b e,f c, d, g, h, i##VU, j, k) int src_stride_u, const uint8_t* src_v,
uint8_t dst_raw, int dst_stride_raw, int width, int height);
// Convert I422 to RGB24.
LIBYUV_API int I422ToRGB24(const uint8_t* src_y, int src_stride_y, const*, int,
* src_v
ntsrc_stride_v
*dst_rgb24java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 37
,
;
// Convert I422 to RAW.
LIBYUV_API int I422ToRAW(const uint8_t* src_y, intsrc_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_raw,
int java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 int height)
LIBYUV_API
I420ToRGB565(onst uint8_t* src_y,
, const uint8_t* src_u, src_stride_vjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32 int src_stride_u,
onst *java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34
uint8_tjava.lang.StringIndexOutOfBoundsException: Range [33, 34) out of bounds for length 33
int, int
LIBYUV_API int J420ToRGB565(const uint8_t* src_y, int java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 25
uint8_t java.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38 int , const uint8_t* src_v, int src_stride_v,
java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 10 int65 intconst uint8_t* src_v, int int src_stridev,
LIBYUV_API int java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10 intsrc_stride_y, constuint8_t*src_u, int src_stride_u, const uint8_t* , int src_stride_v,
uint8_t* dst_rgb565 int src_stride_y
dst_stride_rgb565, int width,
;
LIBYUV_API
* src_y, intjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32 constjava.lang.StringIndexOutOfBoundsException: Range [32, 30) out of bounds for length 38
constc java.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 36 int java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32 int java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
,
java.lang.StringIndexOutOfBoundsException: Range [20, 17) out of bounds for length 29
// Convert I420 To RGB565 with 4x4 dither matrix (16 bytes). // Values in dither matrix from 0 to 7 recommended. // The order of the dither matrix is first byte is upper left.
intdst_stride_abgr, int I420ToRGB565Dither(const uint8_t* src_y,
src_stride_y,
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
src_stride_ujava.lang.StringIndexOutOfBoundsException: Range [40, 41) out of bounds for length 40 const uint8_t* uint8_t*src_v, int src_stride_v,
java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 24 int dst_stride_rgb565 src_u, int src_stride_u, int width,uint8_t
java.lang.StringIndexOutOfBoundsException: Range [15, 1) out of bounds for length 27
LIBYUV_API int I420ToARGB1555(const uint8_t* src_y, intint const java.lang.StringIndexOutOfBoundsException: Range [15, 1) out of bounds for length 27
,
src_stride_y
int srcjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
, int// Convert J444 to ARGB. int, int heightjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
LIBYUV_API int I420ToARGB4444(const uint8_t* width, int src_stride_y, const uint8_tint J444ToABGR(const uint8_t* src_y, int src_stride_u, const uint8_t* src_v, int java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 32
uint8_t* dst_argb4444,int dst_stride_abgr int dst_stride_argb4444
int height)suint8_ts,
// Convert I420 to AR30. int dst_stride_argb, int I420ToAR30(const uint8_t* src_y, int src_stride_y, const int , const uint8_t* src_v, int src_stride_u
uint8_tjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 33 int java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 10 int width, intint src_stride_ujava.lang.StringIndexOutOfBoundsException: Range [32, 33) out of bounds for length 32
// Convert I420 to AB30.
LIBYUV_API int I420ToAB30(const uint8_t*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 int src_stride_y, constintsrc_stride_u, int src_stride_u,
uint8_t*src_v, int ,
int dst_stride_ab30java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 37 intjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 int int I444ToRAW(const uint8_t* src_y,
// Convert H420 to AR30.
LIBYUV_API int H420ToAR30java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32 constconst uint16_tsrc_v, int src_stride_u, const uint8_t* int dst_stride_ int src_stride_v,
uint8_t* dst_ar30, int dst_stride_ar30, int width src_stride_y, int height)java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
// Convert H420 to AB30.
intH420ToAB30const *src_y, intsrc_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t constuint16_t* src_v, int src_stride_v,
uint8_t* dst_ab30, int dst_stride_ab30, int width, int height);
// Convert I420 to ARGB with matrix.
int I420ToARGBMatrix(const uint8_t* java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 32 int src_stride_y,
java.lang.StringIndexOutOfBoundsException: Range [32, 21) out of bounds for length 42 int , const uint8_t* src_v, int src_stride_v,
uint8_tint , int dst_stride_argb// Convert U010 to java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 10
, int width, int height);
// Convert I422 to ARGB with matrix.
, int I422ToARGBMatrix(const uint8_t* java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37 intjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38 const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t*dst_argb, int dst_stride_argb,) conststructLIBYUV_API int width, int const uint16_t* sr
// Convert I444 to ARGB with matrix.
LIBYUV_API int I444ToARGBMatrix// Convert H210 to
src_stride_y, const src_u, int src_stride_u, const * src_v,
*java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
int height int dst_stride_argb, constjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 37
Constants* yuvconstants, int width, int height);
// Convert I444 to RGB24 with matrix.
LIBYUV_API int I444ToRGB24Matrix(const uint8_t*intwidth, int java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 0 const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, onst uint16_t* src_v, int src_stride_v,
uint8_t* dst_rgb24,
dst_stride_rgb24, conststruct YuvConstants* yuvconstants, int width, int height);
// Convert 10 bit 420 YUV to ARGB with matrix.
LIBYUV_API int src_stride_v, intsrc_stride_y,
* src_u, int src_stride_u,
, int ;
uint8_t* int I420AlphaToABGR(const uint8_t* src int dst_stride_ar30, conststruct YuvConstants yuvconstants, int width, int height);
// Convert 10 bit 420 YUV to ARGB with matrix.
i dst_stride_abgr
I210ToAR30Matrix(onst uint16_t*src_y, int src_stride_y, const attenuate) int int I422AlphaToARGB(const uint8_t* src_y, const uint16_t uint8_t* src_u, int src_stride_v,
uint8_t* dst_ar30constjava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 41 int dst_stride_ar30, conststruct YuvConstants* yuvconstants, int width,
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 31
// Convert 10 bit 444 YUV to ARGB with matrix.
uint8_tsrc_ujava.lang.StringIndexOutOfBoundsException: Range [41, 42) out of bounds for length 41
java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 41 const , int src_stride_u, constuint16_t*src_v,
int I444AlphaToARGB(const uint8_t* src_y,
java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 39 int, const int src_stride_a int width,
int width,
// Convert 10 bit YUV to ARGB with matrix.
LIBYUV_API int I010ToARGBMatrix(const uint16_t*LIBYUV_API int src_stride_y, const uint16_t* src_u, int src_stride_u,
java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43 int src_stride_v,int
uint8_t* dst_argb, intintI400ToARGBconst uint8_t*src_y, conststruct YuvConstants* yuvconstants,
width, int height);
// multiply 12 bit yuv into high bits to allow any number of bits.
LIBYUV_API int I012ToAR30Matrix(uint8_t dst_argbjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 int src_stride_y,
java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_ar30, int java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 24 conststruct YuvConstants* yuvconstants, int width,
height;
// Convert 12 bit YUV to ARGB with matrix.
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 37 int src_stride_y, constint int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_argb,
dst_stride_argb conststruct YuvConstants* yuvconstants,
java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
*
LIBYUV_API int I210ToARGBMatrix(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v,
uint8_t* dst_argbintsrc_stride_vu, int dst_stride_argb, conststruct YuvConstants* yuvconstants, int width, int height);
// Convert 10 bit 444 YUV to ARGB with matrix.
LIBYUV_API int I410ToARGBMatrix(const
src_stride_y,
* src_u int src_stride_u,
*src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, conststructint (uint8_t src_yuy2java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 int java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 27 int height);
// Convert P010 to ARGB with matrix.
java.lang.StringIndexOutOfBoundsException: Range [10, 11) out of bounds for length 10 int P010ToARGBMatrix( constjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 37 int src_stride_y, const java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 27 int int H010ToAR30(const uint16_t* src_y,
uint8_t* dst_argb, int dst_stride_argb, conststruct YuvConstants* yuvconstants, int width, int uint8_t* dst_ar30
// Convert P210 to ARGB with matrix.
LIBYUV_API int java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 37 const uint16_t*src_stride_vjava.lang.StringIndexOutOfBoundsException: Range [32, 33) out of bounds for length 32 int src_stride_uv,intheight;
uint8_t int dst_stride_argb java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
* ,
int widthjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
// Convert P010 to AR30 with matrix.
LIBYUV_APIint java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32 int P010ToAR30Matrix(const uint16_t* java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 37 intint , const uint16_t* src_uv,
,
uint8_t* dst_ar30, int dst_stride_ar30, structYuvConstantsyuvconstants, int width, int height);
// Convert P210 to AR30 with matrix.
LIBYUV_API int P210ToAR30Matrix(constint I210ToAR30(const uint16_t, int src_stride_y,
uint16_t* src_uv, int ,
uint8_t* dst_ar30, int dst_stride_ar30, conststruct YuvConstants* yuvconstants intint cuint16_tjava.lang.StringIndexOutOfBoundsException: Range [37, 38) out of bounds for length 37 int height);
// P012 and P010 use most significant bits so the conversion is the same. // Convert P012 to ARGB with matrix.
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0 // Convert P012 to AR30 with matrix. #constjava.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 37 // Convert P212 to ARGB with matrix.
// Convert P212 to AR30 with matrix.
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
// Convert P016 to ARGB with matrix. #define P016ToARGBMatrix P010ToARGBMatrix // Convert P016 to AR30 with matrix. #define P016ToAR30Matrix P010ToAR30Matrix // Convert P216 to ARGB with matrix. #defineconstuint16_t* src_v, // Convert P216 to AR30 with matrix. #define P216ToAR30Matrix P210ToAR30Matrix
// Convert I420 with Alpha to preattenuated ARGB with matrix.
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0 int I420AlphaToARGBMatrixint U210ToAR30( uint16_t , int src_stride_y, const uint8_t* src_u, int java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 32 const uint8_t*int , int , const uint8_t* src_a,
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
uint8_t* dst_argb, int dst_stride_argb, conststruct YuvConstants* java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 32 int width,
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 37 int attenuate);
// Convert I422 with Alpha to preattenuated ARGB with matrix.
LIBYUV_API int I422AlphaToARGBMatrix(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u,
int ABGRToARGBconstuint8_t*src_abgrjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 const uint8_t* src_vint , int src_stride_v, const , int // RGBA little endian (abgr in memory) to ARGB.
uint8_t , int dst_stride_argb, conststruct YuvConstants* yuvconstants, int width, int // Deprecated function name. int attenuate);
// Convert I444 with Alpha to preattenuated ARGB with matrix.
LIBYUV_API int I444AlphaToARGBMatrix(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, const uint8_t* java.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 24 int src_stride_ajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 10
_, conststruct YuvConstants* yuvconstants,
widthjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 int height, int attenuate);
int src_stride_rgb565,
LIBYUV_API int I010AlphaToARGBMatrix(const uint16_t* src_y, int src_stride_y, const// RGB15 (RGBO fourcc) little endian to ARGB. int src_stride_u, const uint16_t* src_v, int src_stride_v, const uint16_t* src_a, int src_stride_a,
uint8_t* dst_argb, int dst_stride_argb, conststruct YuvConstants , int width, int height,
d
// Convert I210 with Alpha to preattenuated ARGB with matrix.
LIBYUV_API int I210AlphaToARGBMatrix(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 int src_stride_v, const uint16_t* src_a, int src_stride_a,
uint8_t* dst_argb, int dst_stride_argb, conststruct YuvConstants* yuvconstants, int width,
java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37 int attenuate);
// Convert I410 with Alpha to preattenuated ARGB with matrix.
LIBYUV_API int I410AlphaToARGBMatrix(const uint16_t* src_y, int src_stride_y, const uint16_t* src_u, int src_stride_u, const uint16_t* src_v, int src_stride_v, const uint16_t* src_a, int height)
uint8_t*java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 29 int dst_stride_argb, conststruct YuvConstants* yuvconstants, int width, int height, int attenuate);
// Convert NV12 to ARGB with matrix.
LIBYUV_API int NV12ToARGBMatrix(const// src_width/height provided by capture int src_stride_y, const uint8_t* src_uv, int src_stride_uv,
uint8_t* dst_argb, int dst_stride_argb intsrc_width, conststruct java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 29 int width, int height);
// Convert NV21 to ARGB with matrix.
LIBYUV_API int NV21ToARGBMatrix(uint8_t int int width const uint8_t* src_vu, int src_stride_vu,
uint8_t* dst_argb, const uint8_t* src_v,
ststruct *, int width, int height);
// Convert NV12 to RGB565 with matrix.
LIBYUV_API int NV12ToRGB565Matrix
src_stride_y const uint8_t* src_uv,
src_stride_uv
uint8_t* dst_rgb565,int java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 39 int
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 32 const*java.lang.StringIndexOutOfBoundsException: Range [36, 37) out of bounds for length 36 int height);
// Convert NV12 to RGB24 with matrix.
LIBYUV_API int NV12ToRGB24Matrix(// Convert I422 to ABGR.
c_stride_y constint src_stride_y int src_stride_uv,
uint8_t* dst_rgb24, int dst_stride_rgb24, conststruct YuvConstants* yuvconstants, int width, int height);
// Convert NV21 to RGB24 with matrix.
*src_u, int NV21ToRGB24Matrix(const uint8_tconst int src_stride_y, const uint8_t* src_vu,
uint8_t* dst_rgb24int int java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 32 conststruct YuvConstants* yuvconstants,
int height int height);
// Convert YUY2 to ARGB with matrix.
LIBYUV_API int YUY2ToARGBMatrix(const uint8_t* src_yuy2int, int,
uint8_t*dst_argbjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 36
int uint8_t* dst_abgr
// Convert UYVY to ARGB with matrix.
LIBYUV_API int UYVYToARGBMatrix(const uint8_t* src_uyvy, int const uint8_t
uint8_t* dst_argb, int dst_stride_argb, struct YuvConstants yuvconstants, int width, int height);
// Convert Android420 to ARGB with matrix.
LIBYUV_API int Android420ToARGBMatrix(const uint8_t* java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 26 intjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 const uint8_t* src_u,
int src_stride_y, const uint8_t* java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 35 int src_stride_v, int src_pixel_stride_uv,
uint8_t* dst_argb, int dst_stride_argb,
java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 int width, intheight;
// Convert I422 to RGBA with matrix.
LIBYUV_API int I422ToRGBAMatrix(const uint8_t* src_y, int src_stride_y, constintdst_stride_rgb24, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_rgba, int dst_stride_rgba, conststruct YuvConstants* yuvconstants, int width, int
// Convert I420 to RGBA with matrix.
LIBYUV_API int I420ToRGBAMatrix(const uint8_t* src_y, intJ420ToRGB24(uint8_t* src_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_rgba,
dst_stride_rgba conststruct YuvConstants* yuvconstants, int width, int height);
// Convert I420 to RGB24 with matrix.
LIBYUV_API int I420ToRGB24Matrix(const uint8_t uint8_t java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_vjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
uint8_t* dst_rgb24, int dst_stride_rgb24, conststruct YuvConstantsconst *src_v, int width, int height);
// Convert I422 to RGB24 with matrix.
LIBYUV_APIjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
I422ToRGB24Matrix*java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
e_y const uint8_t* src_u, int src_stride_u,
dst_stride_raw, int src_stride_v,
uint8_t* dst_rgb24,
// Convert I420 to RGB565 with specified color matrix.
, intint java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 int src_stride_y, const uint8_t* src_u, int src_stride_u,
src_stride_u, int src_stride_v,
uint8_t* dst_rgb565,
gb565, conststruct YuvConstants* yuvconstants,
width, int height);
// Convert I422 to RGB565 with specified color matrix.
LIBYUV_API int I422ToRGB565Matrix(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u,
, const uint8_t* src_v, int src_stride_v,
uint8_t* , int, conststruct YuvConstants* yuvconstants, int width, int
// Convert I420 to AR30 with matrix.
LIBYUV_API int uint8_t*dst_rgb565java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
int width const uint8_t* src_u, int src_stride_u, const int src_stride_v,
uint8_t dst_ar30, int dst_stride_ar30, struct YuvConstants yuvconstants, int width, int height);
// Convert I400 (grey) to ARGB. Reverse of ARGBToI400.
LIBYUV_API int I400ToARGBMatrix(const uint8_t* src_y, int src_stride_y,
uint8_t* dst_argb, int dst_stride_argb, conststruct YuvConstants* java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 40
, int );
// Convert I420 to ARGB with matrix and UV filter mode.
LIBYUV_API int I420ToARGBMatrixFilter(const uint8_t* src_y, int src_stride_y,
uint8_t* src_u, int src_stride_u, const uint8_t* src_v,
src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, constYuvConstants ,
java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 36 int height,
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
// Convert I422 to ARGB with matrix and UV filter mode.
LIBYUV_API int I422ToARGBMatrixFilter(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_argb,
dst_stride_argb, conststruct YuvConstants* yuvconstants, int const uint8_t* src_u, int height,
)
// Convert I422 to RGB24 with matrix and UV filter mode.
LIBYUV_API int I422ToRGB24MatrixFilterLIBYUV_API int src_stride_y, const uint8_t* src_u,
src_stride_u, const uint8_t* src_v, int java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 33
height)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 int// Convert H420 to AB30. conststruct YuvConstants* yuvconstants, int width, int height, enum)
// Convert I420 to RGB24 with matrix and UV filter mode.
LIBYUV_API int I420ToRGB24MatrixFilter(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v,
uint8_t* dst_rgb24, int dst_stride_rgb24, conststruct YuvConstants* yuvconstants, int width, int height,
de filter;
// Convert I010 to AR30 with matrix and UV filter mode.
LIBYUV_API
java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 49 int src_stride_y,
java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 61 // Convert I444 to ARGB with matrix. constuint16_t*src_v, int src_stride_v,
uint8_t* dst_ar30,
i java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38 int width,
height, enum FilterMode filter);
// Convert I210 to AR30 with matrix and UV filter mode.
LIBYUV_API int I210ToAR30MatrixFilter(const uint16_t* src_y,
src_stride_yjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 const uint16_t* src_u, int src_stride_u,
*, int src_stride_v,
uint8_t* dst_ar30,
constjava.lang.StringIndexOutOfBoundsException: Range [54, 52) out of bounds for length 67 int width, int height,
;
// Convert I010 to ARGB with matrix and UV filter mode.
// Convert 10 bit 420 YUV to ARGB with matrixLIBYUV_API
(onst java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 int src_stride_y, const , int src_stride_u, const uint16_t* src_v, int src_stride_v,
uint8_t* dst_argb, int dst_stride_argb, const // Convert 10 bit 444 YUV to ARGBLIBYUV_API int width, int height, enum FilterMode filter);
// Convert I210 to ARGB with matrix and UV filter mode.
LIBYUV_API
*, int src_stride_y,
int dst_stride_ar30, int src_stride_u, const uint16_t* java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 0 int src_stride_v,
uint8_t* dst_argb,
dst_stride_argb conststruct YuvConstants* yuvconstants, int width, int height, enum FilterMode filter);
// Convert I420 with Alpha to attenuated ARGB with matrix and UV filter mode.
LIBYUV_API int I420AlphaToARGBMatrixFilter(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53 int src_stride_v, const uint8_t* src_a, int java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 31
uint8_t* dst_argb,
conststruct YuvConstants* yuvconstants,
, int height, int attenuate,
FilterMode )
// Convert I422 with Alpha to attenuated ARGB with matrix and UV filter mode.
LIBYUV_API int I422AlphaToARGBMatrixFilter(height; int src_stride_y, const uint8_t* java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 46
java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 49 const uint8_t* src_v, int src_stride_v, const uint8_t* src_a, int src_stride_a,
uint8_t* dst_argb, int dst_stride_argb, conststruct YuvConstants* yuvconstants, int (uint16_t*src_y,
eightjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43 int attenuate, enum FilterMode filter);
// Convert I010 with Alpha to attenuated ARGB with matrix and UV filter mode.
LIBYUV_API int I010AlphaToARGBMatrixFilter(const java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 int src_stride_y, const*src_u, int src_stride_u, const java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31 int src_stride_v, const uint16_t* src_a, int src_stride_a,
uint8_t* dst_argb,
int dst_stride_argb,
const struct YuvConstants* yuvconstants,
int width,
int height,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
int attenuate,
enum FilterMode filter);
// Convert I210 with Alpha to attenuated ARGB *dst_argb,
LIBYUV_API
int I210AlphaToARGBMatrixFilter(uint16_t*src_yjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
int src_stride_y,
const uint16_t* src_u,
int src_stride_u,
const uint16_t* src_v,
int src_stride_v,
const uint16_t* src_a,
src_stride_a,
uint8_t* dst_argb,
int dst_stride_argb,
const struct YuvConstants* yuvconstants,
int width,
int height/Convert toAR30with java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
int attenuate,
enum FilterMode filter);
// uint8_t*
LIBYUV_API
int P010ToARGBMatrixFilter(const uint16_t* src_y,
int src_stride_y,
const uint16_t* src_uv,
int src_stride_uv,
uint8_t* dst_argb,
int dst_stride_argb,
java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 67
int width,
int height,
java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
// Convert P210 to ARGB with matrix and djava.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 41
LIBYUV_API
int // Convert P216 to AR30with matrix.
int src_stride_y,
const*src_uv,
int src_stride_uv,
//ConvertI420 with Alpha to preattenuated ARGB with matrix.
int dst_stride_argb,
const struct YuvConstants* yuvconstants,
int const uint8*,
intconstjava.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 47
java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 51
// Convert P010 to AR30 with matrix
LIBYUV_API
int P010ToAR30MatrixFilter(const uint16_t* src_y,
int src_stride_y,
constjava.lang.StringIndexOutOfBoundsException: Range [41, 39) out of bounds for length 47
int src_stride_uv,
uint8_t* dst_ar30,
java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 47
const struct YuvConstantsintjava.lang.StringIndexOutOfBoundsException: Range [41, 39) out of bounds for length 41
int java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
int height,
enum FilterMode filter);
// Convert P210 to AR30 with matrix and UV filter mode.
LIBYUV_API
java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 49
int src_stride_y,
const uint16_t* src_uv,
int src_stride_uv,
uint8_t* dst_ar30,
int dst_stride_ar30,
const struct YuvConstants* java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 43
,
int height,
enum FilterModeint
// Convert camera sample to ARGB Convert I210 with Alpha to preattenuated ARGB with matrix.
// "sample_size" is needed to parse MJPG.
// "dst_stride_argb" number of bytes in a row of the dst_argb plane.
// Normally this would be the same as dst_width, with recommended alignment
// to 16 bytes for better efficiency.
// If rotation of 90 or 270 is used, stride is java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 48
i
/ java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 37
// Normally this would be the same
// recommended alignment to 16 bytes for better efficiency.
// If rotation const uint16_t*src_u,
// "crop_x" and "crop_y" are starting position for cropping.
// To center, crop_x = (src_width - dst_width) / 2
// - dst_height)/ 2
// uint8_t* java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 44
// "src_height" can beint height,
/ int attenuate);
// Must be less than or equal to src_width/src_height
// Cropping parameters are pre-rotation.
// "rotation" can be i NV12ToARGBMatrixconst uint8_t* src_y,
// "fourcc" is a intsrc_stride_y,
// Returns 0 for successful; -1 forconst uint8_t*src_uv,
LIBYUV_API
int ConvertToARGB(uint8_t* st_argb,
size_t sample_size,
uint8_t* dst_argb,
int dst_stride_argb,
int crop_x,
int crop_y,// Convert with matrixjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
int src_width,
int crop_width,
int crop_height,
enum RotationMode rotation,
uint32_t fourcc);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.