11 #ifndef INCLUDE_LIBYUV_PLANAR_FUNCTIONS_H_ 12 #define INCLUDE_LIBYUV_PLANAR_FUNCTIONS_H_ 53 uint8* dst_uv,
int dst_stride_uv,
62 #define J400ToJ400 I400ToI400 65 #define I422ToI422 I422Copy 76 #define I444ToI444 I444Copy 105 uint8* dst_uv,
int dst_stride_uv,
111 uint8* dst_uv,
int dst_stride_uv,
128 #define J420ToJ400 I420ToI400 129 #define I420ToI420Mirror I420Mirror 142 #define I400ToI400Mirror I400Mirror 152 #define ARGBToARGBMirror ARGBMirror 157 uint8* dst_argb,
int dst_stride_argb,
163 const uint8* src_uv,
int src_stride_uv,
164 uint8* dst_rgb565,
int dst_stride_rgb565,
173 uint8* dst_bgra,
int dst_stride_bgra,
181 uint8* dst_abgr,
int dst_stride_abgr,
189 uint8* dst_rgba,
int dst_stride_rgba,
193 #define RGB24ToRAW RAWToRGB24 197 uint8* dst_rgb24,
int dst_stride_rgb24,
206 int value_y,
int value_u,
int value_v);
216 uint8* dst_argb,
int dst_stride_argb,
237 uint8* dst_argb,
int dst_stride_argb,
238 const int8* matrix_argb,
249 const int8* matrix_rgb,
256 const uint8* table_argb,
263 const uint8* table_argb,
271 uint8* dst_argb,
int dst_stride_argb,
272 const uint8* luma_rgb_table,
285 uint8* dst_argb,
int dst_stride_argb,
303 int scale,
int interval_size,
int interval_offset,
309 uint8* dst_argb,
int dst_stride_argb,
315 uint8* dst_argb,
int dst_stride_argb,
321 uint8* dst_a,
int dst_stride_a,
327 uint8* dst_argb,
int dst_stride_argb,
342 const uint8* src_argb1,
int src_stride_argb1,
343 uint8* dst_argb,
int dst_stride_argb,
350 const uint8* src_y1,
int src_stride_y1,
360 const uint8* src_u0,
int src_stride_u0,
361 const uint8* src_v0,
int src_stride_v0,
362 const uint8* src_y1,
int src_stride_y1,
363 const uint8* src_u1,
int src_stride_u1,
364 const uint8* src_v1,
int src_stride_v1,
374 const uint8* src_argb1,
int src_stride_argb1,
375 uint8* dst_argb,
int dst_stride_argb,
380 int ARGBAdd(
const uint8* src_argb0,
int src_stride_argb0,
381 const uint8* src_argb1,
int src_stride_argb1,
382 uint8* dst_argb,
int dst_stride_argb,
388 const uint8* src_argb1,
int src_stride_argb1,
389 uint8* dst_argb,
int dst_stride_argb,
397 uint8* dst_frame,
int dst_stride_frame,
405 uint8* dst_frame,
int dst_stride_frame,
411 uint8* dst_argb,
int dst_stride_argb,
417 uint8* dst_argb,
int dst_stride_argb,
425 int32* dst_cumsum,
int dst_stride32_cumsum,
436 uint8* dst_argb,
int dst_stride_argb,
437 int32* dst_cumsum,
int dst_stride32_cumsum,
443 uint8* dst_argb,
int dst_stride_argb,
452 const uint8* src1,
int src_stride1,
460 const uint8* src_argb1,
int src_stride_argb1,
461 uint8* dst_argb,
int dst_stride_argb,
469 const uint8* src0_u,
int src0_stride_u,
470 const uint8* src0_v,
int src0_stride_v,
471 const uint8* src1_y,
int src1_stride_y,
472 const uint8* src1_u,
int src1_stride_u,
473 const uint8* src1_v,
int src1_stride_v,
479 #if defined(__pnacl__) || defined(__CLR_VER) || \ 480 (defined(__i386__) && !defined(__SSE2__)) 481 #define LIBYUV_DISABLE_X86 484 #if defined(__has_feature) 485 #if __has_feature(memory_sanitizer) 486 #define LIBYUV_DISABLE_X86 490 #if !defined(LIBYUV_DISABLE_X86) && \ 491 (defined(_M_IX86) || defined(__x86_64__) || defined(__i386__)) 492 #define HAS_ARGBAFFINEROW_SSE2 499 uint8* dst_argb,
const float* uv_dudv,
int width);
502 uint8* dst_argb,
const float* uv_dudv,
int width);
508 uint8* dst_argb,
int dst_stride_argb,
520 uint8* dst_argb,
int dst_stride_argb,
526 uint8* dst_argb,
int dst_stride_argb,
534 #endif // INCLUDE_LIBYUV_PLANAR_FUNCTIONS_H_ LIBYUV_API int ARGBSepia(uint8 *dst_argb, int dst_stride_argb, int x, int y, int width, int height)
Definition: planar_functions.cc:1713
LIBYUV_API int ARGBBlur(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int32 *dst_cumsum, int dst_stride32_cumsum, int width, int height, int radius)
Definition: planar_functions.cc:1962
LIBYUV_API int ARGBSobelXY(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:2465
LIBYUV_API int ARGBCopyYToAlpha(const uint8 *src_y, int src_stride_y, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:2745
LIBYUV_API int I400ToI400(const uint8 *src_y, int src_stride_y, uint8 *dst_y, int dst_stride_y, int width, int height)
Definition: planar_functions.cc:198
EGLSurface EGLint EGLint EGLint EGLint height
Definition: eglext.h:950
LIBYUV_API int ARGBAdd(const uint8 *src_argb0, int src_stride_argb0, const uint8 *src_argb1, int src_stride_argb1, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:1065
LIBYUV_API int I420Interpolate(const uint8 *src0_y, int src0_stride_y, const uint8 *src0_u, int src0_stride_u, const uint8 *src0_v, int src0_stride_v, const uint8 *src1_y, int src1_stride_y, const uint8 *src1_u, int src1_stride_u, const uint8 *src1_v, int src1_stride_v, uint8 *dst_y, int dst_stride_y, uint8 *dst_u, int dst_stride_u, uint8 *dst_v, int dst_stride_v, int width, int height, int interpolation)
Definition: planar_functions.cc:2190
uint8_t * dst_v
Definition: peerconnection_jni.cc:2274
LIBYUV_API int I400Mirror(const uint8 *src_y, int src_stride_y, uint8 *dst_y, int dst_stride_y, int width, int height)
Definition: planar_functions.cc:660
jobject jint jint jint jobject jint dst_stride
Definition: peerconnection_jni.cc:2184
LIBYUV_API int ARGBSubtract(const uint8 *src_argb0, int src_stride_argb0, const uint8 *src_argb1, int src_stride_argb1, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:1131
LIBYUV_API int BlendPlane(const uint8 *src_y0, int src_stride_y0, const uint8 *src_y1, int src_stride_y1, const uint8 *alpha, int alpha_stride, uint8 *dst_y, int dst_stride_y, int width, int height)
Definition: planar_functions.cc:831
LIBYUV_API int RAWToRGB24(const uint8 *src_raw, int src_stride_raw, uint8 *dst_rgb24, int dst_stride_rgb24, int width, int height)
Definition: planar_functions.cc:1347
LIBYUV_API int ARGBSobel(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:2410
LIBYUV_API int HalfFloatPlane(const uint16 *src_y, int src_stride_y, uint16 *dst_y, int dst_stride_y, float scale, int width, int height)
Definition: planar_functions.cc:2539
EGLSurface EGLint EGLint EGLint width
Definition: eglext.h:950
LIBYUV_API int ARGBSobelToPlane(const uint8 *src_argb, int src_stride_argb, uint8 *dst_y, int dst_stride_y, int width, int height)
Definition: planar_functions.cc:2437
LIBYUV_API void ARGBAffineRow_C(const uint8 *src_argb, int src_argb_stride, uint8 *dst_argb, const float *uv_dudv, int width)
Definition: row_common.cc:2054
LIBYUV_API int RGBColorTable(uint8 *dst_argb, int dst_stride_argb, const uint8 *table_argb, int x, int y, int width, int height)
Definition: planar_functions.cc:1856
uint8_t * dst_y
Definition: peerconnection_jni.cc:2270
signed char int8
Definition: basic_types.h:63
unsigned char uint8
Definition: basic_types.h:62
LIBYUV_API int YUY2ToI422(const uint8 *src_yuy2, int src_stride_yuy2, uint8 *dst_y, int dst_stride_y, uint8 *dst_u, int dst_stride_u, uint8 *dst_v, int dst_stride_v, int width, int height)
Definition: planar_functions.cc:425
LIBYUV_API void SetPlane(uint8 *dst_y, int dst_stride_y, int width, int height, uint32 value)
Definition: planar_functions.cc:1396
LIBYUV_API void MergeUVPlane(const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_uv, int dst_stride_uv, int width, int height)
Definition: planar_functions.cc:306
LIBYUV_API int I420Blend(const uint8 *src_y0, int src_stride_y0, const uint8 *src_u0, int src_stride_u0, const uint8 *src_v0, int src_stride_v0, const uint8 *src_y1, int src_stride_y1, const uint8 *src_u1, int src_stride_u1, const uint8 *src_v1, int src_stride_v1, const uint8 *alpha, int alpha_stride, uint8 *dst_y, int dst_stride_y, uint8 *dst_u, int dst_stride_u, uint8 *dst_v, int dst_stride_v, int width, int height)
Definition: planar_functions.cc:889
LIBYUV_API int ARGBCopy(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: convert_argb.cc:29
LIBYUV_API int UYVYToI422(const uint8 *src_uyvy, int src_stride_uyvy, uint8 *dst_y, int dst_stride_y, uint8 *dst_u, int dst_stride_u, uint8 *dst_v, int dst_stride_v, int width, int height)
Definition: planar_functions.cc:510
LIBYUV_API int ARGBMirror(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:715
LIBYUV_API int ARGBColorTable(uint8 *dst_argb, int dst_stride_argb, const uint8 *table_argb, int x, int y, int width, int height)
Definition: planar_functions.cc:1824
LIBYUV_API int ARGBPolynomial(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, const float *poly, int width, int height)
Definition: planar_functions.cc:2492
void
Definition: AVFoundationCFSoftLinking.h:81
GLenum GLenum dst
Definition: gl2ext.h:304
LIBYUV_API int YUY2ToNV12(const uint8 *src_yuy2, int src_stride_yuy2, uint8 *dst_y, int dst_stride_y, uint8 *dst_uv, int dst_stride_uv, int width, int height)
Definition: planar_functions.cc:2797
LIBYUV_API int ARGBLumaColorTable(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, const uint8 *luma_rgb_table, int width, int height)
Definition: planar_functions.cc:2607
LIBYUV_API int ARGBExtractAlpha(const uint8 *src_argb, int src_stride_argb, uint8 *dst_a, int dst_stride_a, int width, int height)
Definition: planar_functions.cc:2696
LIBYUV_API void CopyPlane_16(const uint16 *src_y, int src_stride_y, uint16 *dst_y, int dst_stride_y, int width, int height)
Definition: planar_functions.cc:88
EGLSurface EGLint x
Definition: eglext.h:950
LIBYUV_API int I422ToUYVY(const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_frame, int dst_stride_frame, int width, int height)
Definition: convert_from.cc:243
LIBYUV_API int I444Copy(const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_y, int dst_stride_y, uint8 *dst_u, int dst_stride_u, uint8 *dst_v, int dst_stride_v, int width, int height)
Definition: planar_functions.cc:165
uint8_t * src_u
Definition: peerconnection_jni.cc:2263
LIBYUV_API int I422ToBGRA(const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_bgra, int dst_stride_bgra, int width, int height)
Definition: planar_functions.cc:1274
EGLAttrib * value
Definition: eglext.h:120
LIBYUV_API int ARGBComputeCumulativeSum(const uint8 *src_argb, int src_stride_argb, int32 *dst_cumsum, int dst_stride32_cumsum, int width, int height)
Definition: planar_functions.cc:1932
void(* ARGBBlendRow)(const uint8 *src_argb0, const uint8 *src_argb1, uint8 *dst_argb, int width)
Definition: planar_functions.h:330
LIBYUV_API int I420Mirror(const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_y, int dst_stride_y, uint8 *dst_u, int dst_stride_u, uint8 *dst_v, int dst_stride_v, int width, int height)
Definition: planar_functions.cc:680
LIBYUV_API int YUY2ToY(const uint8 *src_yuy2, int src_stride_yuy2, uint8 *dst_y, int dst_stride_y, int width, int height)
Definition: planar_functions.cc:595
LIBYUV_API int ARGBCopyAlpha(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:2647
LIBYUV_API int ARGBShade(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int width, int height, uint32 value)
Definition: planar_functions.cc:2066
uint8_t * src_y
Definition: peerconnection_jni.cc:2261
LIBYUV_API int ARGBRect(uint8 *dst_argb, int dst_stride_argb, int x, int y, int width, int height, uint32 value)
Definition: planar_functions.cc:1471
LIBYUV_API int ARGBAttenuate(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:1531
EGLSurface EGLint EGLint y
Definition: eglext.h:950
LIBYUV_API int NV12ToRGB565(const uint8 *src_y, int src_stride_y, const uint8 *src_uv, int src_stride_uv, uint8 *dst_rgb565, int dst_stride_rgb565, int width, int height)
Definition: planar_functions.cc:1289
LIBYUV_API int ARGBInterpolate(const uint8 *src_argb0, int src_stride_argb0, const uint8 *src_argb1, int src_stride_argb1, uint8 *dst_argb, int dst_stride_argb, int width, int height, int interpolation)
Definition: planar_functions.cc:2178
GLfloat GLfloat GLfloat alpha
Definition: gl2.h:388
LIBYUV_API int ARGBUnattenuate(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:1587
size_t dst_stride_v
Definition: peerconnection_jni.cc:2275
Definition: basictypes_test.cc:14
LIBYUV_API int InterpolatePlane(const uint8 *src0, int src_stride0, const uint8 *src1, int src_stride1, uint8 *dst, int dst_stride, int width, int height, int interpolation)
Definition: planar_functions.cc:2108
#define LIBYUV_API
Definition: basic_types.h:102
size_t dst_stride_u
Definition: peerconnection_jni.cc:2273
LIBYUV_API int RGBColorMatrix(uint8 *dst_argb, int dst_stride_argb, const int8 *matrix_rgb, int x, int y, int width, int height)
Definition: planar_functions.cc:1790
LIBYUV_API int I420Rect(uint8 *dst_y, int dst_stride_y, uint8 *dst_u, int dst_stride_u, uint8 *dst_v, int dst_stride_v, int x, int y, int width, int height, int value_y, int value_u, int value_v)
Definition: planar_functions.cc:1443
unsigned short uint16
Definition: basic_types.h:60
LIBYUV_API void CopyPlane(const uint8 *src_y, int src_stride_y, uint8 *dst_y, int dst_stride_y, int width, int height)
Definition: planar_functions.cc:29
LIBYUV_API int I422ToYUY2(const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_frame, int dst_stride_frame, int width, int height)
Definition: convert_from.cc:127
LIBYUV_API void SplitUVPlane(const uint8 *src_uv, int src_stride_uv, uint8 *dst_u, int dst_stride_u, uint8 *dst_v, int dst_stride_v, int width, int height)
Definition: planar_functions.cc:238
uint8_t * dst_u
Definition: peerconnection_jni.cc:2272
LIBYUV_API int I422ToRGBA(const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_rgba, int dst_stride_rgba, int width, int height)
Definition: planar_functions.cc:1259
LIBYUV_API int UYVYToNV12(const uint8 *src_uyvy, int src_stride_uyvy, uint8 *dst_y, int dst_stride_y, uint8 *dst_uv, int dst_stride_uv, int width, int height)
Definition: planar_functions.cc:2895
LIBYUV_API int ARGBColorMatrix(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, const int8 *matrix_argb, int width, int height)
Definition: planar_functions.cc:1747
uint32_t uint32
Definition: angle_config.h:28
LIBYUV_API int I420ToI400(const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_y, int dst_stride_y, int width, int height)
Definition: planar_functions.cc:216
size_t dst_stride_y
Definition: peerconnection_jni.cc:2271
LIBYUV_API int ARGBShuffle(const uint8 *src_bgra, int src_stride_bgra, uint8 *dst_argb, int dst_stride_argb, const uint8 *shuffler, int width, int height)
Definition: planar_functions.cc:2225
LIBYUV_API int ARGBGrayTo(const uint8 *src_argb, int src_stride_argb, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:1636
LIBYUV_API void ARGBAffineRow_SSE2(const uint8 *src_argb, int src_argb_stride, uint8 *dst_argb, const float *uv_dudv, int width)
LIBYUV_API ARGBBlendRow GetARGBBlend()
Definition: planar_functions.cc:776
uint8_t * src_v
Definition: peerconnection_jni.cc:2265
LIBYUV_API int I422ToABGR(const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_abgr, int dst_stride_abgr, int width, int height)
Definition: convert_argb.cc:303
LIBYUV_API int ARGBGray(uint8 *dst_argb, int dst_stride_argb, int x, int y, int width, int height)
Definition: planar_functions.cc:1678
LIBYUV_API int ARGBMultiply(const uint8 *src_argb0, int src_stride_argb0, const uint8 *src_argb1, int src_stride_argb1, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:1004
LIBYUV_API int I422Copy(const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint8 *dst_y, int dst_stride_y, uint8 *dst_u, int dst_stride_u, uint8 *dst_v, int dst_stride_v, int width, int height)
Definition: planar_functions.cc:131
LIBYUV_API int ARGBQuantize(uint8 *dst_argb, int dst_stride_argb, int scale, int interval_size, int interval_offset, int x, int y, int width, int height)
Definition: planar_functions.cc:1895
int32_t int32
Definition: angle_config.h:27
LIBYUV_API int ARGBBlend(const uint8 *src_argb0, int src_stride_argb0, const uint8 *src_argb1, int src_stride_argb1, uint8 *dst_argb, int dst_stride_argb, int width, int height)
Definition: planar_functions.cc:795