Simd Library Documentation.

Home | Release Notes | Download | Documentation | Issues | GitHub

Functions for YUV image conversions. More...

Enumerations

enum  SimdYuvType {
  SimdYuvUnknown = -1 ,
  SimdYuvBt601 ,
  SimdYuvBt709 ,
  SimdYuvBt2020 ,
  SimdYuvTrect871
}
 

Functions

SIMD_API void SimdYToGray (const uint8_t *y, size_t yStride, size_t width, size_t height, uint8_t *gray, size_t grayStride)
 Converts 8-bit Y-plane of YUV to 8-bit gray image. More...
 
SIMD_API void SimdYuva420pToBgraV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, const uint8_t *a, size_t aStride, size_t width, size_t height, uint8_t *bgra, size_t bgraStride, SimdYuvType yuvType)
 Converts YUVA420P image to 32-bit BGRA image. More...
 
SIMD_API void SimdYuva422pToBgraV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, const uint8_t *a, size_t aStride, size_t width, size_t height, uint8_t *bgra, size_t bgraStride, SimdYuvType yuvType)
 Converts YUVA422P image to 32-bit BGRA image. More...
 
SIMD_API void SimdYuva444pToBgraV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, const uint8_t *a, size_t aStride, size_t width, size_t height, uint8_t *bgra, size_t bgraStride, SimdYuvType yuvType)
 Converts YUVA444P image to 32-bit BGRA image. More...
 
SIMD_API void SimdYuv420pToBgrV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *bgr, size_t bgrStride, SimdYuvType yuvType)
 Converts YUV420P image to 24-bit BGR image. More...
 
SIMD_API void SimdYuv422pToBgrV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *bgr, size_t bgrStride, SimdYuvType yuvType)
 Converts YUV422P image to 24-bit BGR image. More...
 
SIMD_API void SimdYuv444pToBgrV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *bgr, size_t bgrStride, SimdYuvType yuvType)
 Converts YUV444P image to 24-bit BGR image. More...
 
SIMD_API void SimdYuv420pToBgraV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *bgra, size_t bgraStride, uint8_t alpha, SimdYuvType yuvType)
 Converts YUV420P image to 32-bit BGRA image. More...
 
SIMD_API void SimdYuv422pToBgraV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *bgra, size_t bgraStride, uint8_t alpha, SimdYuvType yuvType)
 Converts YUV422P image to 32-bit BGRA image. More...
 
SIMD_API void SimdYuv444pToBgraV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *bgra, size_t bgraStride, uint8_t alpha, SimdYuvType yuvType)
 Converts YUV444P image to 32-bit BGRA image. More...
 
SIMD_API void SimdYuv444pToHsl (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *hsl, size_t hslStride)
 Converts YUV444P image to 24-bit HSL(Hue, Saturation, Lightness) image. More...
 
SIMD_API void SimdYuv444pToHsv (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *hsv, size_t hsvStride)
 Converts YUV444P image to 24-bit HSV(Hue, Saturation, Value) image. More...
 
SIMD_API void SimdYuv420pToHue (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *hue, size_t hueStride)
 Converts YUV420P image to 8-bit image with Hue component of HSV or HSL color space. More...
 
SIMD_API void SimdYuv444pToHue (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *hue, size_t hueStride)
 Converts YUV444P image to 8-bit image with Hue component of HSV or HSL color space. More...
 
SIMD_API void SimdYuv420pToRgbV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *rgb, size_t rgbStride, SimdYuvType yuvType)
 Converts YUV420P image to 24-bit RGB image. More...
 
SIMD_API void SimdYuv422pToRgbV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *rgb, size_t rgbStride, SimdYuvType yuvType)
 Converts YUV422P image to 24-bit RGB image. More...
 
SIMD_API void SimdYuv444pToRgbV2 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *rgb, size_t rgbStride, SimdYuvType yuvType)
 Converts YUV444P image to 24-bit RGB image. More...
 
SIMD_API void SimdYuv420pToUyvy422 (const uint8_t *y, size_t yStride, const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *uyvy, size_t uyvyStride)
 Converts YUV420P to 16-bit UYVY422 image. More...
 
template<template< class > class A>
SIMD_INLINE void YToGray (const View< A > &y, View< A > &gray)
 Converts 8-bit Y plane of YUV image to 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuva420pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, const View< A > &a, View< A > &bgra, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUVA420P image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuva422pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, const View< A > &a, View< A > &bgra, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUVA422P image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuva444pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, const View< A > &a, View< A > &bgra, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUVA444P image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToBgr (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgr, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUV420P image to 24-bit BGR image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv422pToBgr (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgr, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUV422P image to 24-bit BGR image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToBgr (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgr, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUV444P image to 24-bit BGR image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgra, uint8_t alpha=0xFF, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUV420P image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv422pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgra, uint8_t alpha=0xFF, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUV422P image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgra, uint8_t alpha=0xFF, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUV444P image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToHsl (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &hsl)
 Converts YUV444P image to 24-bit HSL(Hue, Saturation, Lightness) image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToHsv (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &hsv)
 Converts YUV444P image to 24-bit HSV(Hue, Saturation, Value) image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToHue (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &hue)
 Converts YUV420P image to 8-bit image with Hue component of HSV or HSL color space. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToHue (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &hue)
 Converts YUV444P image to 8-bit image with Hue component of HSV or HSL color space. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToRgb (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &rgb, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUV420P image to 24-bit RGB image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv422pToRgb (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &rgb, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUV422P image to 24-bit RGB image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToRgb (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &rgb, SimdYuvType yuvType=SimdYuvBt601)
 Converts YUV444P image to 24-bit RGB image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToUyvy422 (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &uyvy)
 Converts YUV420P to 16-bit UYVY422 image. More...
 

Detailed Description

Functions for YUV image conversions.

Enumeration Type Documentation

◆ SimdYuvType

Describes YUV format type. It is uses in YUV to BGR forward and backward conversions.

Enumerator
SimdYuvUnknown 

Unknown YUV standard.

SimdYuvBt601 

Corresponds to BT.601 standard. Uses Kr=0.299, Kb=0.114. Restricts Y to range [16..235], U and V to [16..240].

SimdYuvBt709 

Corresponds to BT.709 standard. Uses Kr=0.2126, Kb=0.0722. Restricts Y to range [16..235], U and V to [16..240].

SimdYuvBt2020 

Corresponds to BT.2020 standard. Uses Kr=0.2627, Kb=0.0593. Restricts Y to range [16..235], U and V to [16..240].

SimdYuvTrect871 

Corresponds to T-REC-T.871 standard. Uses Kr=0.299, Kb=0.114. Y, U and V use full range [0..255].

Function Documentation

◆ SimdYToGray()

SimdYToGray ( const uint8_t *  y,
size_t  width,
size_t  height,
size_t  yStride,
uint8_t *  gray,
size_t  grayStride 
)

Converts 8-bit Y-plane of YUV to 8-bit gray image.

All images must have the same width and height.

Note
This function has C++ wrappers: Simd::YToGray(const View& y, View& gray).
Parameters
[in]y- a pointer to pixels data of input 8-bit Y plane of YUV image.
[in]yStride- a row size of the y image.
[in]width- an image width.
[in]height- an image height.
[out]gray- a pointer to pixels data of output 8-bit gray image.
[in]grayStride- a row size of the gray image.

◆ SimdYuva420pToBgraV2()

void SimdYuva420pToBgraV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
const uint8_t *  a,
size_t  aStride,
size_t  width,
size_t  height,
uint8_t *  bgra,
size_t  bgraStride,
SimdYuvType  yuvType 
)

Converts YUVA420P image to 32-bit BGRA image.

The input Y and output BGRA images must have the same width and height. The input U and V images must have the same width and height (their width and height are equal to half width of Y component).

Note
This function has a C++ wrappers: Simd::Yuva420pToBgra(const View& y, const View& u, const View& v, const View& a, View& bgra, SimdYuvType yuvType = SimdYuvBt601).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]a- a pointer to pixels data of input 8-bit image with alpha channel.
[in]aStride- a row size of the a image.
[in]width- an image width.
[in]height- an image height.
[out]bgra- a pointer to pixels data of output 32-bit BGRA image.
[in]bgraStride- a row size of the bgra image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuva422pToBgraV2()

void SimdYuva422pToBgraV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
const uint8_t *  a,
size_t  aStride,
size_t  width,
size_t  height,
uint8_t *  bgra,
size_t  bgraStride,
SimdYuvType  yuvType 
)

Converts YUVA422P image to 32-bit BGRA image.

The input Y and output BGRA images must have the same width and height. The input U and V images must have the same width and height (their width is equal to half width of Y component).

Note
This function has a C++ wrappers: Simd::Yuva422pToBgra(const View& y, const View& u, const View& v, const View& a, View& bgra, SimdYuvType yuvType = SimdYuvBt601).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]a- a pointer to pixels data of input 8-bit image with alpha channel.
[in]aStride- a row size of the a image.
[in]width- an image width.
[in]height- an image height.
[out]bgra- a pointer to pixels data of output 32-bit BGRA image.
[in]bgraStride- a row size of the bgra image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuva444pToBgraV2()

void SimdYuva444pToBgraV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
const uint8_t *  a,
size_t  aStride,
size_t  width,
size_t  height,
uint8_t *  bgra,
size_t  bgraStride,
SimdYuvType  yuvType 
)

Converts YUVA444P image to 32-bit BGRA image.

The input Y, U, V, A and output BGRA images must have the same width and height.

Note
This function has a C++ wrappers: Simd::Yuva444pToBgra(const View& y, const View& u, const View& v, const View& a, View& bgra, SimdYuvType yuvType = SimdYuvBt601).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]a- a pointer to pixels data of input 8-bit image with alpha channel.
[in]aStride- a row size of the a image.
[in]width- an image width.
[in]height- an image height.
[out]bgra- a pointer to pixels data of output 32-bit BGRA image.
[in]bgraStride- a row size of the bgra image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv420pToBgrV2()

void SimdYuv420pToBgrV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  bgr,
size_t  bgrStride,
SimdYuvType  yuvType 
)

Converts YUV420P image to 24-bit BGR image.

The input Y and output BGRA images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function has a C++ wrappers: Simd::Yuv420pToBgr(const View& y, const View& u, const View& v, View& bgr, SimdYuvType yuvType = SimdYuvBt601);
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]bgr- a pointer to pixels data of output 24-bit BGR image.
[in]bgrStride- a row size of the bgr image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv422pToBgrV2()

void SimdYuv422pToBgrV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  bgr,
size_t  bgrStride,
SimdYuvType  yuvType 
)

Converts YUV422P image to 24-bit BGR image.

The input Y and output BGRA images must have the same width and height. The input U and V images must have the same width and height (their width is equal to half width of Y component).

Note
This function has a C++ wrappers: Simd::Yuv422pToBgr(const View& y, const View& u, const View& v, View& bgr, SimdYuvType yuvType = SimdYuvBt601);
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]bgr- a pointer to pixels data of output 24-bit BGR image.
[in]bgrStride- a row size of the bgr image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv444pToBgrV2()

void SimdYuv444pToBgrV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  bgr,
size_t  bgrStride,
SimdYuvType  yuvType 
)

Converts YUV444P image to 24-bit BGR image.

The input Y, U, V and output BGR images must have the same width and height.

Note
This function has a C++ wrappers: Simd::Yuv444pToBgr(const View& y, const View& u, const View& v, View& bgr, SimdYuvType yuvType = SimdYuvBt601);
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]bgr- a pointer to pixels data of output 24-bit BGR image.
[in]bgrStride- a row size of the bgr image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv420pToBgraV2()

void SimdYuv420pToBgraV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  bgra,
size_t  bgraStride,
uint8_t  alpha,
SimdYuvType  yuvType 
)

Converts YUV420P image to 32-bit BGRA image.

The input Y and output BGRA images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function has a C++ wrappers: Simd::Yuv420pToBgra(const View<A>& y, const View<A>& u, const View<A>& v, View<A>& bgra, uint8_t alpha, SimdYuvType yuvType).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]bgra- a pointer to pixels data of output 32-bit BGRA image.
[in]bgraStride- a row size of the bgra image.
[in]alpha- a value of alpha channel.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv422pToBgraV2()

void SimdYuv422pToBgraV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  bgra,
size_t  bgraStride,
uint8_t  alpha,
SimdYuvType  yuvType 
)

Converts YUV422P image to 32-bit BGRA image.

The input Y and output BGRA images must have the same width and height. The input U and V images must have the same width and height (their width is equal to half width of Y component).

Note
This function has a C++ wrappers: Simd::Yuv422pToBgra(const View<A>& y, const View<A>& u, const View<A>& v, View<A>& bgra, uint8_t alpha, SimdYuvType yuvType).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]bgra- a pointer to pixels data of output 32-bit BGRA image.
[in]bgraStride- a row size of the bgra image.
[in]alpha- a value of alpha channel.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv444pToBgraV2()

void SimdYuv444pToBgraV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  bgra,
size_t  bgraStride,
uint8_t  alpha,
SimdYuvType  yuvType 
)

Converts YUV444P image to 32-bit BGRA image.

The input Y, U, V and output BGRA images must have the same width and height.

Note
This function has a C++ wrappers: Simd::Yuv444pToBgra(const View<A>& y, const View<A>& u, const View<A>& v, View<A>& bgra, uint8_t alpha, SimdYuvType yuvType).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]bgra- a pointer to pixels data of output 32-bit BGRA image.
[in]bgraStride- a row size of the bgra image.
[in]alpha- a value of alpha channel.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv444pToHsl()

void SimdYuv444pToHsl ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  hsl,
size_t  hslStride 
)

Converts YUV444P image to 24-bit HSL(Hue, Saturation, Lightness) image.

The input Y, U, V and output HSL images must have the same width and height.

Note
This function has a C++ wrappers: Simd::Yuv444pToHsl(const View<A>& y, const View<A>& u, const View<A>& v, View<A>& hsl).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]hsl- a pointer to pixels data of output 24-bit HSL image.
[in]hslStride- a row size of the hsl image.

◆ SimdYuv444pToHsv()

void SimdYuv444pToHsv ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  hsv,
size_t  hsvStride 
)

Converts YUV444P image to 24-bit HSV(Hue, Saturation, Value) image.

The input Y, U, V and output HSV images must have the same width and height.

Note
This function has a C++ wrappers: Simd::Yuv444pToHsv(const View<A>& y, const View<A>& u, const View<A>& v, View<A>& hsv).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]hsv- a pointer to pixels data of output 24-bit HSV image.
[in]hsvStride- a row size of the hsv image.

◆ SimdYuv420pToHue()

void SimdYuv420pToHue ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  hue,
size_t  hueStride 
)

Converts YUV420P image to 8-bit image with Hue component of HSV or HSL color space.

The input Y and output Hue images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function has a C++ wrappers: Simd::Yuv420pToHue(const View<A>& y, const View<A>& u, const View<A>& v, View<A>& hue).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]hue- a pointer to pixels data of output 8-bit Hue image.
[in]hueStride- a row size of the hue image.

◆ SimdYuv444pToHue()

void SimdYuv444pToHue ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  hue,
size_t  hueStride 
)

Converts YUV444P image to 8-bit image with Hue component of HSV or HSL color space.

The input Y, U, V and output Hue images must have the same width and height.

Note
This function has a C++ wrappers: Simd::Yuv444pToHue(const View<A>& y, const View<A>& u, const View<A>& v, View<A>& hue).
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]hue- a pointer to pixels data of output 8-bit Hue image.
[in]hueStride- a row size of the hue image.

◆ SimdYuv420pToRgbV2()

void SimdYuv420pToRgbV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  rgb,
size_t  rgbStride,
SimdYuvType  yuvType 
)

Converts YUV420P image to 24-bit RGB image.

The input Y and output RGBA images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function has a C++ wrappers: Simd::Yuv420pToRgb(const View& y, const View& u, const View& v, View& rgb, SimdYuvType yuvType = SimdYuvBt601);
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]rgb- a pointer to pixels data of output 24-bit RGB image.
[in]rgbStride- a row size of the rgb image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv422pToRgbV2()

void SimdYuv422pToRgbV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  rgb,
size_t  rgbStride,
SimdYuvType  yuvType 
)

Converts YUV422P image to 24-bit RGB image.

The input Y and output RGB images must have the same width and height. The input U and V images must have the same width and height (their width is equal to half width of Y component).

Note
This function has a C++ wrappers: Simd::Yuv422pToRgb(const View& y, const View& u, const View& v, View& rgb, SimdYuvType yuvType = SimdYuvBt601);
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]rgb- a pointer to pixels data of output 24-bit RGB image.
[in]rgbStride- a row size of the rgb image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv444pToRgbV2()

void SimdYuv444pToRgbV2 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  rgb,
size_t  rgbStride,
SimdYuvType  yuvType 
)

Converts YUV444P image to 24-bit RGB image.

The input Y, U, V and output RGB images must have the same width and height.

Note
This function has a C++ wrappers: Simd::Yuv444pToRgb(const View& y, const View& u, const View& v, View& rgb, SimdYuvType yuvType = SimdYuvBt601);
Parameters
[in]y- a pointer to pixels data of input 8-bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8-bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8-bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width.
[in]height- an image height.
[out]rgb- a pointer to pixels data of output 24-bit RGB image.
[in]rgbStride- a row size of the rgb image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).

◆ SimdYuv420pToUyvy422()

void SimdYuv420pToUyvy422 ( const uint8_t *  y,
size_t  yStride,
const uint8_t *  u,
size_t  uStride,
const uint8_t *  v,
size_t  vStride,
size_t  width,
size_t  height,
uint8_t *  uyvy,
size_t  uyvyStride 
)

Converts YUV420P to 16-bit UYVY422 image.

The input Y and output UYVY422 images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function has a C++ wrapper Simd::Yuv420pToUyvy422(const View<A>& y, const View<A>& u, const View<A>& v, View<A>& uyvy).
Parameters
[in]y- a pointer to pixels data of input 8 - bit image with Y color plane.
[in]yStride- a row size of the y image.
[in]u- a pointer to pixels data of input 8 - bit image with U color plane.
[in]uStride- a row size of the u image.
[in]v- a pointer to pixels data of input 8 - bit image with V color plane.
[in]vStride- a row size of the v image.
[in]width- an image width. Width must be even number.
[in]height- an image height.
[out]uyvy- a pointer to pixels data of output 16-bit UYVY422 image.
[in]uyvyStride- a row size of the UYVY422 image.

◆ YToGray()

void YToGray ( const View< A > &  y,
View< A > &  gray 
)

Converts 8-bit Y plane of YUV image to 8-bit gray image.

All images must have the same width and height.

Note
This function is a C++ wrapper for function SimdYToGray.
Parameters
[in]y- an input 8-bit Y plane of YUV image.
[out]gray- an output 8-bit gray image.

◆ Yuva420pToBgra()

void Yuva420pToBgra ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
const View< A > &  a,
View< A > &  bgra,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUVA420P image to 32-bit BGRA image.

The input Y, A and output BGR images must have the same width and height. The input U and V images must have the same width and height (their width is equal to half width of Y component).

Note
This function is a C++ wrapper for function SimdYuva420pToBgraV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[in]a- an input 8-bit image with alpha channel.
[out]bgra- an output 32-bit BGRA image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).By default it is equal to SimdYuvBt601.

◆ Yuva422pToBgra()

void Yuva422pToBgra ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
const View< A > &  a,
View< A > &  bgra,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUVA422P image to 32-bit BGRA image.

The input Y, A and output BGR images must have the same width and height. The input U and V images must have the same width and height (their width is equal to half width of Y component).

Note
This function is a C++ wrapper for function SimdYuva422pToBgraV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[in]a- an input 8-bit image with alpha channel.
[out]bgra- an output 32-bit BGRA image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).By default it is equal to SimdYuvBt601.

◆ Yuva444pToBgra()

void Yuva444pToBgra ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
const View< A > &  a,
View< A > &  bgra,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUVA444P image to 32-bit BGRA image.

The input Y, U, V, A and output BGRA images must have the same width and height.

Note
This function is a C++ wrapper for function SimdYuva444pToBgraV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[in]a- an input 8-bit image with alpha channel.
[out]bgra- an output 32-bit BGRA image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).By default it is equal to SimdYuvBt601.

◆ Yuv420pToBgr()

void Yuv420pToBgr ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  bgr,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUV420P image to 24-bit BGR image.

The input Y and output BGR images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function is a C++ wrapper for function SimdYuv420pToBgrV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]bgr- an output 24-bit BGR image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).By default it is equal to SimdYuvBt601.

◆ Yuv422pToBgr()

void Yuv422pToBgr ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  bgr,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUV422P image to 24-bit BGR image.

The input Y and output BGR images must have the same width and height. The input U and V images must have the same width and height (their width is equal to half width of Y component).

Note
This function is a C++ wrapper for function SimdYuv422pToBgrV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]bgr- an output 24-bit BGR image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType).By default it is equal to SimdYuvBt601.

◆ Yuv444pToBgr()

void Yuv444pToBgr ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  bgr,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUV444P image to 24-bit BGR image.

The input Y, U, V and output BGR images must have the same width and height.

Note
This function is a C++ wrapper for function SimdYuv444pToBgrV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]bgr- an output 24-bit BGR image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType). By default it is equal to SimdYuvBt601.

◆ Yuv420pToBgra()

void Yuv420pToBgra ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  bgra,
uint8_t  alpha = 0xFF,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUV420P image to 32-bit BGRA image.

The input Y and output BGRA images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function is a C++ wrapper for function SimdYuv420pToBgraV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]bgra- an output 32-bit BGRA image.
[in]alpha- a value of alpha channel. It is equal to 255 by default.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType). By default it is equal to SimdYuvBt601.

◆ Yuv422pToBgra()

void Yuv422pToBgra ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  bgra,
uint8_t  alpha = 0xFF,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUV422P image to 32-bit BGRA image.

The input Y and output BGRA images must have the same width and height. The input U and V images must have the same width and height (their width is equal to half width of Y component).

Note
This function is a C++ wrapper for function SimdYuv422pToBgraV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]bgra- an output 32-bit BGRA image.
[in]alpha- a value of alpha channel. It is equal to 255 by default.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType). By default it is equal to SimdYuvBt601.

◆ Yuv444pToBgra()

void Yuv444pToBgra ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  bgra,
uint8_t  alpha = 0xFF,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUV444P image to 32-bit BGRA image.

The input Y, U, V and output BGRA images must have the same width and height.

Note
This function is a C++ wrapper for function SimdYuv444pToBgraV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]bgra- an output 32-bit BGRA image.
[in]alpha- a value of alpha channel. It is equal to 255 by default.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType). By default it is equal to SimdYuvBt601.

◆ Yuv444pToHsl()

void Yuv444pToHsl ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  hsl 
)

Converts YUV444P image to 24-bit HSL(Hue, Saturation, Lightness) image.

The input Y, U, V and output HSL images must have the same width and height.

Note
This function is a C++ wrapper for function SimdYuv444pToHsl.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]hsl- an output 24-bit HSL image.

◆ Yuv444pToHsv()

void Yuv444pToHsv ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  hsv 
)

Converts YUV444P image to 24-bit HSV(Hue, Saturation, Value) image.

The input Y, U, V and output HSV images must have the same width and height.

Note
This function is a C++ wrapper for function SimdYuv444pToHsv.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]hsv- an output 24-bit HSV image.

◆ Yuv420pToHue()

void Yuv420pToHue ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  hue 
)

Converts YUV420P image to 8-bit image with Hue component of HSV or HSL color space.

The input Y and output Hue images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function is a C++ wrapper for function SimdYuv420pToHue.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]hue- an output 8-bit Hue image.

◆ Yuv444pToHue()

void Yuv444pToHue ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  hue 
)

Converts YUV444P image to 8-bit image with Hue component of HSV or HSL color space.

The input Y, U, V and output Hue images must have the same width and height.

Note
This function is a C++ wrapper for function SimdYuv444pToHue.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]hue- an output 8-bit Hue image.

◆ Yuv420pToRgb()

void Yuv420pToRgb ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  rgb,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUV420P image to 24-bit RGB image.

The input Y and output RGB images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function is a C++ wrapper for function SimdYuv420pToRgbV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]rgb- an output 24-bit RGB image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType). By default it is equal to SimdYuvBt601.

◆ Yuv422pToRgb()

void Yuv422pToRgb ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  rgb,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUV422P image to 24-bit RGB image.

The input Y and output RGB images must have the same width and height. The input U and V images must have the same width and height (their width is equal to half width of Y component).

Note
This function is a C++ wrapper for function SimdYuv422pToRgbV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]rgb- an output 24-bit RGB image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType). By default it is equal to SimdYuvBt601.

◆ Yuv444pToRgb()

void Yuv444pToRgb ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  rgb,
SimdYuvType  yuvType = SimdYuvBt601 
)

Converts YUV444P image to 24-bit RGB image.

The input Y, U, V and output RGB images must have the same width and height.

Note
This function is a C++ wrapper for function SimdYuv444pToRgbV2.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]rgb- an output 24-bit RGB image.
[in]yuvType- a type of input YUV image (see descriprion of SimdYuvType). By default it is equal to SimdYuvBt601.

◆ Yuv420pToUyvy422()

void Yuv420pToUyvy422 ( const View< A > &  y,
const View< A > &  u,
const View< A > &  v,
View< A > &  uyvy 
)

Converts YUV420P to 16-bit UYVY422 image.

The input Y and output UYVY422 images must have the same width and height. The input U and V images must have the same width and height (half size relative to Y component).

Note
This function is a C++ wrapper for function SimdYuv420pToUyvy422.
Parameters
[in]y- an input 8-bit image with Y color plane.
[in]u- an input 8-bit image with U color plane.
[in]v- an input 8-bit image with V color plane.
[out]uyvy- an output 16-bit UYVY422 image.