Functions for other image format conversions.
More...
|
SIMD_API void | SimdBgr48pToBgra32 (const uint8_t *blue, size_t blueStride, size_t width, size_t height, const uint8_t *green, size_t greenStride, const uint8_t *red, size_t redStride, uint8_t *bgra, size_t bgraStride, uint8_t alpha) |
| Converts 48-bit planar BGR image to 32-bit BGRA image. More...
|
|
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...
|
|
SIMD_API void | SimdInt16ToGray (const uint8_t *src, size_t width, size_t height, size_t srcStride, uint8_t *dst, size_t dstStride) |
| Converts 16-bit signed integer image to 8-bit gray image with saturation. More...
|
|
SIMD_API void | SimdInterleaveUv (const uint8_t *u, size_t uStride, const uint8_t *v, size_t vStride, size_t width, size_t height, uint8_t *uv, size_t uvStride) |
| Interleaves 8-bit U and V planar images into one 16-bit UV interleaved image. More...
|
|
SIMD_API void | SimdInterleaveBgr (const uint8_t *b, size_t bStride, const uint8_t *g, size_t gStride, const uint8_t *r, size_t rStride, size_t width, size_t height, uint8_t *bgr, size_t bgrStride) |
| Interleaves 8-bit Blue, Green and Red planar images into one 24-bit BGR interleaved image. More...
|
|
SIMD_API void | SimdInterleaveBgra (const uint8_t *b, size_t bStride, const uint8_t *g, size_t gStride, const uint8_t *r, size_t rStride, const uint8_t *a, size_t aStride, size_t width, size_t height, uint8_t *bgra, size_t bgraStride) |
| Interleaves 8-bit Blue, Green, Red and Alpha planar images into one 32-bit BGRA interleaved image. More...
|
|
template<template< class > class A> |
SIMD_INLINE void | Bgr48pToBgra32 (const View< A > &blue, const View< A > &green, const View< A > &red, View< A > &bgra, uint8_t alpha=0xFF) |
| Converts 48-bit planar BGR image to 32-bit BGRA image. 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 | Int16ToGray (const View< A > &src, View< A > &dst) |
| Converts 16-bit signed integer image to 8-bit gray image with saturation. More...
|
|
template<template< class > class A> |
SIMD_INLINE void | InterleaveUv (const View< A > &u, const View< A > &v, View< A > &uv) |
| Interleaves 8-bit U and V planar images into one 16-bit UV interleaved image. More...
|
|
template<template< class > class A> |
SIMD_INLINE void | InterleaveBgr (const View< A > &b, const View< A > &g, const View< A > &r, View< A > &bgr) |
| Interleaves 8-bit Blue, Green and Red planar images into one 24-bit BGR interleaved image. More...
|
|
template<template< class > class A> |
SIMD_INLINE void | InterleaveBgra (const View< A > &b, const View< A > &g, const View< A > &r, const View< A > &a, View< A > &bgra) |
| Interleaves 8-bit Blue, Green, Red and Alpha planar images into one 32-bit BGRA interleaved image. More...
|
|
Functions for other image format conversions.
void SimdBgr48pToBgra32 |
( |
const uint8_t * |
blue, |
|
|
size_t |
blueStride, |
|
|
size_t |
width, |
|
|
size_t |
height, |
|
|
const uint8_t * |
green, |
|
|
size_t |
greenStride, |
|
|
const uint8_t * |
red, |
|
|
size_t |
redStride, |
|
|
uint8_t * |
bgra, |
|
|
size_t |
bgraStride, |
|
|
uint8_t |
alpha |
|
) |
| |
Converts 48-bit planar BGR image to 32-bit BGRA image.
All images must have the same width and height.
- Note
- This function has a C++ wrapper Simd::Bgr48pToBgra32(const View<A>& blue, const View<A>& green, const View<A>& red, View<A>& bgra, uint8_t alpha).
- Parameters
-
[in] | blue | - a pointer to pixels data of input 16-bit image with blue color plane. |
[in] | blueStride | - a row size of the blue image. |
[in] | width | - an image width. |
[in] | height | - an image height. |
[in] | green | - a pointer to pixels data of input 16-bit image with green color plane. |
[in] | greenStride | - a row size of the blue image. |
[in] | red | - a pointer to pixels data of input 16-bit image with red color plane. |
[in] | redStride | - a row size of the red image. |
[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. |
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. |
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 a C++ wrapper Simd::DeinterleaveBgr(const View<A>& bgr, View<A>& b, View<A>& g, View<A>& r).
- 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. |
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 a C++ wrapper Simd::DeinterleaveBgra(const View<A>& bgra, View<A>& b, View<A>& g, View<A>& r, View<A>& a).
- 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. |
[in] | aStride | - a row size of the a image. |
void SimdInt16ToGray |
( |
const uint8_t * |
src, |
|
|
size_t |
width, |
|
|
size_t |
height, |
|
|
size_t |
srcStride, |
|
|
uint8_t * |
dst, |
|
|
size_t |
dstStride |
|
) |
| |
Converts 16-bit signed integer image to 8-bit gray image with saturation.
All images must have the same width and height.
For every point: dst[i] = Max(0, Min(255, src[i]));
- Note
- This function has a C++ wrapper Simd::Int16ToGray(const View<A> & src, View<A> & dst).
- Parameters
-
[in] | src | - a pointer to pixels data of input 16-bit signed integer image. |
[in] | width | - an image width. |
[in] | height | - an image height. |
[in] | srcStride | - a row size of the 16-bit signed integer image. |
[out] | dst | - a pointer to pixels data of input 8-bit gray image. |
[out] | dstStride | - a row size of the gray image. |
void SimdInterleaveUv |
( |
const uint8_t * |
u, |
|
|
size_t |
uStride, |
|
|
const uint8_t * |
v, |
|
|
size_t |
vStride, |
|
|
size_t |
width, |
|
|
size_t |
height, |
|
|
uint8_t * |
uv, |
|
|
size_t |
uvStride |
|
) |
| |
Interleaves 8-bit U and V planar images into one 16-bit UV interleaved image.
All images must have the same width and height. This function used for YUV420P to NV12 conversion.
- Note
- This function has a C++ wrapper Simd::InterleaveUv(const View<A>& u, const View<A>& v, View<A>& uv).
- Parameters
-
[in] | u | - a pointer to pixels data of input 8-bit U planar image. |
[in] | uStride | - a row size of the u image. |
[in] | v | - a pointer to pixels data of input 8-bit V planar image. |
[in] | vStride | - a row size of the v image. |
[in] | width | - an image width. |
[in] | height | - an image height. |
[out] | uv | - a pointer to pixels data of output 16-bit UV interleaved image. |
[in] | uvStride | - a row size of the uv image. |
void SimdInterleaveBgr |
( |
const uint8_t * |
b, |
|
|
size_t |
bStride, |
|
|
const uint8_t * |
g, |
|
|
size_t |
gStride, |
|
|
const uint8_t * |
r, |
|
|
size_t |
rStride, |
|
|
size_t |
width, |
|
|
size_t |
height, |
|
|
uint8_t * |
bgr, |
|
|
size_t |
bgrStride |
|
) |
| |
Interleaves 8-bit Blue, Green and Red planar images into one 24-bit BGR interleaved image.
All images must have the same width and height.
- Note
- This function has a C++ wrapper Simd::InterleaveBgr(const View<A>& b, const View<A>& g, const View<A>& r, View<A>& bgr).
- Parameters
-
[in] | b | - a pointer to pixels data of input 8-bit Blue planar image. |
[in] | bStride | - a row size of the b image. |
[in] | g | - a pointer to pixels data of input 8-bit Green planar image. |
[in] | gStride | - a row size of the g image. |
[in] | r | - a pointer to pixels data of input 8-bit Red planar image. |
[in] | rStride | - a row size of the r image. |
[in] | width | - an image width. |
[in] | height | - an image height. |
[out] | bgr | - a pointer to pixels data of output 24-bit BGR interleaved image. |
[in] | bgrStride | - a row size of the bgr image. |
void SimdInterleaveBgra |
( |
const uint8_t * |
b, |
|
|
size_t |
bStride, |
|
|
const uint8_t * |
g, |
|
|
size_t |
gStride, |
|
|
const uint8_t * |
r, |
|
|
size_t |
rStride, |
|
|
const uint8_t * |
a, |
|
|
size_t |
aStride, |
|
|
size_t |
width, |
|
|
size_t |
height, |
|
|
uint8_t * |
bgra, |
|
|
size_t |
bgraStride |
|
) |
| |
Interleaves 8-bit Blue, Green, Red and Alpha planar images into one 32-bit BGRA interleaved image.
All images must have the same width and height.
- Note
- This function has a C++ wrapper Simd::InterleaveBgra(const View<A>& b, const View<A>& g, const View<A>& r, const View<A>& a, View<A>& bgra).
- Parameters
-
[in] | b | - a pointer to pixels data of input 8-bit Blue planar image. |
[in] | bStride | - a row size of the b image. |
[in] | g | - a pointer to pixels data of input 8-bit Green planar image. |
[in] | gStride | - a row size of the g image. |
[in] | r | - a pointer to pixels data of input 8-bit Red planar image. |
[in] | rStride | - a row size of the r image. |
[in] | a | - a pointer to pixels data of input 8-bit Alpha planar image. |
[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 interleaved image. |
[in] | bgraStride | - a row size of the bgr image. |
void Bgr48pToBgra32 |
( |
const View< A > & |
blue, |
|
|
const View< A > & |
green, |
|
|
const View< A > & |
red, |
|
|
View< A > & |
bgra, |
|
|
uint8_t |
alpha = 0xFF |
|
) |
| |
Converts 48-bit planar BGR image to 32-bit BGRA image.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdBgr48pToBgra32.
- Parameters
-
[in] | blue | - an input 16-bit image with blue color plane. |
[in] | green | - an input 16-bit image with green color plane. |
[in] | red | - an input 16-bit image with red color plane. |
[out] | bgra | - an output 32-bit BGRA image. |
[in] | alpha | - a value of alpha channel. It is equal to 256 by default. |
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.
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. |
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.
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. |
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. |
void Int16ToGray |
( |
const View< A > & |
src, |
|
|
View< A > & |
dst |
|
) |
| |
Converts 16-bit signed integer image to 8-bit gray image with saturation.
All images must have the same width and height.
For every point: dst[i] = Max(0, Min(255, src[i]));
- Note
- This function is a C++ wrapper for function SimdInt16ToGray.
- Parameters
-
[in] | src | - an input 16-bit signed integer image |
[out] | dst | - an output 8-bit gray image. |
void InterleaveUv |
( |
const View< A > & |
u, |
|
|
const View< A > & |
v, |
|
|
View< A > & |
uv |
|
) |
| |
Interleaves 8-bit U and V planar images into one 16-bit UV interleaved image.
All images must have the same width and height. This function used for YUV420P to NV12 conversion.
- Note
- This function is a C++ wrapper for function SimdInterleaveUv.
- Parameters
-
[in] | u | - an input 8-bit U planar image. |
[in] | v | - an input 8-bit V planar image. |
[out] | uv | - an output 16-bit UV interleaved image. |
void InterleaveBgr |
( |
const View< A > & |
b, |
|
|
const View< A > & |
g, |
|
|
const View< A > & |
r, |
|
|
View< A > & |
bgr |
|
) |
| |
Interleaves 8-bit Blue, Green and Red planar images into one 24-bit BGR interleaved image.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdInterleaveBgr.
- Parameters
-
[in] | b | - an input 8-bit Blue planar image. |
[in] | g | - an input 8-bit Green planar image. |
[in] | r | - an input 8-bit Red planar image. |
[out] | bgr | - an output 24-bit BGR interleaved image. |
void InterleaveBgra |
( |
const View< A > & |
b, |
|
|
const View< A > & |
g, |
|
|
const View< A > & |
r, |
|
|
const View< A > & |
a, |
|
|
View< A > & |
bgra |
|
) |
| |
Interleaves 8-bit Blue, Green, Red and Alpha planar images into one 32-bit BGRA interleaved image.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdInterleaveBgra.
- Parameters
-
[in] | b | - an input 8-bit Blue planar image. |
[in] | g | - an input 8-bit Green planar image. |
[in] | r | - an input 8-bit Red planar image. |
[in] | a | - an input 8-bit Alpha planar image. |
[out] | bgra | - an output 32-bit BGRA interleaved image. |
|