FFmpeg  4.3
Macros | Typedefs | Functions | Variables
swscale_unscaled.c File Reference
#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 "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 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_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->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]
 

Macro Definition Documentation

◆ output_pixel

#define output_pixel (   p,
 
)    (*p) = (v)

Definition at line 281 of file swscale_unscaled.c.

◆ BAYER_GBRG [1/3]

#define BAYER_GBRG

Definition at line 1230 of file swscale_unscaled.c.

◆ BAYER_8 [1/4]

#define BAYER_8

Definition at line 1266 of file swscale_unscaled.c.

◆ BAYER_RENAME [1/12]

#define BAYER_RENAME (   x)    bayer_gbrg8_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_GBRG [2/3]

#define BAYER_GBRG

Definition at line 1230 of file swscale_unscaled.c.

◆ BAYER_16LE [1/4]

#define BAYER_16LE

Definition at line 1271 of file swscale_unscaled.c.

◆ BAYER_RENAME [2/12]

#define BAYER_RENAME (   x)    bayer_gbrg16le_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_GBRG [3/3]

#define BAYER_GBRG

Definition at line 1230 of file swscale_unscaled.c.

◆ BAYER_16BE [1/4]

#define BAYER_16BE

Definition at line 1276 of file swscale_unscaled.c.

◆ BAYER_RENAME [3/12]

#define BAYER_RENAME (   x)    bayer_gbrg16be_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_GRBG [1/3]

#define BAYER_GRBG

Definition at line 1245 of file swscale_unscaled.c.

◆ BAYER_8 [2/4]

#define BAYER_8

Definition at line 1266 of file swscale_unscaled.c.

◆ BAYER_RENAME [4/12]

#define BAYER_RENAME (   x)    bayer_grbg8_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_GRBG [2/3]

#define BAYER_GRBG

Definition at line 1245 of file swscale_unscaled.c.

◆ BAYER_16LE [2/4]

#define BAYER_16LE

Definition at line 1271 of file swscale_unscaled.c.

◆ BAYER_RENAME [5/12]

#define BAYER_RENAME (   x)    bayer_grbg16le_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_GRBG [3/3]

#define BAYER_GRBG

Definition at line 1245 of file swscale_unscaled.c.

◆ BAYER_16BE [2/4]

#define BAYER_16BE

Definition at line 1276 of file swscale_unscaled.c.

◆ BAYER_RENAME [6/12]

#define BAYER_RENAME (   x)    bayer_grbg16be_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_BGGR [1/3]

#define BAYER_BGGR

Definition at line 1260 of file swscale_unscaled.c.

◆ BAYER_8 [3/4]

#define BAYER_8

Definition at line 1266 of file swscale_unscaled.c.

◆ BAYER_RENAME [7/12]

#define BAYER_RENAME (   x)    bayer_bggr8_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_BGGR [2/3]

#define BAYER_BGGR

Definition at line 1260 of file swscale_unscaled.c.

◆ BAYER_16LE [3/4]

#define BAYER_16LE

Definition at line 1271 of file swscale_unscaled.c.

◆ BAYER_RENAME [8/12]

#define BAYER_RENAME (   x)    bayer_bggr16le_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_BGGR [3/3]

#define BAYER_BGGR

Definition at line 1260 of file swscale_unscaled.c.

◆ BAYER_16BE [3/4]

#define BAYER_16BE

Definition at line 1276 of file swscale_unscaled.c.

◆ BAYER_RENAME [9/12]

#define BAYER_RENAME (   x)    bayer_bggr16be_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_RGGB [1/3]

#define BAYER_RGGB

Definition at line 1275 of file swscale_unscaled.c.

◆ BAYER_8 [4/4]

#define BAYER_8

Definition at line 1266 of file swscale_unscaled.c.

◆ BAYER_RENAME [10/12]

#define BAYER_RENAME (   x)    bayer_rggb8_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_RGGB [2/3]

#define BAYER_RGGB

Definition at line 1275 of file swscale_unscaled.c.

◆ BAYER_16LE [4/4]

#define BAYER_16LE

Definition at line 1271 of file swscale_unscaled.c.

◆ BAYER_RENAME [11/12]

#define BAYER_RENAME (   x)    bayer_rggb16le_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ BAYER_RGGB [3/3]

#define BAYER_RGGB

Definition at line 1275 of file swscale_unscaled.c.

◆ BAYER_16BE [4/4]

#define BAYER_16BE

Definition at line 1276 of file swscale_unscaled.c.

◆ BAYER_RENAME [12/12]

#define BAYER_RENAME (   x)    bayer_rggb16be_to_##x

Definition at line 1277 of file swscale_unscaled.c.

◆ CASE [1/2]

#define CASE (   pixfmt,
  prefix 
)
Value:
case pixfmt: copy = bayer_##prefix##_to_rgb24_copy; \
interpolate = bayer_##prefix##_to_rgb24_interpolate; \
break;

◆ CASE [2/2]

#define CASE (   pixfmt,
  prefix 
)
Value:
case pixfmt: copy = bayer_##prefix##_to_yv12_copy; \
interpolate = bayer_##prefix##_to_yv12_interpolate; \
break;

◆ isRGBA32

#define isRGBA32 (   x)
Value:
( \
|| (x) == AV_PIX_FMT_RGBA \
|| (x) == AV_PIX_FMT_BGRA \
|| (x) == AV_PIX_FMT_ABGR \
)

Definition at line 1384 of file swscale_unscaled.c.

◆ isRGBA64

#define isRGBA64 (   x)
Value:

Definition at line 1391 of file swscale_unscaled.c.

◆ isRGB48

#define isRGB48 (   x)
Value:
( \
)

Definition at line 1398 of file swscale_unscaled.c.

◆ IS_NOT_NE

#define IS_NOT_NE (   bpp,
  desc 
)
Value:
(((bpp + 7) >> 3) == 2 && \

◆ CONV_IS

#define CONV_IS (   src,
  dst 
)    (srcFormat == AV_PIX_FMT_##src && dstFormat == AV_PIX_FMT_##dst)

◆ DITHER_COPY

#define DITHER_COPY (   dst,
  dstStride,
  src,
  srcStride,
  bswap,
  dbswap 
)

Definition at line 1692 of file swscale_unscaled.c.

◆ COPY816

#define COPY816 (   w)
Value:
if (shiftonly) {\
for (j = 0; j < length; j++)\
w(&dstPtr2[j], srcPtr[j]<<(dst_depth-8));\
} else {\
for (j = 0; j < length; j++)\
w(&dstPtr2[j], (srcPtr[j]<<(dst_depth-8)) |\
(srcPtr[j]>>(2*8-dst_depth)));\
}

◆ FAST_COPY_UP

#define FAST_COPY_UP (   shift)
Value:
for (; j < length - 1; j += 2) { \
uint32_t v = AV_RN32A(srcPtr2 + j); \
AV_WN32A(dstPtr2 + j, v << shift); \
}

◆ COPY_UP

#define COPY_UP (   r,
  w 
)
Value:
if(shiftonly){\
for (; j < length; j++){ \
unsigned int v= r(&srcPtr2[j]);\
w(&dstPtr2[j], v<<(dst_depth-src_depth));\
}\
}else{\
for (; j < length; j++){ \
unsigned int v= r(&srcPtr2[j]);\
w(&dstPtr2[j], (v<<(dst_depth-src_depth)) | \
(v>>(2*src_depth-dst_depth)));\
}\
}

◆ IS_DIFFERENT_ENDIANESS

#define IS_DIFFERENT_ENDIANESS (   src_fmt,
  dst_fmt,
  pix_fmt 
)
Value:
((src_fmt == pix_fmt ## BE && dst_fmt == pix_fmt ## LE) || \
(src_fmt == pix_fmt ## LE && dst_fmt == pix_fmt ## BE))

Definition at line 1922 of file swscale_unscaled.c.

◆ isByteRGB

#define isByteRGB (   f)
Value:
( \
f == AV_PIX_FMT_RGB32 || \
f == AV_PIX_FMT_RGB24 || \
f == AV_PIX_FMT_BGR32 || \

◆ isPlanarGray

#define isPlanarGray (   x)    (isGray(x) && (x) != AV_PIX_FMT_YA8 && (x) != AV_PIX_FMT_YA16LE && (x) != AV_PIX_FMT_YA16BE)

Typedef Documentation

◆ rgbConvFn

typedef void(* rgbConvFn) (const uint8_t *, uint8_t *, int)

Definition at line 1406 of file swscale_unscaled.c.

Function Documentation

◆ fillPlane()

static void fillPlane ( uint8_t plane,
int  stride,
int  width,
int  height,
int  y,
uint8_t  val 
)
static

◆ copyPlane()

static void copyPlane ( const uint8_t src,
int  srcStride,
int  srcSliceY,
int  srcSliceH,
int  width,
uint8_t dst,
int  dstStride 
)
static

◆ planarToNv12Wrapper()

static int planarToNv12Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 142 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ nv12ToPlanarWrapper()

static int nv12ToPlanarWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 162 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ planarToNv24Wrapper()

static int planarToNv24Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 183 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ nv24ToPlanarWrapper()

static int nv24ToPlanarWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 203 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ planarToP01xWrapper()

static int planarToP01xWrapper ( SwsContext c,
const uint8_t src8[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam8[],
int  dstStride[] 
)
static

Definition at line 224 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ planar8ToP01xleWrapper()

static int planar8ToP01xleWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam8[],
int  dstStride[] 
)
static

Definition at line 284 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ planarToYuy2Wrapper()

static int planarToYuy2Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 326 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ planarToUyvyWrapper()

static int planarToUyvyWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 338 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ yuv422pToYuy2Wrapper()

static int yuv422pToYuy2Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 350 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ yuv422pToUyvyWrapper()

static int yuv422pToUyvyWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 362 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ yuyvToYuv420Wrapper()

static int yuyvToYuv420Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 374 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ yuyvToYuv422Wrapper()

static int yuyvToYuv422Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 391 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ uyvyToYuv420Wrapper()

static int uyvyToYuv420Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 405 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ uyvyToYuv422Wrapper()

static int uyvyToYuv422Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dstParam[],
int  dstStride[] 
)
static

Definition at line 422 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ gray8aToPacked32()

static void gray8aToPacked32 ( const uint8_t src,
uint8_t dst,
int  num_pixels,
const uint8_t palette 
)
static

Definition at line 436 of file swscale_unscaled.c.

Referenced by palToRgbWrapper().

◆ gray8aToPacked32_1()

static void gray8aToPacked32_1 ( const uint8_t src,
uint8_t dst,
int  num_pixels,
const uint8_t palette 
)
static

Definition at line 444 of file swscale_unscaled.c.

Referenced by palToRgbWrapper().

◆ gray8aToPacked24()

static void gray8aToPacked24 ( const uint8_t src,
uint8_t dst,
int  num_pixels,
const uint8_t palette 
)
static

Definition at line 453 of file swscale_unscaled.c.

Referenced by palToRgbWrapper().

◆ bswap_16bpc()

static int bswap_16bpc ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 467 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ bswap_32bpc()

static int bswap_32bpc ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 494 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ palToRgbWrapper()

static int palToRgbWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 522 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ packed16togbra16()

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

Definition at line 568 of file swscale_unscaled.c.

Referenced by Rgb16ToPlanarRgb16Wrapper().

◆ Rgb16ToPlanarRgb16Wrapper()

static int Rgb16ToPlanarRgb16Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 702 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ gbr16ptopacked16()

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

Definition at line 762 of file swscale_unscaled.c.

Referenced by planarRgb16ToRgb16Wrapper().

◆ planarRgb16ToRgb16Wrapper()

static int planarRgb16ToRgb16Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 881 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ gbr24ptopacked24()

static void gbr24ptopacked24 ( const uint8_t src[],
int  srcStride[],
uint8_t dst,
int  dstStride,
int  srcSliceH,
int  width 
)
static

Definition at line 941 of file swscale_unscaled.c.

Referenced by planarRgbaToRgbWrapper(), and planarRgbToRgbWrapper().

◆ gbr24ptopacked32()

static void gbr24ptopacked32 ( const uint8_t src[],
int  srcStride[],
uint8_t dst,
int  dstStride,
int  srcSliceH,
int  alpha_first,
int  width 
)
static

Definition at line 959 of file swscale_unscaled.c.

Referenced by planarRgbToRgbWrapper().

◆ gbraptopacked32()

static void gbraptopacked32 ( const uint8_t src[],
int  srcStride[],
uint8_t dst,
int  dstStride,
int  srcSliceH,
int  alpha_first,
int  width 
)
static

Definition at line 988 of file swscale_unscaled.c.

Referenced by planarRgbaToRgbWrapper().

◆ planarRgbaToRgbWrapper()

static int planarRgbaToRgbWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1017 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ planarRgbToRgbWrapper()

static int planarRgbToRgbWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1073 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ planarRgbToplanarRgbWrapper()

static int planarRgbToplanarRgbWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1129 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ packedtogbr24p()

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

Definition at line 1146 of file swscale_unscaled.c.

Referenced by rgbToPlanarRgbWrapper().

◆ rgbToPlanarRgbWrapper()

static int rgbToPlanarRgbWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1175 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ bayer_to_rgb24_wrapper()

static int bayer_to_rgb24_wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1280 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ bayer_to_yv12_wrapper()

static int bayer_to_yv12_wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1329 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ findRgbConvFn()

static rgbConvFn findRgbConvFn ( SwsContext c)
static

Definition at line 1407 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale(), and rgbToRgbWrapper().

◆ rgbToRgbWrapper()

static int rgbToRgbWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1530 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ bgr24ToYv12Wrapper()

static int bgr24ToYv12Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1591 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ yvu9ToYv12Wrapper()

static int yvu9ToYv12Wrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1608 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ uint_y_to_float_y_wrapper()

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

Definition at line 1624 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ float_y_to_uint_y_wrapper()

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

Definition at line 1644 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ packedCopyWrapper()

static int packedCopyWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1665 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ planarCopyWrapper()

static int planarCopyWrapper ( SwsContext c,
const uint8_t src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t dst[],
int  dstStride[] 
)
static

Definition at line 1752 of file swscale_unscaled.c.

Referenced by ff_get_unscaled_swscale().

◆ 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 1927 of file swscale_unscaled.c.

Referenced by sws_init_context().

Variable Documentation

◆ dithers

const uint8_t dithers[8][8][8]
static

Definition at line 38 of file swscale_unscaled.c.

Referenced by ff_gradfun_filter_line_c().

AV_PIX_FMT_BGR48LE
@ AV_PIX_FMT_BGR48LE
packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as lit...
Definition: pixfmt.h:149
AV_PIX_FMT_BGRA64BE
@ AV_PIX_FMT_BGRA64BE
packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is st...
Definition: pixfmt.h:207
AV_PIX_FMT_BGR32
#define AV_PIX_FMT_BGR32
Definition: pixfmt.h:372
AV_PIX_FMT_RGBA64BE
@ AV_PIX_FMT_RGBA64BE
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
Definition: pixfmt.h:205
AV_PIX_FMT_RGB32_1
#define AV_PIX_FMT_RGB32_1
Definition: pixfmt.h:371
AV_PIX_FMT_BGR24
@ AV_PIX_FMT_BGR24
packed RGB 8:8:8, 24bpp, BGRBGR...
Definition: pixfmt.h:69
AV_PIX_FMT_BGRA
@ AV_PIX_FMT_BGRA
packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
Definition: pixfmt.h:95
x
FFmpeg Automated Testing Environment ************************************Introduction Using FATE from your FFmpeg source directory Submitting the results to the FFmpeg result aggregation server Uploading new samples to the fate suite FATE makefile targets and variables Makefile targets Makefile variables Examples Introduction **************FATE is an extended regression suite on the client side and a means for results aggregation and presentation on the server side The first part of this document explains how you can use FATE from your FFmpeg source directory to test your ffmpeg binary The second part describes how you can run FATE to submit the results to FFmpeg’s FATE server In any way you can have a look at the publicly viewable FATE results by visiting this as it can be seen if some test on some platform broke with their recent contribution This usually happens on the platforms the developers could not test on The second part of this document describes how you can run FATE to submit your results to FFmpeg’s FATE server If you want to submit your results be sure to check that your combination of OS and compiler is not already listed on the above mentioned website In the third part you can find a comprehensive listing of FATE makefile targets and variables Using FATE from your FFmpeg source directory **********************************************If you want to run FATE on your machine you need to have the samples in place You can get the samples via the build target fate rsync Use this command from the top level source this will cause FATE to fail NOTE To use a custom wrapper to run the pass ‘ target exec’ to ‘configure’ or set the TARGET_EXEC Make variable Submitting the results to the FFmpeg result aggregation server ****************************************************************To submit your results to the server you should run fate through the shell script ‘tests fate sh’ from the FFmpeg sources This script needs to be invoked with a configuration file as its first argument tests fate sh path to fate_config A configuration file template with comments describing the individual configuration variables can be found at ‘doc fate_config sh template’ Create a configuration that suits your based on the configuration template The ‘slot’ configuration variable can be any string that is not yet but it is suggested that you name it adhering to the following pattern ‘ARCH OS COMPILER COMPILER VERSION’ The configuration file itself will be sourced in a shell therefore all shell features may be used This enables you to setup the environment as you need it for your build For your first test runs the ‘fate_recv’ variable should be empty or commented out This will run everything as normal except that it will omit the submission of the results to the server The following files should be present in $workdir as specified in the configuration it may help to try out the ‘ssh’ command with one or more ‘ v’ options You should get detailed output concerning your SSH configuration and the authentication process The only thing left is to automate the execution of the fate sh script and the synchronisation of the samples directory Uploading new samples to the fate suite *****************************************If you need a sample uploaded send a mail to samples request This is for developers who have an account on the fate suite server If you upload new please make sure they are as small as space on each network bandwidth and so on benefit from smaller test cases Also keep in mind older checkouts use existing sample that means in practice generally do not remove or overwrite files as it likely would break older checkouts or releases Also all needed samples for a commit should be ideally before the push If you need an account for frequently uploading samples or you wish to help others by doing that send a mail to ffmpeg devel rsync vauL Duo x
Definition: fate.txt:150
pix_fmt
static enum AVPixelFormat pix_fmt
Definition: demuxing_decoding.c:40
AV_PIX_FMT_BGR32_1
#define AV_PIX_FMT_BGR32_1
Definition: pixfmt.h:373
AV_PIX_FMT_RGBA
@ AV_PIX_FMT_RGBA
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
Definition: pixfmt.h:93
AV_PIX_FMT_RGB48LE
@ AV_PIX_FMT_RGB48LE
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as lit...
Definition: pixfmt.h:103
AV_PIX_FMT_RGBA64LE
@ AV_PIX_FMT_RGBA64LE
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
Definition: pixfmt.h:206
AV_PIX_FMT_ABGR
@ AV_PIX_FMT_ABGR
packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
Definition: pixfmt.h:94
desc
const char * desc
Definition: nvenc.c:79
AV_PIX_FMT_RGB24
@ AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition: pixfmt.h:68
copy
static void copy(const float *p1, float *p2, const int length)
Definition: vf_vaguedenoiser.c:194
HAVE_BIGENDIAN
#define HAVE_BIGENDIAN
Definition: config.h:199
AV_PIX_FMT_RGB32
#define AV_PIX_FMT_RGB32
Definition: pixfmt.h:370
r
#define r
Definition: input.c:40
AV_PIX_FMT_ARGB
@ AV_PIX_FMT_ARGB
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
Definition: pixfmt.h:92
AV_PIX_FMT_BGRA64LE
@ AV_PIX_FMT_BGRA64LE
packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is st...
Definition: pixfmt.h:208
AV_PIX_FMT_RGB48BE
@ AV_PIX_FMT_RGB48BE
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big...
Definition: pixfmt.h:102
AV_PIX_FMT_FLAG_BE
#define AV_PIX_FMT_FLAG_BE
Pixel format is big-endian.
Definition: pixdesc.h:128
AV_RN32A
#define AV_RN32A(p)
Definition: intreadwrite.h:526
pixfmt
enum AVPixelFormat pixfmt
Definition: kmsgrab.c:202
w
FFmpeg Automated Testing Environment ************************************Introduction Using FATE from your FFmpeg source directory Submitting the results to the FFmpeg result aggregation server Uploading new samples to the fate suite FATE makefile targets and variables Makefile targets Makefile variables Examples Introduction **************FATE is an extended regression suite on the client side and a means for results aggregation and presentation on the server side The first part of this document explains how you can use FATE from your FFmpeg source directory to test your ffmpeg binary The second part describes how you can run FATE to submit the results to FFmpeg’s FATE server In any way you can have a look at the publicly viewable FATE results by visiting this as it can be seen if some test on some platform broke with their recent contribution This usually happens on the platforms the developers could not test on The second part of this document describes how you can run FATE to submit your results to FFmpeg’s FATE server If you want to submit your results be sure to check that your combination of OS and compiler is not already listed on the above mentioned website In the third part you can find a comprehensive listing of FATE makefile targets and variables Using FATE from your FFmpeg source directory **********************************************If you want to run FATE on your machine you need to have the samples in place You can get the samples via the build target fate rsync Use this command from the top level source this will cause FATE to fail NOTE To use a custom wrapper to run the pass ‘ target exec’ to ‘configure’ or set the TARGET_EXEC Make variable Submitting the results to the FFmpeg result aggregation server ****************************************************************To submit your results to the server you should run fate through the shell script ‘tests fate sh’ from the FFmpeg sources This script needs to be invoked with a configuration file as its first argument tests fate sh path to fate_config A configuration file template with comments describing the individual configuration variables can be found at ‘doc fate_config sh template’ Create a configuration that suits your based on the configuration template The ‘slot’ configuration variable can be any string that is not yet but it is suggested that you name it adhering to the following pattern ‘ARCH OS COMPILER COMPILER VERSION’ The configuration file itself will be sourced in a shell therefore all shell features may be used This enables you to setup the environment as you need it for your build For your first test runs the ‘fate_recv’ variable should be empty or commented out This will run everything as normal except that it will omit the submission of the results to the server The following files should be present in $workdir as specified in the configuration it may help to try out the ‘ssh’ command with one or more ‘ v’ options You should get detailed output concerning your SSH configuration and the authentication process The only thing left is to automate the execution of the fate sh script and the synchronisation of the samples directory Uploading new samples to the fate suite *****************************************If you need a sample uploaded send a mail to samples request This is for developers who have an account on the fate suite server If you upload new please make sure they are as small as space on each network bandwidth and so on benefit from smaller test cases Also keep in mind older checkouts use existing sample that means in practice generally do not remove or overwrite files as it likely would break older checkouts or releases Also all needed samples for a commit should be ideally before the push If you need an account for frequently uploading samples or you wish to help others by doing that send a mail to ffmpeg devel rsync vauL Duo ug o o w
Definition: fate.txt:150
shift
static int shift(int a, int b)
Definition: sonic.c:82
AV_PIX_FMT_BGR48BE
@ AV_PIX_FMT_BGR48BE
packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big...
Definition: pixfmt.h:148