FFmpeg
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <assert.h>
#include "config.h"
#include "libswscale/rgb2rgb.h"
#include "libswscale/swscale.h"
#include "libswscale/swscale_internal.h"
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/pixdesc.h"
#include "yuv2rgb_altivec.h"
Go to the source code of this file.
Macros | |
#define | vec_merge3(x2, x1, x0, y0, y1, y2) |
#define | vec_mstbgr24(x0, x1, x2, ptr) |
#define | vec_mstrgb24(x0, x1, x2, ptr) |
#define | vec_mstrgb32(T, x0, x1, x2, x3, ptr) |
#define | vec_unh(x) |
#define | vec_unl(x) |
#define | vec_clip_s16(x) |
#define | vec_packclp(x, y) |
#define | DEFCSP420_CVT(name, out_pixels) |
#define | out_abgr(a, b, c, ptr) vec_mstrgb32(__typeof__(a), ((__typeof__(a)) { 255 }), c, b, a, ptr) |
#define | out_bgra(a, b, c, ptr) vec_mstrgb32(__typeof__(a), c, b, a, ((__typeof__(a)) { 255 }), ptr) |
#define | out_rgba(a, b, c, ptr) vec_mstrgb32(__typeof__(a), a, b, c, ((__typeof__(a)) { 255 }), ptr) |
#define | out_argb(a, b, c, ptr) vec_mstrgb32(__typeof__(a), ((__typeof__(a)) { 255 }), a, b, c, ptr) |
#define | out_rgb24(a, b, c, ptr) vec_mstrgb24(a, b, c, ptr) |
#define | out_bgr24(a, b, c, ptr) vec_mstbgr24(a, b, c, ptr) |
#define | YUV2PACKEDX_WRAPPER(suffix, pixfmt) |
Typedefs | |
typedef unsigned char | ubyte |
typedef signed char | sbyte |
Functions | |
static void | cvtyuvtoRGB (SwsContext *c, vector signed short Y, vector signed short U, vector signed short V, vector signed short *R, vector signed short *G, vector signed short *B) |
static int | altivec_uyvy_rgb32 (SwsContext *c, const unsigned char **in, int *instrides, int srcSliceY, int srcSliceH, unsigned char **oplanes, int *outstrides) |
av_cold SwsFunc | ff_yuv2rgb_init_altivec (SwsContext *c) |
av_cold void | ff_yuv2rgb_init_tables_altivec (SwsContext *c, const int inv_table[4], int brightness, int contrast, int saturation) |
static av_always_inline void | yuv2packedX_altivec (SwsContext *c, const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrc, const int16_t **chrVSrc, int chrFilterSize, const int16_t **alpSrc, uint8_t *dest, int dstW, int dstY, enum AVPixelFormat target) |
YUV2PACKEDX_WRAPPER (abgr, AV_PIX_FMT_ABGR) | |
YUV2PACKEDX_WRAPPER (bgra, AV_PIX_FMT_BGRA) | |
YUV2PACKEDX_WRAPPER (argb, AV_PIX_FMT_ARGB) | |
YUV2PACKEDX_WRAPPER (rgba, AV_PIX_FMT_RGBA) | |
YUV2PACKEDX_WRAPPER (rgb24, AV_PIX_FMT_RGB24) | |
YUV2PACKEDX_WRAPPER (bgr24, AV_PIX_FMT_BGR24) | |
Variables | |
static const vector unsigned char | perm_rgb_0 |
static const vector unsigned char | perm_rgb_1 |
static const vector unsigned char | perm_rgb_2 |
static const vector unsigned char | perm_rgb_3 |
static const vector unsigned char | demux_u |
static const vector unsigned char | demux_v |
static const vector unsigned char | demux_y |
#define vec_merge3 | ( | x2, | |
x1, | |||
x0, | |||
y0, | |||
y1, | |||
y2 | |||
) |
Definition at line 155 of file yuv2rgb_altivec.c.
#define vec_mstbgr24 | ( | x0, | |
x1, | |||
x2, | |||
ptr | |||
) |
Definition at line 166 of file yuv2rgb_altivec.c.
#define vec_mstrgb24 | ( | x0, | |
x1, | |||
x2, | |||
ptr | |||
) |
Definition at line 175 of file yuv2rgb_altivec.c.
#define vec_mstrgb32 | ( | T, | |
x0, | |||
x1, | |||
x2, | |||
x3, | |||
ptr | |||
) |
Definition at line 188 of file yuv2rgb_altivec.c.
#define vec_unh | ( | x | ) |
Definition at line 223 of file yuv2rgb_altivec.c.
#define vec_unl | ( | x | ) |
Definition at line 230 of file yuv2rgb_altivec.c.
#define vec_clip_s16 | ( | x | ) |
Definition at line 237 of file yuv2rgb_altivec.c.
Referenced by yuv2packedX_altivec().
#define vec_packclp | ( | x, | |
y | |||
) |
Definition at line 242 of file yuv2rgb_altivec.c.
Referenced by altivec_uyvy_rgb32(), and yuv2packedX_altivec().
#define DEFCSP420_CVT | ( | name, | |
out_pixels | |||
) |
Definition at line 281 of file yuv2rgb_altivec.c.
#define out_abgr | ( | a, | |
b, | |||
c, | |||
ptr | |||
) | vec_mstrgb32(__typeof__(a), ((__typeof__(a)) { 255 }), c, b, a, ptr) |
Definition at line 437 of file yuv2rgb_altivec.c.
Referenced by yuv2packedX_altivec().
#define out_bgra | ( | a, | |
b, | |||
c, | |||
ptr | |||
) | vec_mstrgb32(__typeof__(a), c, b, a, ((__typeof__(a)) { 255 }), ptr) |
Definition at line 439 of file yuv2rgb_altivec.c.
Referenced by yuv2packedX_altivec().
#define out_rgba | ( | a, | |
b, | |||
c, | |||
ptr | |||
) | vec_mstrgb32(__typeof__(a), a, b, c, ((__typeof__(a)) { 255 }), ptr) |
Definition at line 441 of file yuv2rgb_altivec.c.
Referenced by altivec_uyvy_rgb32(), and yuv2packedX_altivec().
#define out_argb | ( | a, | |
b, | |||
c, | |||
ptr | |||
) | vec_mstrgb32(__typeof__(a), ((__typeof__(a)) { 255 }), a, b, c, ptr) |
Definition at line 443 of file yuv2rgb_altivec.c.
Referenced by yuv2packedX_altivec().
Definition at line 445 of file yuv2rgb_altivec.c.
Referenced by yuv2packedX_altivec().
Definition at line 446 of file yuv2rgb_altivec.c.
Referenced by yuv2packedX_altivec().
#define YUV2PACKEDX_WRAPPER | ( | suffix, | |
pixfmt | |||
) |
Definition at line 829 of file yuv2rgb_altivec.c.
typedef unsigned char ubyte |
Definition at line 106 of file yuv2rgb_altivec.c.
typedef signed char sbyte |
Definition at line 107 of file yuv2rgb_altivec.c.
|
inlinestatic |
Definition at line 249 of file yuv2rgb_altivec.c.
Referenced by altivec_uyvy_rgb32(), and yuv2packedX_altivec().
|
static |
Definition at line 474 of file yuv2rgb_altivec.c.
Referenced by ff_yuv2rgb_init_altivec().
av_cold SwsFunc ff_yuv2rgb_init_altivec | ( | SwsContext * | c | ) |
Definition at line 533 of file yuv2rgb_altivec.c.
Referenced by ff_yuv2rgb_get_func_ptr().
av_cold void ff_yuv2rgb_init_tables_altivec | ( | SwsContext * | c, |
const int | inv_table[4], | ||
int | brightness, | ||
int | contrast, | ||
int | saturation | ||
) |
Definition at line 593 of file yuv2rgb_altivec.c.
Referenced by sws_setColorspaceDetails().
|
static |
Definition at line 621 of file yuv2rgb_altivec.c.
YUV2PACKEDX_WRAPPER | ( | abgr | , |
AV_PIX_FMT_ABGR | |||
) |
YUV2PACKEDX_WRAPPER | ( | bgra | , |
AV_PIX_FMT_BGRA | |||
) |
YUV2PACKEDX_WRAPPER | ( | argb | , |
AV_PIX_FMT_ARGB | |||
) |
YUV2PACKEDX_WRAPPER | ( | rgba | , |
AV_PIX_FMT_RGBA | |||
) |
YUV2PACKEDX_WRAPPER | ( | rgb24 | , |
AV_PIX_FMT_RGB24 | |||
) |
YUV2PACKEDX_WRAPPER | ( | bgr24 | , |
AV_PIX_FMT_BGR24 | |||
) |
|
static |
Definition at line 146 of file yuv2rgb_altivec.c.
|
static |
Definition at line 148 of file yuv2rgb_altivec.c.
|
static |
Definition at line 150 of file yuv2rgb_altivec.c.
|
static |
Definition at line 152 of file yuv2rgb_altivec.c.
|
static |
Definition at line 458 of file yuv2rgb_altivec.c.
Referenced by altivec_uyvy_rgb32().
|
static |
Definition at line 462 of file yuv2rgb_altivec.c.
Referenced by altivec_uyvy_rgb32().
|
static |
Definition at line 466 of file yuv2rgb_altivec.c.
Referenced by altivec_uyvy_rgb32().