FFmpeg
Data Fields
SwsContext Struct Reference

#include <swscale_internal.h>

Data Fields

const AVClassav_class
  info on struct for av_log More...
 
  Note that src, dst, srcStride, dstStride will be copied in the sws_scale() wrapper so they can be freely modified here. More...
 
int  srcW
  Width of source luma/alpha planes. More...
 
int  srcH
  Height of source luma/alpha planes. More...
 
int  dstH
  Height of destination luma/alpha planes. More...
 
int  chrSrcW
  Width of source chroma planes. More...
 
int  chrSrcH
  Height of source chroma planes. More...
 
int  chrDstW
  Width of destination chroma planes. More...
 
int  chrDstH
  Height of destination chroma planes. More...
 
int  lumXInc
 
int  chrXInc
 
int  lumYInc
 
int  chrYInc
 
  Destination pixel format. More...
 
  Source pixel format. More...
 
int  dstFormatBpp
  Number of bits per pixel of the destination pixel format. More...
 
int  srcFormatBpp
  Number of bits per pixel of the source pixel format. More...
 
int  dstBpc
 
int  srcBpc
 
  Binary logarithm of horizontal subsampling factor between luma/alpha and chroma planes in source image. More...
 
  Binary logarithm of vertical subsampling factor between luma/alpha and chroma planes in source image. More...
 
  Binary logarithm of horizontal subsampling factor between luma/alpha and chroma planes in destination image. More...
 
  Binary logarithm of vertical subsampling factor between luma/alpha and chroma planes in destination image. More...
 
int  vChrDrop
  Binary logarithm of extra vertical subsampling factor in source image chroma planes specified by user. More...
 
int  sliceDir
  Direction that slices are fed to the scaler (1 = top-to-bottom, -1 = bottom-to-top). More...
 
double  param [2]
  Input parameters for scaling algorithms that need them. More...
 
 
 
 
 
 
double  gamma_value
 
int  gamma_flag
 
 
uint16_t *  gamma
 
uint16_t *  inv_gamma
 
uint32_t  pal_yuv [256]
 
uint32_t  pal_rgb [256]
 
 
  Runtime-generated MMXEXT horizontal fast bilinear scaler code size for luma/alpha planes. More...
 
  Runtime-generated MMXEXT horizontal fast bilinear scaler code size for chroma planes. More...
 
  Runtime-generated MMXEXT horizontal fast bilinear scaler code for luma/alpha planes. More...
 
  Runtime-generated MMXEXT horizontal fast bilinear scaler code for chroma planes. More...
 
 
int  dstY
  Last destination vertical line output from last slice. More...
 
int  flags
  Flags passed by the user to select scaler algorithm, optimizations, subsampling, etc... More...
 
 
 
 
 
 
 
int *  dither_error [4]
 
int  contrast
 
int  brightness
 
int  saturation
 
 
 
int  srcRange
  0 = MPG YUV range, 1 = JPG YUV range (source image). More...
 
int  dstRange
  0 = MPG YUV range, 1 = JPG YUV range (destination image). More...
 
int  src0Alpha
 
int  dst0Alpha
 
int  srcXYZ
 
int  dstXYZ
 
 
 
 
 
 
 
 
 
 
 
uint64_t  redDither
 
uint64_t  greenDither
 
uint64_t  blueDither
 
uint64_t  yCoeff
 
uint64_t  vrCoeff
 
uint64_t  ubCoeff
 
uint64_t  vgCoeff
 
uint64_t  ugCoeff
 
uint64_t  yOffset
 
uint64_t  uOffset
 
uint64_t  vOffset
 
 
 
int  dstW
  Width of destination luma/alpha planes. More...
 
uint64_t  esp
 
uint64_t  vRounder
 
uint64_t  u_temp
 
uint64_t  v_temp
 
uint64_t  y_temp
 
 
ptrdiff_t  uv_off
  offset (in pixels) between u and v planes More...
 
ptrdiff_t  uv_offx2
  offset (in bytes) between u and v planes More...
 
uint16_t  dither16 [8]
 
uint32_t  dither32 [8]
 
const uint8_tchrDither8
 
const uint8_tlumDither8
 
 
int16_t *  xyzgamma
 
int16_t *  rgbgamma
 
int16_t *  xyzgammainv
 
int16_t *  rgbgammainv
 
int16_t  xyz2rgb_matrix [3][4]
 
int16_t  rgb2xyz_matrix [3][4]
 
 
 
 
 
 
 
 
void(*  lumToYV12 )(uint8_t *dst, const uint8_t *src, const uint8_t *src2, const uint8_t *src3, int width, uint32_t *pal)
  Unscaled conversion of luma plane to YV12 for horizontal scaler. More...
 
void(*  alpToYV12 )(uint8_t *dst, const uint8_t *src, const uint8_t *src2, const uint8_t *src3, int width, uint32_t *pal)
  Unscaled conversion of alpha plane to YV12 for horizontal scaler. More...
 
void(*  chrToYV12 )(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, int width, uint32_t *pal)
  Unscaled conversion of chroma planes to YV12 for horizontal scaler. More...
 
void(*  lumConvertRange )(int16_t *dst, int width)
  Color range conversion function for luma plane if needed. More...
 
void(*  chrConvertRange )(int16_t *dst1, int16_t *dst2, int width)
  Color range conversion function for chroma planes if needed. More...
 
  Set if there are chroma planes to be converted. More...
 
 
Scaled horizontal lines ring buffer.

The horizontal scaler keeps just enough scaled lines in a ring buffer so they may be passed to the vertical scaler.

The pointers to the allocated buffers for each line are duplicated in sequence in the ring buffer to simplify indexing and avoid wrapping around between lines inside the vertical scaler code. The wrapping is done before the vertical scaler is called.

int16_t **  lumPixBuf
  Ring buffer for scaled horizontal luma plane lines to be fed to the vertical scaler. More...
 
int16_t **  chrUPixBuf
  Ring buffer for scaled horizontal chroma plane lines to be fed to the vertical scaler. More...
 
int16_t **  chrVPixBuf
  Ring buffer for scaled horizontal chroma plane lines to be fed to the vertical scaler. More...
 
int16_t **  alpPixBuf
  Ring buffer for scaled horizontal alpha plane lines to be fed to the vertical scaler. More...
 
int  vLumBufSize
  Number of vertical luma/alpha lines allocated in the ring buffer. More...
 
int  vChrBufSize
  Number of vertical chroma lines allocated in the ring buffer. More...
 
int  lastInLumBuf
  Last scaled horizontal luma/alpha line from source in the ring buffer. More...
 
int  lastInChrBuf
  Last scaled horizontal chroma line from source in the ring buffer. More...
 
int  lumBufIndex
  Index in ring buffer of the last scaled horizontal luma/alpha line from source. More...
 
int  chrBufIndex
  Index in ring buffer of the last scaled horizontal chroma line from source. More...
 
Horizontal and vertical filters.

To better understand the following fields, here is a pseudo-code of their usage in filtering a horizontal line:

for (i = 0; i < width; i++) {
dst[i] = 0;
for (j = 0; j < filterSize; j++)
dst[i] += src[ filterPos[i] + j ] * filter[ filterSize * i + j ];
dst[i] >>= FRAC_BITS; // The actual implementation is fixed-point.
}
int16_t *  hLumFilter
  Array of horizontal filter coefficients for luma/alpha planes. More...
 
int16_t *  hChrFilter
  Array of horizontal filter coefficients for chroma planes. More...
 
int16_t *  vLumFilter
  Array of vertical filter coefficients for luma/alpha planes. More...
 
int16_t *  vChrFilter
  Array of vertical filter coefficients for chroma planes. More...
 
  Array of horizontal filter starting positions for each dst[i] for luma/alpha planes. More...
 
  Array of horizontal filter starting positions for each dst[i] for chroma planes. More...
 
  Array of vertical filter starting positions for each dst[i] for luma/alpha planes. More...
 
  Array of vertical filter starting positions for each dst[i] for chroma planes. More...
 
  Horizontal filter size for luma/alpha pixels. More...
 
  Horizontal filter size for chroma pixels. More...
 
  Vertical filter size for luma/alpha pixels. More...
 
  Vertical filter size for chroma pixels. More...
 
void(*  readLumPlanar )(uint8_t *dst, const uint8_t *src[4], int width, int32_t *rgb2yuv)
  Functions to read planar input, such as planar RGB, and convert internally to Y/UV/A. More...
 
void(*  readChrPlanar )(uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], int width, int32_t *rgb2yuv)
 
void(*  readAlpPlanar )(uint8_t *dst, const uint8_t *src[4], int width, int32_t *rgb2yuv)
 
void(*  hyscale_fast )(struct SwsContext *c, int16_t *dst, int dstWidth, const uint8_t *src, int srcW, int xInc)
  Scale one horizontal line of input data using a bilinear filter to produce one line of output data. More...
 
void(*  hcscale_fast )(struct SwsContext *c, int16_t *dst1, int16_t *dst2, int dstWidth, const uint8_t *src1, const uint8_t *src2, int srcW, int xInc)
 
void(*  hyScale )(struct SwsContext *c, int16_t *dst, int dstW, const uint8_t *src, const int16_t *filter, const int32_t *filterPos, int filterSize)
  Scale one horizontal line of input data using a filter over the input lines, to produce one (differently sized) line of output data. More...
 
void(*  hcScale )(struct SwsContext *c, int16_t *dst, int dstW, const uint8_t *src, const int16_t *filter, const int32_t *filterPos, int filterSize)
 

Detailed Description

Examples:
muxing.c, and scaling_video.c.

Definition at line 273 of file swscale_internal.h.

Field Documentation

const AVClass* SwsContext::av_class

info on struct for av_log

Definition at line 277 of file swscale_internal.h.

Referenced by sws_alloc_context().

SwsFunc SwsContext::swscale

Note that src, dst, srcStride, dstStride will be copied in the sws_scale() wrapper so they can be freely modified here.

Definition at line 283 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), ff_get_unscaled_swscale_ppc(), get_unscaled_swscale_neon(), sws_init_context(), and sws_scale().

int SwsContext::srcW

Width of source luma/alpha planes.

Definition at line 284 of file swscale_internal.h.

Referenced by bayer_to_rgb24_wrapper(), bayer_to_yv12_wrapper(), bgr24ToYv12Wrapper(), doTest(), ff_get_unscaled_swscale_ppc(), ff_yuv2rgb_init_ppc(), get_unscaled_swscale_neon(), nv12ToPlanarWrapper(), packedCopyWrapper(), palToRgbWrapper(), planarCopyWrapper(), planarRgb16ToRgb16Wrapper(), planarRgbToplanarRgbWrapper(), planarRgbToRgbWrapper(), planarToNv12Wrapper(), planarToUyvyWrapper(), planarToYuy2Wrapper(), Rgb16ToPlanarRgb16Wrapper(), rgbToPlanarRgbWrapper(), rgbToRgbWrapper(), rgbx_to_nv12_neon_16_wrapper(), rgbx_to_nv12_neon_32_wrapper(), selfTest(), sws_getCachedContext(), sws_getContext(), sws_init_context(), sws_scale(), swscale(), uyvyToYuv420Wrapper(), uyvyToYuv422Wrapper(), yuv422pToUyvyWrapper(), yuv422pToYuy2Wrapper(), yuyvToYuv420Wrapper(), yuyvToYuv422Wrapper(), and yvu9ToYv12Wrapper().

int SwsContext::srcH

Height of source luma/alpha planes.

Definition at line 285 of file swscale_internal.h.

Referenced by doTest(), ff_yuv2rgb_init_ppc(), selfTest(), sws_getCachedContext(), sws_getContext(), sws_init_context(), sws_scale(), and swscale().

int SwsContext::dstH

Height of destination luma/alpha planes.

Definition at line 286 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), selfTest(), sws_getCachedContext(), sws_getContext(), sws_init_context(), sws_scale(), and swscale().

int SwsContext::chrSrcW

Width of source chroma planes.

Definition at line 287 of file swscale_internal.h.

Referenced by sws_init_context(), swscale(), and yvu9ToYv12Wrapper().

int SwsContext::chrSrcH

Height of source chroma planes.

Definition at line 288 of file swscale_internal.h.

Referenced by sws_init_context(), and swscale().

int SwsContext::chrDstW

Width of destination chroma planes.

Definition at line 289 of file swscale_internal.h.

Referenced by sws_init_context(), and swscale().

int SwsContext::chrDstH

Height of destination chroma planes.

Definition at line 290 of file swscale_internal.h.

Referenced by sws_init_context().

int SwsContext::lumXInc

Definition at line 291 of file swscale_internal.h.

Referenced by sws_init_context(), and swscale().

int SwsContext::chrXInc

Definition at line 291 of file swscale_internal.h.

Referenced by sws_init_context(), and swscale().

int SwsContext::lumYInc

Definition at line 292 of file swscale_internal.h.

Referenced by sws_init_context().

int SwsContext::chrYInc

Definition at line 292 of file swscale_internal.h.

Referenced by sws_init_context().

enum AVPixelFormat SwsContext::dstFormat

Destination pixel format.

Definition at line 293 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), ff_get_unscaled_swscale_ppc(), ff_sws_init_output_funcs(), ff_sws_init_range_convert(), ff_sws_init_swscale_ppc(), ff_sws_init_swscale_x86(), ff_yuv2rgb_c_init_tables(), ff_yuv2rgb_init_ppc(), ff_yuv2rgb_init_x86(), findRgbConvFn(), get_unscaled_swscale_neon(), handle_formats(), palToRgbWrapper(), planarCopyWrapper(), planarRgb16ToRgb16Wrapper(), planarRgbToRgbWrapper(), planarToNv12Wrapper(), Rgb16ToPlanarRgb16Wrapper(), rgb48Toxyz12(), rgbToPlanarRgbWrapper(), rgbToRgbWrapper(), selfTest(), sws_getCachedContext(), sws_getContext(), sws_init_context(), sws_init_swscale(), sws_init_swscale_TMPL(), sws_scale(), sws_setColorspaceDetails(), swscale(), and yuv2nv12cX_c().

enum AVPixelFormat SwsContext::srcFormat

Source pixel format.

Definition at line 294 of file swscale_internal.h.

Referenced by bayer_to_rgb24_wrapper(), bayer_to_yv12_wrapper(), doTest(), ff_get_unscaled_swscale(), ff_get_unscaled_swscale_ppc(), ff_sws_init_swscale_x86(), ff_yuv2rgb_c_init_tables(), ff_yuv2rgb_init_ppc(), ff_yuv2rgb_init_x86(), findRgbConvFn(), get_unscaled_swscale_neon(), handle_formats(), hScale16To15_c(), hScale16To19_c(), nv12ToPlanarWrapper(), palToRgbWrapper(), planarCopyWrapper(), planarRgb16ToRgb16Wrapper(), planarRgbToRgbWrapper(), Rgb16ToPlanarRgb16Wrapper(), rgbToPlanarRgbWrapper(), rgbToRgbWrapper(), selfTest(), sws_getCachedContext(), sws_getContext(), sws_init_context(), sws_init_swscale(), sws_scale(), sws_setColorspaceDetails(), swscale(), and xyz12Torgb48().

int SwsContext::dstFormatBpp

Number of bits per pixel of the destination pixel format.

Definition at line 295 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), ff_yuv2rgb_c_init_tables(), findRgbConvFn(), rgbToRgbWrapper(), sws_init_context(), and sws_setColorspaceDetails().

int SwsContext::srcFormatBpp

Number of bits per pixel of the source pixel format.

Definition at line 296 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), findRgbConvFn(), rgbToRgbWrapper(), sws_init_context(), and sws_setColorspaceDetails().

int SwsContext::dstBpc

Definition at line 297 of file swscale_internal.h.

Referenced by ff_sws_init_range_convert(), ff_sws_init_swscale_ppc(), ff_sws_init_swscale_x86(), sws_init_context(), and sws_init_swscale().

int SwsContext::srcBpc

Definition at line 297 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_ppc(), sws_init_context(), sws_init_swscale(), and sws_setColorspaceDetails().

int SwsContext::chrSrcHSubSample

Binary logarithm of horizontal subsampling factor between luma/alpha and chroma planes in source image.

Definition at line 298 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), and sws_init_context().

int SwsContext::chrSrcVSubSample

Binary logarithm of vertical subsampling factor between luma/alpha and chroma planes in source image.

Definition at line 299 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), sws_init_context(), sws_scale(), and swscale().

int SwsContext::chrDstHSubSample

Binary logarithm of horizontal subsampling factor between luma/alpha and chroma planes in destination image.

Definition at line 300 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), planarCopyWrapper(), and sws_init_context().

int SwsContext::chrDstVSubSample

Binary logarithm of vertical subsampling factor between luma/alpha and chroma planes in destination image.

Definition at line 301 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), packed_16bpc_bswap(), planarCopyWrapper(), sws_init_context(), sws_scale(), and swscale().

int SwsContext::vChrDrop

Binary logarithm of extra vertical subsampling factor in source image chroma planes specified by user.

Definition at line 302 of file swscale_internal.h.

Referenced by sws_init_context(), and swscale().

int SwsContext::sliceDir

Direction that slices are fed to the scaler (1 = top-to-bottom, -1 = bottom-to-top).

Definition at line 303 of file swscale_internal.h.

Referenced by sws_scale().

double SwsContext::param[2]

Input parameters for scaling algorithms that need them.

Definition at line 304 of file swscale_internal.h.

Referenced by sws_getCachedContext(), sws_getContext(), and sws_init_context().

struct SwsContext* SwsContext::cascaded_context[3]

Definition at line 310 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and sws_scale().

int SwsContext::cascaded_tmpStride[4]

Definition at line 311 of file swscale_internal.h.

Referenced by sws_init_context(), and sws_scale().

uint8_t* SwsContext::cascaded_tmp[4]

Definition at line 312 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and sws_scale().

int SwsContext::cascaded1_tmpStride[4]

Definition at line 313 of file swscale_internal.h.

Referenced by sws_init_context(), and sws_scale().

uint8_t* SwsContext::cascaded1_tmp[4]

Definition at line 314 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and sws_scale().

double SwsContext::gamma_value

Definition at line 316 of file swscale_internal.h.

Referenced by sws_init_context().

int SwsContext::gamma_flag

Definition at line 317 of file swscale_internal.h.

Referenced by sws_init_context(), and sws_scale().

int SwsContext::is_internal_gamma

Definition at line 318 of file swscale_internal.h.

Referenced by sws_init_context(), and swscale().

uint16_t* SwsContext::gamma

Definition at line 319 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

uint16_t* SwsContext::inv_gamma

Definition at line 320 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

uint32_t SwsContext::pal_yuv[256]

Definition at line 322 of file swscale_internal.h.

Referenced by sws_scale(), and swscale().

uint32_t SwsContext::pal_rgb[256]

Definition at line 323 of file swscale_internal.h.

Referenced by palToRgbWrapper(), and sws_scale().

int16_t** SwsContext::lumPixBuf

Ring buffer for scaled horizontal luma plane lines to be fed to the vertical scaler.

Definition at line 335 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int16_t** SwsContext::chrUPixBuf

Ring buffer for scaled horizontal chroma plane lines to be fed to the vertical scaler.

Definition at line 336 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int16_t** SwsContext::chrVPixBuf

Ring buffer for scaled horizontal chroma plane lines to be fed to the vertical scaler.

Definition at line 337 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int16_t** SwsContext::alpPixBuf

Ring buffer for scaled horizontal alpha plane lines to be fed to the vertical scaler.

Definition at line 338 of file swscale_internal.h.

Referenced by ff_sws_init_output_funcs(), ff_sws_init_swscale_ppc(), ff_sws_init_swscale_x86(), sws_freeContext(), sws_init_context(), and swscale().

int SwsContext::vLumBufSize

Number of vertical luma/alpha lines allocated in the ring buffer.

Definition at line 339 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int SwsContext::vChrBufSize

Number of vertical chroma lines allocated in the ring buffer.

Definition at line 340 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int SwsContext::lastInLumBuf

Last scaled horizontal luma/alpha line from source in the ring buffer.

Definition at line 341 of file swscale_internal.h.

Referenced by swscale().

int SwsContext::lastInChrBuf

Last scaled horizontal chroma line from source in the ring buffer.

Definition at line 342 of file swscale_internal.h.

Referenced by swscale().

int SwsContext::lumBufIndex

Index in ring buffer of the last scaled horizontal luma/alpha line from source.

Definition at line 343 of file swscale_internal.h.

Referenced by swscale().

int SwsContext::chrBufIndex

Index in ring buffer of the last scaled horizontal chroma line from source.

Definition at line 344 of file swscale_internal.h.

Referenced by swscale().

uint8_t* SwsContext::formatConvBuffer

Definition at line 347 of file swscale_internal.h.

Referenced by hcscale(), hyscale(), rgbToRgbWrapper(), sws_freeContext(), sws_init_context(), and swscale().

int16_t* SwsContext::hLumFilter

Array of horizontal filter coefficients for luma/alpha planes.

Definition at line 363 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int16_t* SwsContext::hChrFilter

Array of horizontal filter coefficients for chroma planes.

Definition at line 364 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int16_t* SwsContext::vLumFilter

Array of vertical filter coefficients for luma/alpha planes.

Definition at line 365 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int16_t* SwsContext::vChrFilter

Array of vertical filter coefficients for chroma planes.

Definition at line 366 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int32_t* SwsContext::hLumFilterPos

Array of horizontal filter starting positions for each dst[i] for luma/alpha planes.

Definition at line 367 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int32_t* SwsContext::hChrFilterPos

Array of horizontal filter starting positions for each dst[i] for chroma planes.

Definition at line 368 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int32_t* SwsContext::vLumFilterPos

Array of vertical filter starting positions for each dst[i] for luma/alpha planes.

Definition at line 369 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int32_t* SwsContext::vChrFilterPos

Array of vertical filter starting positions for each dst[i] for chroma planes.

Definition at line 370 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), and swscale().

int SwsContext::hLumFilterSize

Horizontal filter size for luma/alpha pixels.

Definition at line 371 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_x86(), sws_init_context(), and swscale().

int SwsContext::hChrFilterSize

Horizontal filter size for chroma pixels.

Definition at line 372 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_x86(), sws_init_context(), and swscale().

int SwsContext::vLumFilterSize

Vertical filter size for luma/alpha pixels.

Definition at line 373 of file swscale_internal.h.

Referenced by sws_init_context(), and swscale().

int SwsContext::vChrFilterSize

Vertical filter size for chroma pixels.

Definition at line 374 of file swscale_internal.h.

Referenced by sws_init_context(), and swscale().

int SwsContext::lumMmxextFilterCodeSize

Runtime-generated MMXEXT horizontal fast bilinear scaler code size for luma/alpha planes.

Definition at line 377 of file swscale_internal.h.

Referenced by sws_freeContext(), and sws_init_context().

int SwsContext::chrMmxextFilterCodeSize

Runtime-generated MMXEXT horizontal fast bilinear scaler code size for chroma planes.

Definition at line 378 of file swscale_internal.h.

Referenced by sws_freeContext(), and sws_init_context().

uint8_t* SwsContext::lumMmxextFilterCode

Runtime-generated MMXEXT horizontal fast bilinear scaler code for luma/alpha planes.

Definition at line 379 of file swscale_internal.h.

Referenced by sws_freeContext(), and sws_init_context().

uint8_t* SwsContext::chrMmxextFilterCode

Runtime-generated MMXEXT horizontal fast bilinear scaler code for chroma planes.

Definition at line 380 of file swscale_internal.h.

Referenced by sws_freeContext(), and sws_init_context().

int SwsContext::canMMXEXTBeUsed

Definition at line 382 of file swscale_internal.h.

Referenced by sws_init_context().

int SwsContext::dstY

Last destination vertical line output from last slice.

Definition at line 384 of file swscale_internal.h.

Referenced by sws_scale(), and swscale().

int SwsContext::flags

Flags passed by the user to select scaler algorithm, optimizations, subsampling, etc...

Definition at line 385 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), ff_get_unscaled_swscale_ppc(), ff_sws_init_output_funcs(), ff_sws_init_swscale_ppc(), ff_sws_init_swscale_x86(), get_unscaled_swscale_neon(), sws_getCachedContext(), sws_getContext(), sws_init_context(), sws_init_swscale(), sws_scale(), and swscale().

void* SwsContext::yuvTable

Definition at line 386 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), and sws_freeContext().

int SwsContext::table_gV[256+2 *YUVRGB_TABLE_HEADROOM]

Definition at line 389 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), and yuv2rgb_X_c_template().

uint8_t* SwsContext::table_rV[256+2 *YUVRGB_TABLE_HEADROOM]

Definition at line 390 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), and yuv2rgb_X_c_template().

uint8_t* SwsContext::table_gU[256+2 *YUVRGB_TABLE_HEADROOM]

Definition at line 391 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), and yuv2rgb_X_c_template().

uint8_t* SwsContext::table_bU[256+2 *YUVRGB_TABLE_HEADROOM]

Definition at line 392 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), and yuv2rgb_X_c_template().

int32_t SwsContext::input_rgb2yuv_table[16+40 *4]

Definition at line 393 of file swscale_internal.h.

Referenced by bayer_to_yv12_wrapper(), bgr24ToYv12Wrapper(), fill_rgb2yuv_table(), hcscale(), hyscale(), rgbx_to_nv12_neon_16_wrapper(), rgbx_to_nv12_neon_32_wrapper(), and swscale().

int* SwsContext::dither_error[4]

Definition at line 405 of file swscale_internal.h.

Referenced by sws_freeContext(), sws_init_context(), sws_scale(), yuv2mono_1_c_template(), yuv2mono_2_c_template(), yuv2mono_X_c_template(), yuv2rgb_full_1_c_template(), yuv2rgb_full_2_c_template(), and yuv2rgb_full_X_c_template().

int SwsContext::contrast

Definition at line 408 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), filter_frame(), sws_getColorspaceDetails(), sws_init_context(), and sws_setColorspaceDetails().

int SwsContext::brightness

Definition at line 408 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), filter_frame(), sws_getColorspaceDetails(), and sws_setColorspaceDetails().

int SwsContext::saturation

Definition at line 408 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), filter_frame(), sws_getColorspaceDetails(), sws_init_context(), and sws_setColorspaceDetails().

int SwsContext::srcColorspaceTable[4]

Definition at line 409 of file swscale_internal.h.

Referenced by sws_getColorspaceDetails(), and sws_setColorspaceDetails().

int SwsContext::dstColorspaceTable[4]

Definition at line 410 of file swscale_internal.h.

Referenced by sws_getColorspaceDetails(), and sws_setColorspaceDetails().

int SwsContext::srcRange

0 = MPG YUV range, 1 = JPG YUV range (source image).

Definition at line 411 of file swscale_internal.h.

Referenced by ff_sws_init_range_convert(), planarCopyWrapper(), sws_getColorspaceDetails(), sws_init_context(), and sws_setColorspaceDetails().

int SwsContext::dstRange

0 = MPG YUV range, 1 = JPG YUV range (destination image).

Definition at line 412 of file swscale_internal.h.

Referenced by ff_sws_init_range_convert(), sws_getColorspaceDetails(), sws_init_context(), and sws_setColorspaceDetails().

int SwsContext::src0Alpha

Definition at line 413 of file swscale_internal.h.

Referenced by handle_formats(), and sws_scale().

int SwsContext::dst0Alpha

Definition at line 414 of file swscale_internal.h.

Referenced by handle_formats(), and sws_scale().

int SwsContext::srcXYZ

Definition at line 415 of file swscale_internal.h.

Referenced by handle_formats(), and sws_scale().

int SwsContext::dstXYZ

Definition at line 416 of file swscale_internal.h.

Referenced by handle_formats(), and sws_scale().

int SwsContext::src_h_chr_pos

Definition at line 417 of file swscale_internal.h.

Referenced by sws_getCachedContext(), and sws_init_context().

int SwsContext::dst_h_chr_pos

Definition at line 418 of file swscale_internal.h.

Referenced by sws_getCachedContext(), and sws_init_context().

int SwsContext::src_v_chr_pos

Definition at line 419 of file swscale_internal.h.

Referenced by sws_getCachedContext(), and sws_init_context().

int SwsContext::dst_v_chr_pos

Definition at line 420 of file swscale_internal.h.

Referenced by sws_getCachedContext(), and sws_init_context().

int SwsContext::yuv2rgb_y_offset

Definition at line 421 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb48_1_c_template(), yuv2rgb48_2_c_template(), yuv2rgb48_X_c_template(), yuv2rgba64_1_c_template(), yuv2rgba64_2_c_template(), and yuv2rgba64_X_c_template().

int SwsContext::yuv2rgb_y_coeff

Definition at line 422 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb48_1_c_template(), yuv2rgb48_2_c_template(), yuv2rgb48_X_c_template(), yuv2rgba64_1_c_template(), yuv2rgba64_2_c_template(), and yuv2rgba64_X_c_template().

int SwsContext::yuv2rgb_v2r_coeff

Definition at line 423 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb48_1_c_template(), yuv2rgb48_2_c_template(), yuv2rgb48_X_c_template(), yuv2rgba64_1_c_template(), yuv2rgba64_2_c_template(), and yuv2rgba64_X_c_template().

int SwsContext::yuv2rgb_v2g_coeff

Definition at line 424 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb48_1_c_template(), yuv2rgb48_2_c_template(), yuv2rgb48_X_c_template(), yuv2rgba64_1_c_template(), yuv2rgba64_2_c_template(), and yuv2rgba64_X_c_template().

int SwsContext::yuv2rgb_u2g_coeff

Definition at line 425 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb48_1_c_template(), yuv2rgb48_2_c_template(), yuv2rgb48_X_c_template(), yuv2rgba64_1_c_template(), yuv2rgba64_2_c_template(), and yuv2rgba64_X_c_template().

int SwsContext::yuv2rgb_u2b_coeff

Definition at line 426 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables(), yuv2rgb48_1_c_template(), yuv2rgb48_2_c_template(), yuv2rgb48_X_c_template(), yuv2rgba64_1_c_template(), yuv2rgba64_2_c_template(), and yuv2rgba64_X_c_template().

uint64_t SwsContext::redDither

Definition at line 454 of file swscale_internal.h.

uint64_t SwsContext::greenDither

Definition at line 455 of file swscale_internal.h.

uint64_t SwsContext::blueDither

Definition at line 456 of file swscale_internal.h.

uint64_t SwsContext::yCoeff

Definition at line 458 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables().

uint64_t SwsContext::vrCoeff

Definition at line 459 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables().

uint64_t SwsContext::ubCoeff

Definition at line 460 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables().

uint64_t SwsContext::vgCoeff

Definition at line 461 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables().

uint64_t SwsContext::ugCoeff

Definition at line 462 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables().

uint64_t SwsContext::yOffset

Definition at line 463 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables().

uint64_t SwsContext::uOffset

Definition at line 464 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables().

uint64_t SwsContext::vOffset

Definition at line 465 of file swscale_internal.h.

Referenced by ff_yuv2rgb_c_init_tables().

int32_t SwsContext::lumMmxFilter[4 *MAX_FILTER_SIZE]

Definition at line 466 of file swscale_internal.h.

Referenced by swscale().

int32_t SwsContext::chrMmxFilter[4 *MAX_FILTER_SIZE]

Definition at line 467 of file swscale_internal.h.

Referenced by swscale().

int SwsContext::dstW

Width of destination luma/alpha planes.

Definition at line 468 of file swscale_internal.h.

Referenced by hScale16To15_c(), hScale16To19_c(), hScale8To15_c(), hScale8To19_c(), selfTest(), sws_getCachedContext(), sws_getContext(), sws_init_context(), sws_scale(), swscale(), yuv2rgb32_X_ar_TMPL(), yuv2rgb32_X_TMPL(), yuv2rgb555_X_ar_TMPL(), yuv2rgb555_X_TMPL(), yuv2rgb565_X_ar_TMPL(), yuv2rgb565_X_TMPL(), yuv2yuvX_TMPL(), yuv2yuyv422_X_ar_TMPL(), and yuv2yuyv422_X_TMPL().

uint64_t SwsContext::esp

Definition at line 469 of file swscale_internal.h.

uint64_t SwsContext::vRounder

Definition at line 470 of file swscale_internal.h.

Referenced by sws_init_context().

uint64_t SwsContext::u_temp

Definition at line 471 of file swscale_internal.h.

uint64_t SwsContext::v_temp

Definition at line 472 of file swscale_internal.h.

uint64_t SwsContext::y_temp

Definition at line 473 of file swscale_internal.h.

int32_t SwsContext::alpMmxFilter[4 *MAX_FILTER_SIZE]

Definition at line 474 of file swscale_internal.h.

Referenced by swscale().

ptrdiff_t SwsContext::uv_off

offset (in pixels) between u and v planes

Definition at line 478 of file swscale_internal.h.

Referenced by sws_init_context(), yuv2rgb32_X_ar_TMPL(), yuv2rgb32_X_TMPL(), yuv2rgb555_X_ar_TMPL(), yuv2rgb555_X_TMPL(), yuv2rgb565_X_ar_TMPL(), and yuv2rgb565_X_TMPL().

ptrdiff_t SwsContext::uv_offx2

offset (in bytes) between u and v planes

Definition at line 479 of file swscale_internal.h.

Referenced by sws_init_context(), and swscale().

uint16_t SwsContext::dither16[8]

Definition at line 480 of file swscale_internal.h.

uint32_t SwsContext::dither32[8]

Definition at line 481 of file swscale_internal.h.

const uint8_t* SwsContext::chrDither8

Definition at line 483 of file swscale_internal.h.

Referenced by swscale(), and yuv2nv12cX_c().

const uint8_t * SwsContext::lumDither8

Definition at line 483 of file swscale_internal.h.

Referenced by swscale().

int SwsContext::use_mmx_vfilter

Definition at line 496 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_x86(), and swscale().

int16_t* SwsContext::xyzgamma

Definition at line 501 of file swscale_internal.h.

Referenced by fill_xyztables(), and xyz12Torgb48().

int16_t* SwsContext::rgbgamma

Definition at line 502 of file swscale_internal.h.

Referenced by fill_xyztables(), and xyz12Torgb48().

int16_t* SwsContext::xyzgammainv

Definition at line 503 of file swscale_internal.h.

Referenced by fill_xyztables(), and rgb48Toxyz12().

int16_t* SwsContext::rgbgammainv

Definition at line 504 of file swscale_internal.h.

Referenced by fill_xyztables(), and rgb48Toxyz12().

int16_t SwsContext::xyz2rgb_matrix[3][4]

Definition at line 505 of file swscale_internal.h.

Referenced by fill_xyztables(), and xyz12Torgb48().

int16_t SwsContext::rgb2xyz_matrix[3][4]

Definition at line 506 of file swscale_internal.h.

Referenced by fill_xyztables(), and rgb48Toxyz12().

yuv2planar1_fn SwsContext::yuv2plane1

Definition at line 509 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_x86(), sws_init_swscale(), and swscale().

yuv2planarX_fn SwsContext::yuv2planeX

Definition at line 510 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_ppc(), ff_sws_init_swscale_x86(), sws_init_swscale(), and swscale().

yuv2interleavedX_fn SwsContext::yuv2nv12cX

Definition at line 511 of file swscale_internal.h.

Referenced by sws_init_swscale(), and swscale().

yuv2packed1_fn SwsContext::yuv2packed1

Definition at line 512 of file swscale_internal.h.

Referenced by sws_init_swscale(), and swscale().

yuv2packed2_fn SwsContext::yuv2packed2

Definition at line 513 of file swscale_internal.h.

Referenced by sws_init_swscale(), and swscale().

yuv2packedX_fn SwsContext::yuv2packedX

Definition at line 514 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_ppc(), sws_init_swscale(), and swscale().

yuv2anyX_fn SwsContext::yuv2anyX

Definition at line 515 of file swscale_internal.h.

Referenced by sws_init_swscale(), and swscale().

void(* SwsContext::lumToYV12)(uint8_t *dst, const uint8_t *src, const uint8_t *src2, const uint8_t *src3, int width, uint32_t *pal)

Unscaled conversion of luma plane to YV12 for horizontal scaler.

Definition at line 518 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_x86(), and hyscale().

void(* SwsContext::alpToYV12)(uint8_t *dst, const uint8_t *src, const uint8_t *src2, const uint8_t *src3, int width, uint32_t *pal)

Unscaled conversion of alpha plane to YV12 for horizontal scaler.

Definition at line 521 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_x86(), and hyscale().

void(* SwsContext::chrToYV12)(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, int width, uint32_t *pal)

Unscaled conversion of chroma planes to YV12 for horizontal scaler.

Definition at line 524 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_x86(), and hcscale().

void(* SwsContext::readLumPlanar)(uint8_t *dst, const uint8_t *src[4], int width, int32_t *rgb2yuv)

Functions to read planar input, such as planar RGB, and convert internally to Y/UV/A.

Definition at line 533 of file swscale_internal.h.

Referenced by hyscale().

void(* SwsContext::readChrPlanar)(uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], int width, int32_t *rgb2yuv)

Definition at line 534 of file swscale_internal.h.

Referenced by hcscale().

void(* SwsContext::readAlpPlanar)(uint8_t *dst, const uint8_t *src[4], int width, int32_t *rgb2yuv)

Definition at line 536 of file swscale_internal.h.

Referenced by hyscale().

void(* SwsContext::hyscale_fast)(struct SwsContext *c, int16_t *dst, int dstWidth, const uint8_t *src, int srcW, int xInc)

Scale one horizontal line of input data using a bilinear filter to produce one line of output data.

Compared to SwsContext->hScale(), please take note of the following caveats when using these:

  • Scaling is done using only 7bit instead of 14bit coefficients.
  • You can use no more than 5 input pixels to produce 4 output pixels. Therefore, this filter should not be used for downscaling by more than ~20% in width (because that equals more than 5/4th downscaling and thus more than 5 pixels input per 4 pixels output).
  • In general, bilinear filters create artifacts during downscaling (even when <20%), because one output pixel will span more than one input pixel, and thus some pixels will need edges of both neighbor pixels to interpolate the output pixel. Since you can use at most two input pixels per output pixel in bilinear scaling, this is impossible and thus downscaling by any size will create artifacts. To enable this type of scaling, set SWS_FLAG_FAST_BILINEAR in SwsContext->flags.

Definition at line 558 of file swscale_internal.h.

Referenced by hyscale(), and sws_init_swscale().

void(* SwsContext::hcscale_fast)(struct SwsContext *c, int16_t *dst1, int16_t *dst2, int dstWidth, const uint8_t *src1, const uint8_t *src2, int srcW, int xInc)

Definition at line 561 of file swscale_internal.h.

Referenced by hcscale(), and sws_init_swscale().

void(* SwsContext::hyScale)(struct SwsContext *c, int16_t *dst, int dstW, const uint8_t *src, const int16_t *filter, const int32_t *filterPos, int filterSize)

Scale one horizontal line of input data using a filter over the input lines, to produce one (differently sized) line of output data.

Parameters
dst pointer to destination buffer for horizontally scaled data. If the number of bits per component of one destination pixel (SwsContext->dstBpc) is <= 10, data will be 15bpc in 16bits (int16_t) width. Else (i.e. SwsContext->dstBpc == 16), data will be 19bpc in 32bits (int32_t) width.
dstW width of destination image
src pointer to source data to be scaled. If the number of bits per component of a source pixel (SwsContext->srcBpc) is 8, this is 8bpc in 8bits (uint8_t) width. Else (i.e. SwsContext->dstBpc > 8), this is native depth in 16bits (uint16_t) width. In other words, for 9-bit YUV input, this is 9bpc, for 10-bit YUV input, this is 10bpc, and for 16-bit RGB or YUV, this is 16bpc.
filter filter coefficients to be used per output pixel for scaling. This contains 14bpp filtering coefficients. Guaranteed to contain dstW * filterSize entries.
filterPos position of the first input pixel to be used for each output pixel during scaling. Guaranteed to contain dstW entries.
filterSize the number of input coefficients to be used (and thus the number of input pixels to be used) for creating a single output pixel. Is aligned to 4 (and input coefficients thus padded with zeroes) to simplify creating SIMD code.

Definition at line 598 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_ppc(), ff_sws_init_swscale_x86(), hyscale(), and sws_init_swscale().

void(* SwsContext::hcScale)(struct SwsContext *c, int16_t *dst, int dstW, const uint8_t *src, const int16_t *filter, const int32_t *filterPos, int filterSize)

Definition at line 601 of file swscale_internal.h.

Referenced by ff_sws_init_swscale_ppc(), ff_sws_init_swscale_x86(), hcscale(), and sws_init_swscale().

void(* SwsContext::lumConvertRange)(int16_t *dst, int width)

Color range conversion function for luma plane if needed.

Definition at line 607 of file swscale_internal.h.

Referenced by ff_sws_init_range_convert(), and hyscale().

void(* SwsContext::chrConvertRange)(int16_t *dst1, int16_t *dst2, int width)

Color range conversion function for chroma planes if needed.

Definition at line 609 of file swscale_internal.h.

Referenced by ff_sws_init_range_convert(), and hcscale().

int SwsContext::needs_hcscale

Set if there are chroma planes to be converted.

Definition at line 611 of file swscale_internal.h.

Referenced by sws_init_swscale(), and swscale().

SwsDither SwsContext::dither

Definition at line 613 of file swscale_internal.h.

Referenced by ff_get_unscaled_swscale(), sws_init_context(), sws_scale(), yuv2mono_1_c_template(), yuv2mono_2_c_template(), and yuv2mono_X_c_template().


The documentation for this struct was generated from the following file:

Generated on Wed Jun 10 2015 01:57:23 for FFmpeg by   doxygen 1.8.6

AltStyle によって変換されたページ (->オリジナル) /