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/avutil.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem_internal.h"
#include "libavutil/bswap.h"
#include "libavutil/pixdesc.h"
#include "libavutil/avassert.h"
#include "libavutil/avconfig.h"
#include "bayer_template.c"
Go to the source code of this file.
Macros | |
#define | output_pixel(p, v) (*p) = (v) |
#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 | 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 | planarToNv24Wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | nv24ToPlanarWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam[], int dstStride[]) |
static int | planarToP01xWrapper (SwsContext *c, const uint8_t *src8[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam8[], int dstStride[]) |
static int | planar8ToP01xleWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dstParam8[], 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 | bswap_16bpc (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | bswap_32bpc (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 void | gbraptopacked32 (const uint8_t *src[], int srcStride[], uint8_t *dst, int dstStride, int srcSliceH, int alpha_first, int width) |
static int | planarRgbaToRgbWrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
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_rgb48_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 | uint_y_to_float_y_wrapper (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
static int | float_y_to_uint_y_wrapper (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->convert_unscaled 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] |
#define output_pixel | ( | p, | |
v | |||
) | (*p) = (v) |
Definition at line 281 of file swscale_unscaled.c.
#define BAYER_GBRG |
Definition at line 1230 of file swscale_unscaled.c.
#define BAYER_8 |
Definition at line 1266 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_gbrg8_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_GBRG |
Definition at line 1230 of file swscale_unscaled.c.
#define BAYER_16LE |
Definition at line 1271 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_gbrg16le_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_GBRG |
Definition at line 1230 of file swscale_unscaled.c.
#define BAYER_16BE |
Definition at line 1276 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_gbrg16be_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_GRBG |
Definition at line 1245 of file swscale_unscaled.c.
#define BAYER_8 |
Definition at line 1266 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_grbg8_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_GRBG |
Definition at line 1245 of file swscale_unscaled.c.
#define BAYER_16LE |
Definition at line 1271 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_grbg16le_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_GRBG |
Definition at line 1245 of file swscale_unscaled.c.
#define BAYER_16BE |
Definition at line 1276 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_grbg16be_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_BGGR |
Definition at line 1260 of file swscale_unscaled.c.
#define BAYER_8 |
Definition at line 1266 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_bggr8_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_BGGR |
Definition at line 1260 of file swscale_unscaled.c.
#define BAYER_16LE |
Definition at line 1271 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_bggr16le_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_BGGR |
Definition at line 1260 of file swscale_unscaled.c.
#define BAYER_16BE |
Definition at line 1276 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_bggr16be_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_RGGB |
Definition at line 1275 of file swscale_unscaled.c.
#define BAYER_8 |
Definition at line 1266 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_rggb8_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_RGGB |
Definition at line 1275 of file swscale_unscaled.c.
#define BAYER_16LE |
Definition at line 1271 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_rggb16le_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define BAYER_RGGB |
Definition at line 1275 of file swscale_unscaled.c.
#define BAYER_16BE |
Definition at line 1276 of file swscale_unscaled.c.
#define BAYER_RENAME | ( | x | ) | bayer_rggb16be_to_##x |
Definition at line 1277 of file swscale_unscaled.c.
#define CASE | ( | pixfmt, | |
prefix | |||
) |
#define CASE | ( | pixfmt, | |
prefix | |||
) |
#define CASE | ( | pixfmt, | |
prefix | |||
) |
#define isRGBA32 | ( | x | ) |
Definition at line 1433 of file swscale_unscaled.c.
#define isRGBA64 | ( | x | ) |
Definition at line 1440 of file swscale_unscaled.c.
#define isRGB48 | ( | x | ) |
Definition at line 1447 of file swscale_unscaled.c.
#define IS_NOT_NE | ( | bpp, | |
desc | |||
) |
#define DITHER_COPY | ( | dst, | |
dstStride, | |||
src, | |||
srcStride, | |||
bswap, | |||
dbswap | |||
) |
Definition at line 1741 of file swscale_unscaled.c.
#define COPY816 | ( | w | ) |
#define FAST_COPY_UP | ( | shift | ) |
#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) |
typedef void(* rgbConvFn) (const uint8_t *, uint8_t *, int) |
Definition at line 1455 of file swscale_unscaled.c.
|
static |
Definition at line 114 of file swscale_unscaled.c.
Referenced by bgr24ToYv12Wrapper(), planarCopyWrapper(), planarRgbToplanarRgbWrapper(), uyvyToYuv420Wrapper(), yuyvToYuv420Wrapper(), and yvu9ToYv12Wrapper().
|
static |
Definition at line 125 of file swscale_unscaled.c.
Referenced by nv12ToPlanarWrapper(), nv24ToPlanarWrapper(), planarRgbToplanarRgbWrapper(), planarToNv12Wrapper(), planarToNv24Wrapper(), and yvu9ToYv12Wrapper().
|
static |
Definition at line 142 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 162 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 183 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 203 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 284 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 326 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 338 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 350 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 362 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 374 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 391 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 405 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 422 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 436 of file swscale_unscaled.c.
Referenced by palToRgbWrapper().
|
static |
Definition at line 444 of file swscale_unscaled.c.
Referenced by palToRgbWrapper().
|
static |
Definition at line 453 of file swscale_unscaled.c.
Referenced by palToRgbWrapper().
|
static |
Definition at line 467 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 494 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 522 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 568 of file swscale_unscaled.c.
Referenced by Rgb16ToPlanarRgb16Wrapper().
|
static |
Definition at line 702 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 762 of file swscale_unscaled.c.
Referenced by planarRgb16ToRgb16Wrapper().
|
static |
Definition at line 881 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 941 of file swscale_unscaled.c.
Referenced by planarRgbaToRgbWrapper(), and planarRgbToRgbWrapper().
|
static |
Definition at line 959 of file swscale_unscaled.c.
Referenced by planarRgbToRgbWrapper().
|
static |
Definition at line 988 of file swscale_unscaled.c.
Referenced by planarRgbaToRgbWrapper().
|
static |
Definition at line 1017 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1073 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1129 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1146 of file swscale_unscaled.c.
Referenced by rgbToPlanarRgbWrapper().
|
static |
Definition at line 1175 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1280 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1329 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1378 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1456 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale(), and rgbToRgbWrapper().
|
static |
Definition at line 1579 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1640 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1657 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1673 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1693 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1714 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 1801 of file swscale_unscaled.c.
Referenced by ff_get_unscaled_swscale().
void ff_get_unscaled_swscale | ( | SwsContext * | c | ) |
Set c->convert_unscaled to an unscaled converter if one exists for the specific source and destination formats, bit depths, flags, etc.
Definition at line 1974 of file swscale_unscaled.c.
Referenced by sws_init_context().
|
static |
Definition at line 38 of file swscale_unscaled.c.
Referenced by ff_gradfun_filter_line_c().