FFmpeg
|
#include <inttypes.h>
#include <string.h>
#include <math.h>
#include <stdio.h>
#include "config.h"
#include "swscale.h"
#include "swscale_internal.h"
#include "rgb2rgb.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/cpu.h"
#include "libavutil/avutil.h"
#include "libavutil/mathematics.h"
#include "libavutil/bswap.h"
#include "libavutil/pixdesc.h"
#include "libavutil/avassert.h"
#include "bayer_template.c"
Go to the source code of this file.
Macros | |
#define | BAYER_GBRG |
#define | BAYER_8 |
#define | BAYER_RENAME(x) bayer_gbrg8_to_##x |
#define | BAYER_GBRG |
#define | BAYER_16LE |
#define | BAYER_RENAME(x) bayer_gbrg16le_to_##x |
#define | BAYER_GBRG |
#define | BAYER_16BE |
#define | BAYER_RENAME(x) bayer_gbrg16be_to_##x |
#define | BAYER_GRBG |
#define | BAYER_8 |
#define | BAYER_RENAME(x) bayer_grbg8_to_##x |
#define | BAYER_GRBG |
#define | BAYER_16LE |
#define | BAYER_RENAME(x) bayer_grbg16le_to_##x |
#define | BAYER_GRBG |
#define | BAYER_16BE |
#define | BAYER_RENAME(x) bayer_grbg16be_to_##x |
#define | BAYER_BGGR |
#define | BAYER_8 |
#define | BAYER_RENAME(x) bayer_bggr8_to_##x |
#define | BAYER_BGGR |
#define | BAYER_16LE |
#define | BAYER_RENAME(x) bayer_bggr16le_to_##x |
#define | BAYER_BGGR |
#define | BAYER_16BE |
#define | BAYER_RENAME(x) bayer_bggr16be_to_##x |
#define | BAYER_RGGB |
#define | BAYER_8 |
#define | BAYER_RENAME(x) bayer_rggb8_to_##x |
#define | BAYER_RGGB |
#define | BAYER_16LE |
#define | BAYER_RENAME(x) bayer_rggb16le_to_##x |
#define | BAYER_RGGB |
#define | BAYER_16BE |
#define | BAYER_RENAME(x) bayer_rggb16be_to_##x |
#define | CASE(pixfmt, prefix) |
#define | CASE(pixfmt, prefix) |
#define | isRGBA32(x) |
#define | isRGBA64(x) |
#define | isRGB48(x) |
#define | IS_NOT_NE(bpp, desc) |
#define | CONV_IS(src, dst) (srcFormat == AV_PIX_FMT_##src && dstFormat == AV_PIX_FMT_##dst) |
#define | DITHER_COPY(dst, dstStride, src, srcStride, bswap, dbswap) |
#define | COPY816(w) |
#define | FAST_COPY_UP(shift) |
#define | COPY_UP(r, w) |
#define | IS_DIFFERENT_ENDIANESS(src_fmt, dst_fmt, pix_fmt) |
#define | isByteRGB(f) |
#define | isPlanarGray(x) (isGray(x) && (x) != AV_PIX_FMT_YA8 && (x) != AV_PIX_FMT_YA16LE && (x) != AV_PIX_FMT_YA16BE) |
Typedefs | |
typedef void(* | rgbConvFn )(const uint8_t *, uint8_t *, int) |
Functions | |
static void | fillPlane (uint8_t *plane, int stride, int width, int height, int y, uint8_t val) |
static void | copyPlane (const uint8_t *src, int srcStride, int srcSliceY, int srcSliceH, int width, uint8_t *dst, int dstStride) |
static int | planarToNv12Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | nv12ToPlanarWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | planarToYuy2Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | planarToUyvyWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | yuv422pToYuy2Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | yuv422pToUyvyWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | yuyvToYuv420Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | yuyvToYuv422Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | uyvyToYuv420Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | uyvyToYuv422Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static void | gray8aToPacked32 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette) |
static void | gray8aToPacked32_1 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette) |
static void | gray8aToPacked24 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette) |
static int | packed_16bpc_bswap (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | palToRgbWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static void | packed16togbra16 (const uint8_t *src, int srcStride, uint16_t *dst[], int dstStride[], int srcSliceH, int src_alpha, int swap, int shift, int width) |
static int | Rgb16ToPlanarRgb16Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static void | gbr16ptopacked16 (const uint16_t *src[], int srcStride[], uint8_t *dst, int dstStride, int srcSliceH, int alpha, int swap, int bpp, int width) |
static int | planarRgb16ToRgb16Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static void | gbr24ptopacked24 (const uint8_t *src[], int srcStride[], uint8_t *dst, int dstStride, int srcSliceH, int width) |
static void | gbr24ptopacked32 (const uint8_t *src[], int srcStride[], uint8_t *dst, int dstStride, int srcSliceH, int alpha_first, int width) |
static int | planarRgbToRgbWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | planarRgbToplanarRgbWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static void | packedtogbr24p (const uint8_t *src, int srcStride, uint8_t *dst[], int dstStride[], int srcSliceH, int alpha_first, int inc_size, int width) |
static int | rgbToPlanarRgbWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | bayer_to_rgb24_wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | bayer_to_yv12_wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static rgbConvFn | findRgbConvFn (SwsContext *c) |
static int | rgbToRgbWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | bgr24ToYv12Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | yvu9ToYv12Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | packedCopyWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | planarCopyWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
void | ff_get_unscaled_swscale (SwsContext *c) |
Set c->swscale to an unscaled converter if one exists for the specific source and destination formats, bit depths, flags, etc. More... | |
void | sws_convertPalette8ToPacked32 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette) |
Convert an 8-bit paletted frame into a frame with a color depth of 32 bits. More... | |
void | sws_convertPalette8ToPacked24 (const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette) |
Convert an 8-bit paletted frame into a frame with a color depth of 24 bits. More... | |
Variables | |
static const uint8_t | dithers [8][8][8] |
static const uint16_t | dither_scale [15][16] |
#define BAYER_GBRG |
Definition at line 982 of file swscale_unscaled.c.
#define BAYER_8 |
Definition at line 1018 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_gbrg8_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_GBRG |
Definition at line 982 of file swscale_unscaled.c.
#define BAYER_16LE |
Definition at line 1023 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_gbrg16le_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_GBRG |
Definition at line 982 of file swscale_unscaled.c.
#define BAYER_16BE |
Definition at line 1028 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_gbrg16be_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_GRBG |
Definition at line 997 of file swscale_unscaled.c.
#define BAYER_8 |
Definition at line 1018 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_grbg8_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_GRBG |
Definition at line 997 of file swscale_unscaled.c.
#define BAYER_16LE |
Definition at line 1023 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_grbg16le_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_GRBG |
Definition at line 997 of file swscale_unscaled.c.
#define BAYER_16BE |
Definition at line 1028 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_grbg16be_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_BGGR |
Definition at line 1012 of file swscale_unscaled.c.
#define BAYER_8 |
Definition at line 1018 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_bggr8_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_BGGR |
Definition at line 1012 of file swscale_unscaled.c.
#define BAYER_16LE |
Definition at line 1023 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_bggr16le_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_BGGR |
Definition at line 1012 of file swscale_unscaled.c.
#define BAYER_16BE |
Definition at line 1028 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_bggr16be_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_RGGB |
Definition at line 1027 of file swscale_unscaled.c.
#define BAYER_8 |
Definition at line 1018 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_rggb8_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_RGGB |
Definition at line 1027 of file swscale_unscaled.c.
#define BAYER_16LE |
Definition at line 1023 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_rggb16le_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define BAYER_RGGB |
Definition at line 1027 of file swscale_unscaled.c.
#define BAYER_16BE |
Definition at line 1028 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_rggb16be_to_##x |
Definition at line 1029 of file swscale_unscaled.c.
#define CASE | ( | pixfmt, | |
prefix | |||
) |
Referenced by bayer_to_rgb24_wrapper(), and bayer_to_yv12_wrapper().
#define CASE | ( | pixfmt, | |
prefix | |||
) |
#define isRGBA32 | ( | x | ) |
Definition at line 1136 of file swscale_unscaled.c.
Referenced by findRgbConvFn(), and rgbToRgbWrapper().
#define isRGBA64 | ( | x | ) |
Definition at line 1143 of file swscale_unscaled.c.
Referenced by findRgbConvFn().
#define isRGB48 | ( | x | ) |
Definition at line 1150 of file swscale_unscaled.c.
Referenced by findRgbConvFn().
#define IS_NOT_NE | ( | bpp, | |
desc | |||
) |
Referenced by rgbToRgbWrapper().
Referenced by findRgbConvFn().
#define DITHER_COPY | ( | dst, | |
dstStride, | |||
src, | |||
srcStride, | |||
bswap, | |||
dbswap | |||
) |
Definition at line 1387 of file swscale_unscaled.c.
Referenced by planarCopyWrapper().
#define COPY816 | ( | w | ) |
Referenced by planarCopyWrapper().
#define FAST_COPY_UP | ( | shift | ) |
Referenced by planarCopyWrapper().
#define COPY_UP | ( | r, | |
w | |||
) |
Referenced by planarCopyWrapper().
#define IS_DIFFERENT_ENDIANESS | ( | src_fmt, | |
dst_fmt, | |||
pix_fmt | |||
) |
#define isByteRGB | ( | f | ) |
Referenced by ff_get_unscaled_swscale().
#define isPlanarGray | ( | x | ) | (isGray(x) && (x) != AV_PIX_FMT_YA8 && (x) != AV_PIX_FMT_YA16LE && (x) != AV_PIX_FMT_YA16BE) |
Referenced by ff_get_unscaled_swscale().
Definition at line 1158 of file swscale_unscaled.c.
|
static |
Definition at line 131 of file swscale_unscaled.c.
Referenced by bgr24ToYv12Wrapper(), planarCopyWrapper(), planarRgbToplanarRgbWrapper(), uyvyToYuv420Wrapper(), yuyvToYuv420Wrapper(), and yvu9ToYv12Wrapper().
|
static |
Definition at line 142 of file swscale_unscaled.c.
Referenced by nv12ToPlanarWrapper(), planarRgbToplanarRgbWrapper(), planarToNv12Wrapper(), and yvu9ToYv12Wrapper().
|
static |
Definition at line 159 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 179 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 200 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 212 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 224 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 236 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 248 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 265 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 279 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 296 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 310 of file swscale_unscaled.c.
Referenced by palToRgbWrapper().
|
static |
Definition at line 318 of file swscale_unscaled.c.
Referenced by palToRgbWrapper().
|
static |
Definition at line 327 of file swscale_unscaled.c.
Referenced by palToRgbWrapper().
|
static |
Definition at line 341 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 367 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 413 of file swscale_unscaled.c.
Referenced by Rgb16ToPlanarRgb16Wrapper().
|
static |
Definition at line 547 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 599 of file swscale_unscaled.c.
Referenced by planarRgb16ToRgb16Wrapper().
|
static |
Definition at line 718 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 778 of file swscale_unscaled.c.
Referenced by planarRgbToRgbWrapper().
|
static |
Definition at line 796 of file swscale_unscaled.c.
Referenced by planarRgbToRgbWrapper().
|
static |
Definition at line 825 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 881 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 898 of file swscale_unscaled.c.
Referenced by rgbToPlanarRgbWrapper().
|
static |
Definition at line 927 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1032 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1081 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1159 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale(), and rgbToRgbWrapper().
|
static |
Definition at line 1265 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1326 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1343 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1360 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1408 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
void ff_get_unscaled_swscale | ( | SwsContext * | c | ) |
Set c->swscale to an unscaled converter if one exists for the specific source and destination formats, bit depths, flags, etc.
Definition at line 1575 of file swscale_unscaled.c.
Referenced by sws_init_context().
|
static |
Definition at line 37 of file swscale_unscaled.c.
|
static |
Definition at line 112 of file swscale_unscaled.c.