Functions to deinterleave images. More...
Functions | |
SIMD_API void | SimdDeinterleaveUv (const uint8_t *uv, size_t uvStride, size_t width, size_t height, uint8_t *u, size_t uStride, uint8_t *v, size_t vStride) |
Deinterleaves 16-bit UV interleaved image into separated 8-bit U and V planar images. More... | |
SIMD_API void | SimdDeinterleaveBgr (const uint8_t *bgr, size_t bgrStride, size_t width, size_t height, uint8_t *b, size_t bStride, uint8_t *g, size_t gStride, uint8_t *r, size_t rStride) |
Deinterleaves 24-bit BGR interleaved image into separated 8-bit Blue, Green and Red planar images. More... | |
SIMD_API void | SimdDeinterleaveBgra (const uint8_t *bgra, size_t bgraStride, size_t width, size_t height, uint8_t *b, size_t bStride, uint8_t *g, size_t gStride, uint8_t *r, size_t rStride, uint8_t *a, size_t aStride) |
Deinterleaves 32-bit BGRA interleaved image into separated 8-bit Blue, Green, Red and Alpha planar images. More... | |
template<template< class > class A> | |
SIMD_INLINE void | DeinterleaveUv (const View< A > &uv, View< A > &u, View< A > &v) |
Deinterleaves 16-bit UV interleaved image into separated 8-bit U and V planar images. More... | |
template<template< class > class A> | |
SIMD_INLINE void | DeinterleaveBgr (const View< A > &bgr, View< A > &b, View< A > &g, View< A > &r) |
Deinterleaves 24-bit BGR interleaved image into separated 8-bit Blue, Green and Red planar images. More... | |
template<template< class > class A> | |
SIMD_INLINE void | DeinterleaveBgra (const View< A > &bgra, View< A > &b, View< A > &g, View< A > &r, View< A > &a) |
Deinterleaves 32-bit BGRA interleaved image into separated 8-bit Blue, Green, Red and Alpha planar images. More... | |
template<template< class > class A> | |
SIMD_INLINE void | DeinterleaveBgra (const View< A > &bgra, View< A > &b, View< A > &g, View< A > &r) |
Deinterleaves 32-bit BGRA interleaved image into separated 8-bit Blue, Green and Red planar images (Alpha channel is ignored). More... | |
template<template< class > class A> | |
SIMD_INLINE void | DeinterleaveRgb (const View< A > &rgb, View< A > &r, View< A > &g, View< A > &b) |
Deinterleaves 24-bit RGB interleaved image into separated 8-bit Red, Green and Blue planar images. More... | |
template<template< class > class A> | |
SIMD_INLINE void | DeinterleaveRgba (const View< A > &rgba, View< A > &r, View< A > &g, View< A > &b, View< A > &a) |
Deinterleaves 32-bit RGBA interleaved image into separated 8-bit Red, Green, Blue and Alpha planar images. More... | |
template<template< class > class A> | |
SIMD_INLINE void | DeinterleaveRgba (const View< A > &rgba, View< A > &r, View< A > &g, View< A > &b) |
Deinterleaves 32-bit RGBA interleaved image into separated 8-bit Red, Green and Blue planar images (Alpha channel is ignored). More... | |
Detailed Description
Functions to deinterleave images.
Function Documentation
◆ SimdDeinterleaveUv()
void SimdDeinterleaveUv | ( | const uint8_t * | uv, |
size_t | uvStride, | ||
size_t | width, | ||
size_t | height, | ||
uint8_t * | u, | ||
size_t | uStride, | ||
uint8_t * | v, | ||
size_t | vStride | ||
) |
Deinterleaves 16-bit UV interleaved image into separated 8-bit U and V planar images.
All images must have the same width and height. This function used for NV12 to YUV420P conversion.
- Note
- This function has a C++ wrapper Simd::DeinterleaveUv(const View<A>& uv, View<A>& u, View<A>& v).
- Parameters
-
[in] uv - a pointer to pixels data of input 16-bit UV interleaved image. [in] uvStride - a row size of the uv image. [in] width - an image width. [in] height - an image height. [out] u - a pointer to pixels data of 8-bit U planar image. [in] uStride - a row size of the u image. [out] v - a pointer to pixels data of 8-bit V planar image. [in] vStride - a row size of the v image.
◆ SimdDeinterleaveBgr()
void SimdDeinterleaveBgr | ( | const uint8_t * | bgr, |
size_t | bgrStride, | ||
size_t | width, | ||
size_t | height, | ||
uint8_t * | b, | ||
size_t | bStride, | ||
uint8_t * | g, | ||
size_t | gStride, | ||
uint8_t * | r, | ||
size_t | rStride | ||
) |
Deinterleaves 24-bit BGR interleaved image into separated 8-bit Blue, Green and Red planar images.
All images must have the same width and height.
- Note
- This function has C++ wrappers: Simd::DeinterleaveBgr(const View<A>& bgr, View<A>& b, View<A>& g, View<A>& r), Simd::DeinterleaveRgb(const View<A>& rgb, View<A>& r, View<A>& g, View<A>& b).
- Parameters
-
[in] bgr - a pointer to pixels data of input 24-bit BGR interleaved image. [in] bgrStride - a row size of the bgr image. [in] width - an image width. [in] height - an image height. [out] b - a pointer to pixels data of 8-bit Blue planar image. [in] bStride - a row size of the b image. [out] g - a pointer to pixels data of 8-bit Green planar image. [in] gStride - a row size of the g image. [out] r - a pointer to pixels data of 8-bit Red planar image. [in] rStride - a row size of the r image.
◆ SimdDeinterleaveBgra()
void SimdDeinterleaveBgra | ( | const uint8_t * | bgra, |
size_t | bgraStride, | ||
size_t | width, | ||
size_t | height, | ||
uint8_t * | b, | ||
size_t | bStride, | ||
uint8_t * | g, | ||
size_t | gStride, | ||
uint8_t * | r, | ||
size_t | rStride, | ||
uint8_t * | a, | ||
size_t | aStride | ||
) |
Deinterleaves 32-bit BGRA interleaved image into separated 8-bit Blue, Green, Red and Alpha planar images.
All images must have the same width and height.
- Note
- This function has C++ wrappers: Simd::DeinterleaveBgra(const View<A>& bgra, View<A>& b, View<A>& g, View<A>& r, View<A>& a), Simd::DeinterleaveBgra(const View<A>& bgra, View<A>& b, View<A>& g, View<A>& r), Simd::DeinterleaveRgba(const View<A>& rgba, View<A>& r, View<A>& g, View<A>& b, View<A>& a), Simd::DeinterleaveRgba(const View<A>& rgba, View<A>& r, View<A>& g, View<A>& b).
- Parameters
-
[in] bgra - a pointer to pixels data of input 32-bit BGRA interleaved image. [in] bgraStride - a row size of the bgra image. [in] width - an image width. [in] height - an image height. [out] b - a pointer to pixels data of 8-bit Blue planar image. [in] bStride - a row size of the b image. [out] g - a pointer to pixels data of 8-bit Green planar image. [in] gStride - a row size of the g image. [out] r - a pointer to pixels data of 8-bit Red planar image. [in] rStride - a row size of the r image. [out] a - a pointer to pixels data of 8-bit Alpha planar image. It can be NULL. [in] aStride - a row size of the a image.
◆ DeinterleaveUv()
Deinterleaves 16-bit UV interleaved image into separated 8-bit U and V planar images.
All images must have the same width and height. This function used for NV12 to YUV420P conversion.
- Note
- This function is a C++ wrapper for function SimdDeinterleaveUv.
- Parameters
-
[in] uv - an input 16-bit UV interleaved image. [out] u - an output 8-bit U planar image. [out] v - an output 8-bit V planar image.
◆ DeinterleaveBgr()
Deinterleaves 24-bit BGR interleaved image into separated 8-bit Blue, Green and Red planar images.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdDeinterleaveBgr.
- Parameters
-
[in] bgr - an input 24-bit BGR interleaved image. [out] b - an output 8-bit Blue planar image. [out] g - an output 8-bit Green planar image. [out] r - an output 8-bit Red planar image.
◆ DeinterleaveBgra() [1/2]
void DeinterleaveBgra | ( | const View< A > & | bgra, |
View< A > & | b, | ||
View< A > & | g, | ||
View< A > & | r, | ||
View< A > & | a | ||
) |
Deinterleaves 32-bit BGRA interleaved image into separated 8-bit Blue, Green, Red and Alpha planar images.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdDeinterleaveBgra.
- Parameters
-
[in] bgra - an input 32-bit BGRA interleaved image. [out] b - an output 8-bit Blue planar image. [out] g - an output 8-bit Green planar image. [out] r - an output 8-bit Red planar image. [out] a - an output 8-bit Alpha planar image.
◆ DeinterleaveBgra() [2/2]
Deinterleaves 32-bit BGRA interleaved image into separated 8-bit Blue, Green and Red planar images (Alpha channel is ignored).
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdDeinterleaveBgra.
- Parameters
-
[in] bgra - an input 32-bit BGRA interleaved image. [out] b - an output 8-bit Blue planar image. [out] g - an output 8-bit Green planar image. [out] r - an output 8-bit Red planar image.
◆ DeinterleaveRgb()
Deinterleaves 24-bit RGB interleaved image into separated 8-bit Red, Green and Blue planar images.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdDeinterleaveBgr.
- Parameters
-
[in] rgb - an input 24-bit RGB interleaved image. [out] r - an output 8-bit Red planar image. [out] g - an output 8-bit Green planar image. [out] b - an output 8-bit Blue planar image.
◆ DeinterleaveRgba() [1/2]
void DeinterleaveRgba | ( | const View< A > & | rgba, |
View< A > & | r, | ||
View< A > & | g, | ||
View< A > & | b, | ||
View< A > & | a | ||
) |
Deinterleaves 32-bit RGBA interleaved image into separated 8-bit Red, Green, Blue and Alpha planar images.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdDeinterleaveBgra.
- Parameters
-
[in] rgba - an input 32-bit RGBA interleaved image. [out] r - an output 8-bit Red planar image. [out] g - an output 8-bit Green planar image. [out] b - an output 8-bit Blue planar image. [out] a - an output 8-bit Alpha planar image.
◆ DeinterleaveRgba() [2/2]
Deinterleaves 32-bit RGBA interleaved image into separated 8-bit Red, Green and Blue planar images (Alpha channel is ignored).
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdDeinterleaveBgra.
- Parameters
-
[in] rgba - an input 32-bit RGBA interleaved image. [out] r - an output 8-bit Red planar image. [out] g - an output 8-bit Green planar image. [out] b - an output 8-bit Blue planar image.