FFmpeg
Loading...
Searching...
No Matches
Data Fields
SwsInternal Struct Reference

#include <swscale_internal.h>

Data Fields

 
 
 
 
int  nb_slice_ctx
 
SwsGraphgraph [2]
 
 
 
  Note that src, dst, srcStride, dstStride will be copied in the sws_scale() wrapper so they can be freely modified here.
 
int  chrSrcW
  Width of source chroma planes.
 
int  chrSrcH
  Height of source chroma planes.
 
int  chrDstW
  Width of destination chroma planes.
 
int  chrDstH
  Height of destination chroma planes.
 
int  lumXInc
 
int  chrXInc
 
int  lumYInc
 
int  chrYInc
 
int  dstFormatBpp
  Number of bits per pixel of the destination pixel format.
 
int  srcFormatBpp
  Number of bits per pixel of the source pixel format.
 
int  dstBpc
 
int  srcBpc
 
  Binary logarithm of horizontal subsampling factor between luma/alpha and chroma planes in source image.
 
  Binary logarithm of vertical subsampling factor between luma/alpha and chroma planes in source image.
 
  Binary logarithm of horizontal subsampling factor between luma/alpha and chroma planes in destination image.
 
  Binary logarithm of vertical subsampling factor between luma/alpha and chroma planes in destination image.
 
int  vChrDrop
  Binary logarithm of extra vertical subsampling factor in source image chroma planes specified by user.
 
int  sliceDir
  Direction that slices are fed to the scaler (1 = top-to-bottom, -1 = bottom-to-top).
 
 
 
 
 
int  cascaded_tmpStride [2][4]
 
uint8_t *  cascaded_tmp [2][4]
 
 
 
 
uint16_t *  gamma
 
uint16_t *  inv_gamma
 
int  numDesc
 
int  descIndex [2]
 
int  numSlice
 
struct SwsSliceslice
 
 
uint32_t  pal_yuv [256]
 
uint32_t  pal_rgb [256]
 
 
 
 
 
 
  Set if there are chroma planes to be converted.
 
uint8_t *  rgb0_scratch
 
unsigned int  rgb0_scratch_allocated
 
uint8_t *  xyz_scratch
 
unsigned int  xyz_scratch_allocated
 
unsigned int  dst_slice_align
 
 
 
 
 
void *  hw_priv
 
 
 
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.

int  lastInLumBuf
  Last scaled horizontal luma/alpha line from source in the ring buffer.
 
int  lastInChrBuf
  Last scaled horizontal chroma line from source in the ring buffer.
 
uint8_t *  formatConvBuffer
 
int  needAlpha
 
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.
}
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
i
#define i(width, name, range_min, range_max)
Definition cbs_h264.c:63
#define FRAC_BITS
void(* filter)(uint8_t *src, ptrdiff_t stride, int qscale)
Definition h263dsp.c:29
#define src
Definition vp8dsp.c:248
#define width
Definition dsp.h:89
int16_t *  hLumFilter
  Array of horizontal filter coefficients for luma/alpha planes.
 
int16_t *  hChrFilter
  Array of horizontal filter coefficients for chroma planes.
 
int16_t *  vLumFilter
  Array of vertical filter coefficients for luma/alpha planes.
 
int16_t *  vChrFilter
  Array of vertical filter coefficients for chroma planes.
 
  Array of horizontal filter starting positions for each dst[i] for luma/alpha planes.
 
  Array of horizontal filter starting positions for each dst[i] for chroma planes.
 
  Array of vertical filter starting positions for each dst[i] for luma/alpha planes.
 
  Array of vertical filter starting positions for each dst[i] for chroma planes.
 
  Horizontal filter size for luma/alpha pixels.
 
  Horizontal filter size for chroma pixels.
 
  Vertical filter size for luma/alpha pixels.
 
  Vertical filter size for chroma pixels.
 
  Runtime-generated MMXEXT horizontal fast bilinear scaler code size for luma/alpha planes.
 
  Runtime-generated MMXEXT horizontal fast bilinear scaler code size for chroma planes.
 
uint8_t *  lumMmxextFilterCode
  Runtime-generated MMXEXT horizontal fast bilinear scaler code for luma/alpha planes.
 
uint8_t *  chrMmxextFilterCode
  Runtime-generated MMXEXT horizontal fast bilinear scaler code for chroma planes.
 
 
 
int  dstY
  Last destination vertical line output from last slice.
 
void *  yuvTable
 
 
uint8_t *  table_rV [256+2 *YUVRGB_TABLE_HEADROOM]
 
uint8_t *  table_gU [256+2 *YUVRGB_TABLE_HEADROOM]
 
uint8_t *  table_bU [256+2 *YUVRGB_TABLE_HEADROOM]
 
 
int *  dither_error [4]
 
int  contrast
 
int  brightness
 
int  saturation
 
 
 
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_mmx
 
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
 
ptrdiff_t  uv_offx2
  offset (in bytes) between u and v planes
 
uint16_t  dither16 [8]
 
uint32_t  dither32 [8]
 
const uint8_t *  chrDither8
 
const uint8_t *  lumDither8
 
 
 
 
 
 
 
 
 
 
 
 
 
void *  input_opaque
  Opaque data pointer passed to all input functions.
 
 
 
 
  Functions to read planar input, such as planar RGB, and convert internally to Y/UV/A.
 
 
 
void(*  hyscale_fast )(SwsInternal *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.
 
void(*  hcscale_fast )(SwsInternal *c, int16_t *dst1, int16_t *dst2, int dstWidth, const uint8_t *src1, const uint8_t *src2, int srcW, int xInc)
 
void(*  hyScale )(SwsInternal *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.
 
void(*  hcScale )(SwsInternal *c, int16_t *dst, int dstW, const uint8_t *src, const int16_t *filter, const int32_t *filterPos, int filterSize)
 
void(*  lumConvertRange )(int16_t *dst, int width, uint32_t coeff, int64_t offset)
  Color range conversion functions if needed.
 
void(*  chrConvertRange )(int16_t *dst1, int16_t *dst2, int width, uint32_t coeff, int64_t offset)
 

Detailed Description

Definition at line 337 of file swscale_internal.h.

Field Documentation

◆  opts

SwsContext SwsInternal::opts

Definition at line 339 of file swscale_internal.h.

◆  parent

SwsContext* SwsInternal::parent

Definition at line 342 of file swscale_internal.h.

Referenced by context_init_threaded().

◆  slicethread

AVSliceThread* SwsInternal::slicethread

Definition at line 344 of file swscale_internal.h.

◆  slice_ctx

SwsContext** SwsInternal::slice_ctx

Definition at line 345 of file swscale_internal.h.

Referenced by ff_sws_slice_worker(), and slice_ctx().

◆  nb_slice_ctx

int SwsInternal::nb_slice_ctx

Definition at line 346 of file swscale_internal.h.

Referenced by slice_ctx().

◆  graph

SwsGraph* SwsInternal::graph[2]

Definition at line 349 of file swscale_internal.h.

◆  dst_slice_start

int SwsInternal::dst_slice_start

Definition at line 352 of file swscale_internal.h.

Referenced by ff_sws_slice_worker().

◆  dst_slice_height

int SwsInternal::dst_slice_height

Definition at line 353 of file swscale_internal.h.

Referenced by ff_sws_slice_worker().

◆  convert_unscaled

SwsFunc SwsInternal::convert_unscaled

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

Definition at line 359 of file swscale_internal.h.

◆  chrSrcW

int SwsInternal::chrSrcW

Width of source chroma planes.

Definition at line 360 of file swscale_internal.h.

◆  chrSrcH

int SwsInternal::chrSrcH

Height of source chroma planes.

Definition at line 361 of file swscale_internal.h.

◆  chrDstW

int SwsInternal::chrDstW

Width of destination chroma planes.

Definition at line 362 of file swscale_internal.h.

◆  chrDstH

int SwsInternal::chrDstH

Height of destination chroma planes.

Definition at line 363 of file swscale_internal.h.

◆  lumXInc

int SwsInternal::lumXInc

Definition at line 364 of file swscale_internal.h.

◆  chrXInc

int SwsInternal::chrXInc

Definition at line 364 of file swscale_internal.h.

◆  lumYInc

int SwsInternal::lumYInc

Definition at line 365 of file swscale_internal.h.

◆  chrYInc

int SwsInternal::chrYInc

Definition at line 365 of file swscale_internal.h.

◆  dstFormatBpp

int SwsInternal::dstFormatBpp

Number of bits per pixel of the destination pixel format.

Definition at line 366 of file swscale_internal.h.

◆  srcFormatBpp

int SwsInternal::srcFormatBpp

Number of bits per pixel of the source pixel format.

Definition at line 367 of file swscale_internal.h.

◆  dstBpc

int SwsInternal::dstBpc

Definition at line 368 of file swscale_internal.h.

◆  srcBpc

int SwsInternal::srcBpc

Definition at line 368 of file swscale_internal.h.

◆  chrSrcHSubSample

int SwsInternal::chrSrcHSubSample

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

Definition at line 369 of file swscale_internal.h.

◆  chrSrcVSubSample

int SwsInternal::chrSrcVSubSample

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

Definition at line 370 of file swscale_internal.h.

◆  chrDstHSubSample

int SwsInternal::chrDstHSubSample

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

Definition at line 371 of file swscale_internal.h.

◆  chrDstVSubSample

int SwsInternal::chrDstVSubSample

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

Definition at line 372 of file swscale_internal.h.

◆  vChrDrop

int SwsInternal::vChrDrop

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

Definition at line 373 of file swscale_internal.h.

◆  sliceDir

int SwsInternal::sliceDir

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

Definition at line 374 of file swscale_internal.h.

Referenced by scale_cascaded().

◆  frame_src

AVFrame* SwsInternal::frame_src

Definition at line 376 of file swscale_internal.h.

Referenced by ff_sws_slice_worker().

◆  frame_dst

AVFrame* SwsInternal::frame_dst

Definition at line 377 of file swscale_internal.h.

Referenced by ff_sws_slice_worker().

◆  src_ranges

RangeList SwsInternal::src_ranges

Definition at line 379 of file swscale_internal.h.

◆  cascaded_context

SwsContext* SwsInternal::cascaded_context[3]

Definition at line 385 of file swscale_internal.h.

◆  cascaded_tmpStride

int SwsInternal::cascaded_tmpStride[2][4]

Definition at line 386 of file swscale_internal.h.

◆  cascaded_tmp

uint8_t* SwsInternal::cascaded_tmp[2][4]

Definition at line 387 of file swscale_internal.h.

◆  cascaded_mainindex

int SwsInternal::cascaded_mainindex

Definition at line 388 of file swscale_internal.h.

◆  gamma_value

double SwsInternal::gamma_value

Definition at line 390 of file swscale_internal.h.

◆  is_internal_gamma

int SwsInternal::is_internal_gamma

Definition at line 391 of file swscale_internal.h.

◆  gamma

uint16_t* SwsInternal::gamma

Definition at line 392 of file swscale_internal.h.

◆  inv_gamma

uint16_t* SwsInternal::inv_gamma

Definition at line 393 of file swscale_internal.h.

◆  numDesc

int SwsInternal::numDesc

Definition at line 395 of file swscale_internal.h.

◆  descIndex

int SwsInternal::descIndex[2]

Definition at line 396 of file swscale_internal.h.

◆  numSlice

int SwsInternal::numSlice

Definition at line 397 of file swscale_internal.h.

◆  slice

struct SwsSlice* SwsInternal::slice

Definition at line 398 of file swscale_internal.h.

◆  desc

struct SwsFilterDescriptor* SwsInternal::desc

Definition at line 399 of file swscale_internal.h.

◆  pal_yuv

uint32_t SwsInternal::pal_yuv[256]

Definition at line 401 of file swscale_internal.h.

Referenced by slice_ctx().

◆  pal_rgb

uint32_t SwsInternal::pal_rgb[256]

Definition at line 402 of file swscale_internal.h.

Referenced by slice_ctx().

◆  uint2float_lut

float SwsInternal::uint2float_lut[256]

Definition at line 404 of file swscale_internal.h.

◆  lastInLumBuf

int SwsInternal::lastInLumBuf

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

Definition at line 416 of file swscale_internal.h.

◆  lastInChrBuf

int SwsInternal::lastInChrBuf

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

Definition at line 417 of file swscale_internal.h.

◆  formatConvBuffer

uint8_t* SwsInternal::formatConvBuffer

Definition at line 420 of file swscale_internal.h.

◆  needAlpha

int SwsInternal::needAlpha

Definition at line 421 of file swscale_internal.h.

◆  hLumFilter

int16_t* SwsInternal::hLumFilter

Array of horizontal filter coefficients for luma/alpha planes.

Definition at line 437 of file swscale_internal.h.

◆  hChrFilter

int16_t* SwsInternal::hChrFilter

Array of horizontal filter coefficients for chroma planes.

Definition at line 438 of file swscale_internal.h.

◆  vLumFilter

int16_t* SwsInternal::vLumFilter

Array of vertical filter coefficients for luma/alpha planes.

Definition at line 439 of file swscale_internal.h.

◆  vChrFilter

int16_t* SwsInternal::vChrFilter

Array of vertical filter coefficients for chroma planes.

Definition at line 440 of file swscale_internal.h.

◆  hLumFilterPos

int32_t* SwsInternal::hLumFilterPos

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

Definition at line 441 of file swscale_internal.h.

◆  hChrFilterPos

int32_t* SwsInternal::hChrFilterPos

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

Definition at line 442 of file swscale_internal.h.

◆  vLumFilterPos

int32_t* SwsInternal::vLumFilterPos

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

Definition at line 443 of file swscale_internal.h.

◆  vChrFilterPos

int32_t* SwsInternal::vChrFilterPos

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

Definition at line 444 of file swscale_internal.h.

◆  hLumFilterSize

int SwsInternal::hLumFilterSize

Horizontal filter size for luma/alpha pixels.

Definition at line 445 of file swscale_internal.h.

◆  hChrFilterSize

int SwsInternal::hChrFilterSize

Horizontal filter size for chroma pixels.

Definition at line 446 of file swscale_internal.h.

◆  vLumFilterSize

int SwsInternal::vLumFilterSize

Vertical filter size for luma/alpha pixels.

Definition at line 447 of file swscale_internal.h.

◆  vChrFilterSize

int SwsInternal::vChrFilterSize

Vertical filter size for chroma pixels.

Definition at line 448 of file swscale_internal.h.

◆  lumMmxextFilterCodeSize

int SwsInternal::lumMmxextFilterCodeSize

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

Definition at line 451 of file swscale_internal.h.

◆  chrMmxextFilterCodeSize

int SwsInternal::chrMmxextFilterCodeSize

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

Definition at line 452 of file swscale_internal.h.

◆  lumMmxextFilterCode

uint8_t* SwsInternal::lumMmxextFilterCode

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

Definition at line 453 of file swscale_internal.h.

◆  chrMmxextFilterCode

uint8_t* SwsInternal::chrMmxextFilterCode

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

Definition at line 454 of file swscale_internal.h.

◆  canMMXEXTBeUsed

int SwsInternal::canMMXEXTBeUsed

Definition at line 456 of file swscale_internal.h.

◆  warned_unuseable_bilinear

int SwsInternal::warned_unuseable_bilinear

Definition at line 457 of file swscale_internal.h.

◆  dstY

int SwsInternal::dstY

Last destination vertical line output from last slice.

Definition at line 459 of file swscale_internal.h.

Referenced by scale_gamma().

◆  yuvTable

void* SwsInternal::yuvTable

Definition at line 460 of file swscale_internal.h.

◆  table_gV

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

Definition at line 463 of file swscale_internal.h.

◆  table_rV

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

Definition at line 464 of file swscale_internal.h.

◆  table_gU

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

Definition at line 465 of file swscale_internal.h.

◆  table_bU

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

Definition at line 466 of file swscale_internal.h.

◆  input_rgb2yuv_table

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

Definition at line 467 of file swscale_internal.h.

◆  dither_error

int* SwsInternal::dither_error[4]

Definition at line 479 of file swscale_internal.h.

◆  contrast

int SwsInternal::contrast

Definition at line 482 of file swscale_internal.h.

◆  brightness

int SwsInternal::brightness

Definition at line 482 of file swscale_internal.h.

◆  saturation

int SwsInternal::saturation

Definition at line 482 of file swscale_internal.h.

◆  srcColorspaceTable

int SwsInternal::srcColorspaceTable[4]

Definition at line 483 of file swscale_internal.h.

◆  dstColorspaceTable

int SwsInternal::dstColorspaceTable[4]

Definition at line 484 of file swscale_internal.h.

◆  src0Alpha

int SwsInternal::src0Alpha

Definition at line 485 of file swscale_internal.h.

◆  dst0Alpha

int SwsInternal::dst0Alpha

Definition at line 486 of file swscale_internal.h.

◆  srcXYZ

int SwsInternal::srcXYZ

Definition at line 487 of file swscale_internal.h.

◆  dstXYZ

int SwsInternal::dstXYZ

Definition at line 488 of file swscale_internal.h.

◆  yuv2rgb_y_offset

int SwsInternal::yuv2rgb_y_offset

Definition at line 489 of file swscale_internal.h.

◆  yuv2rgb_y_coeff

int SwsInternal::yuv2rgb_y_coeff

Definition at line 490 of file swscale_internal.h.

◆  yuv2rgb_v2r_coeff

int SwsInternal::yuv2rgb_v2r_coeff

Definition at line 491 of file swscale_internal.h.

◆  yuv2rgb_v2g_coeff

int SwsInternal::yuv2rgb_v2g_coeff

Definition at line 492 of file swscale_internal.h.

◆  yuv2rgb_u2g_coeff

int SwsInternal::yuv2rgb_u2g_coeff

Definition at line 493 of file swscale_internal.h.

◆  yuv2rgb_u2b_coeff

int SwsInternal::yuv2rgb_u2b_coeff

Definition at line 494 of file swscale_internal.h.

◆  redDither

uint64_t SwsInternal::redDither

Definition at line 522 of file swscale_internal.h.

◆  greenDither

uint64_t SwsInternal::greenDither

Definition at line 523 of file swscale_internal.h.

◆  blueDither

uint64_t SwsInternal::blueDither

Definition at line 524 of file swscale_internal.h.

◆  yCoeff

uint64_t SwsInternal::yCoeff

Definition at line 526 of file swscale_internal.h.

◆  vrCoeff

uint64_t SwsInternal::vrCoeff

Definition at line 527 of file swscale_internal.h.

◆  ubCoeff

uint64_t SwsInternal::ubCoeff

Definition at line 528 of file swscale_internal.h.

◆  vgCoeff

uint64_t SwsInternal::vgCoeff

Definition at line 529 of file swscale_internal.h.

◆  ugCoeff

uint64_t SwsInternal::ugCoeff

Definition at line 530 of file swscale_internal.h.

◆  yOffset

uint64_t SwsInternal::yOffset

Definition at line 531 of file swscale_internal.h.

◆  uOffset

uint64_t SwsInternal::uOffset

Definition at line 532 of file swscale_internal.h.

◆  vOffset

uint64_t SwsInternal::vOffset

Definition at line 533 of file swscale_internal.h.

◆  lumMmxFilter

int32_t SwsInternal::lumMmxFilter[4 *MAX_FILTER_SIZE]

Definition at line 534 of file swscale_internal.h.

◆  chrMmxFilter

int32_t SwsInternal::chrMmxFilter[4 *MAX_FILTER_SIZE]

Definition at line 535 of file swscale_internal.h.

◆  dstW_mmx

int SwsInternal::dstW_mmx

Definition at line 536 of file swscale_internal.h.

◆  esp

uint64_t SwsInternal::esp

Definition at line 537 of file swscale_internal.h.

◆  vRounder

uint64_t SwsInternal::vRounder

Definition at line 538 of file swscale_internal.h.

◆  u_temp

uint64_t SwsInternal::u_temp

Definition at line 539 of file swscale_internal.h.

◆  v_temp

uint64_t SwsInternal::v_temp

Definition at line 540 of file swscale_internal.h.

◆  y_temp

uint64_t SwsInternal::y_temp

Definition at line 541 of file swscale_internal.h.

◆  alpMmxFilter

int32_t SwsInternal::alpMmxFilter[4 *MAX_FILTER_SIZE]

Definition at line 542 of file swscale_internal.h.

◆  uv_off

ptrdiff_t SwsInternal::uv_off

offset (in pixels) between u and v planes

Definition at line 546 of file swscale_internal.h.

◆  uv_offx2

ptrdiff_t SwsInternal::uv_offx2

offset (in bytes) between u and v planes

Definition at line 547 of file swscale_internal.h.

◆  dither16

uint16_t SwsInternal::dither16[8]

Definition at line 548 of file swscale_internal.h.

◆  dither32

uint32_t SwsInternal::dither32[8]

Definition at line 549 of file swscale_internal.h.

◆  chrDither8

const uint8_t* SwsInternal::chrDither8

Definition at line 551 of file swscale_internal.h.

◆  lumDither8

const uint8_t * SwsInternal::lumDither8

Definition at line 551 of file swscale_internal.h.

◆  use_mmx_vfilter

int SwsInternal::use_mmx_vfilter

Definition at line 553 of file swscale_internal.h.

◆  xyz12Torgb48

SwsColorFunc SwsInternal::xyz12Torgb48

Definition at line 558 of file swscale_internal.h.

◆  rgb48Toxyz12

SwsColorFunc SwsInternal::rgb48Toxyz12

Definition at line 559 of file swscale_internal.h.

◆  xyz2rgb

SwsColorXform SwsInternal::xyz2rgb

Definition at line 560 of file swscale_internal.h.

◆  rgb2xyz

SwsColorXform SwsInternal::rgb2xyz

Definition at line 561 of file swscale_internal.h.

◆  yuv2plane1

yuv2planar1_fn SwsInternal::yuv2plane1

Definition at line 564 of file swscale_internal.h.

◆  yuv2planeX

yuv2planarX_fn SwsInternal::yuv2planeX

Definition at line 565 of file swscale_internal.h.

◆  yuv2nv12cX

yuv2interleavedX_fn SwsInternal::yuv2nv12cX

Definition at line 566 of file swscale_internal.h.

◆  yuv2packed1

yuv2packed1_fn SwsInternal::yuv2packed1

Definition at line 567 of file swscale_internal.h.

◆  yuv2packed2

yuv2packed2_fn SwsInternal::yuv2packed2

Definition at line 568 of file swscale_internal.h.

◆  yuv2packedX

yuv2packedX_fn SwsInternal::yuv2packedX

Definition at line 569 of file swscale_internal.h.

◆  yuv2anyX

yuv2anyX_fn SwsInternal::yuv2anyX

Definition at line 570 of file swscale_internal.h.

◆  input_opaque

void* SwsInternal::input_opaque

Opaque data pointer passed to all input functions.

Definition at line 573 of file swscale_internal.h.

◆  lumToYV12

planar1_YV12_fn SwsInternal::lumToYV12

Definition at line 575 of file swscale_internal.h.

◆  alpToYV12

planar1_YV12_fn SwsInternal::alpToYV12

Definition at line 576 of file swscale_internal.h.

◆  chrToYV12

planar2_YV12_fn SwsInternal::chrToYV12

Definition at line 577 of file swscale_internal.h.

◆  readLumPlanar

planarX_YV12_fn SwsInternal::readLumPlanar

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

Definition at line 584 of file swscale_internal.h.

◆  readAlpPlanar

planarX_YV12_fn SwsInternal::readAlpPlanar

Definition at line 585 of file swscale_internal.h.

◆  readChrPlanar

planarX2_YV12_fn SwsInternal::readChrPlanar

Definition at line 586 of file swscale_internal.h.

◆  hyscale_fast

void(* SwsInternal::hyscale_fast) (SwsInternal *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 SwsInternal->hScale(), please take note of the following caveats when using these:

  • Scaling is done using only 7 bits instead of 14-bit 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_FAST_BILINEAR in SwsInternal->flags.

Definition at line 608 of file swscale_internal.h.

◆  hcscale_fast

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

Definition at line 611 of file swscale_internal.h.

◆  hyScale

void(* SwsInternal::hyScale) (SwsInternal *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 (SwsInternal->dstBpc) is <= 10, data will be 15 bpc in 16 bits (int16_t) width. Else (i.e. SwsInternal->dstBpc == 16), data will be 19bpc in 32 bits (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 (SwsInternal->srcBpc) is 8, this is 8bpc in 8 bits (uint8_t) width. Else (i.e. SwsInternal->dstBpc > 8), this is native depth in 16 bits (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 648 of file swscale_internal.h.

◆  hcScale

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

Definition at line 651 of file swscale_internal.h.

◆  lumConvertRange

void(* SwsInternal::lumConvertRange) (int16_t *dst, int width, uint32_t coeff, int64_t offset)

Color range conversion functions if needed.

If SwsInternal->dstBpc is > 14:

  • int16_t *dst (data is 15 bpc)
  • uint16_t coeff
  • int32_t offset Otherwise (SwsInternal->dstBpc is <= 14):
  • int32_t *dst (data is 19 bpc)
  • uint32_t coeff
  • int64_t offset

Definition at line 668 of file swscale_internal.h.

◆  chrConvertRange

void(* SwsInternal::chrConvertRange) (int16_t *dst1, int16_t *dst2, int width, uint32_t coeff, int64_t offset)

Definition at line 670 of file swscale_internal.h.

◆  lumConvertRange_coeff

uint32_t SwsInternal::lumConvertRange_coeff

Definition at line 674 of file swscale_internal.h.

◆  chrConvertRange_coeff

uint32_t SwsInternal::chrConvertRange_coeff

Definition at line 675 of file swscale_internal.h.

◆  lumConvertRange_offset

int64_t SwsInternal::lumConvertRange_offset

Definition at line 676 of file swscale_internal.h.

◆  chrConvertRange_offset

int64_t SwsInternal::chrConvertRange_offset

Definition at line 677 of file swscale_internal.h.

◆  needs_hcscale

int SwsInternal::needs_hcscale

Set if there are chroma planes to be converted.

Definition at line 679 of file swscale_internal.h.

◆  rgb0_scratch

uint8_t* SwsInternal::rgb0_scratch

Definition at line 684 of file swscale_internal.h.

◆  rgb0_scratch_allocated

unsigned int SwsInternal::rgb0_scratch_allocated

Definition at line 685 of file swscale_internal.h.

◆  xyz_scratch

uint8_t* SwsInternal::xyz_scratch

Definition at line 690 of file swscale_internal.h.

◆  xyz_scratch_allocated

unsigned int SwsInternal::xyz_scratch_allocated

Definition at line 691 of file swscale_internal.h.

◆  dst_slice_align

unsigned int SwsInternal::dst_slice_align

Definition at line 693 of file swscale_internal.h.

Referenced by sws_receive_slice_alignment().

◆  stride_unaligned_warned

atomic_int SwsInternal::stride_unaligned_warned

Definition at line 694 of file swscale_internal.h.

◆  data_unaligned_warned

atomic_int SwsInternal::data_unaligned_warned

Definition at line 695 of file swscale_internal.h.

◆  color_conversion_warned

int SwsInternal::color_conversion_warned

Definition at line 696 of file swscale_internal.h.

◆  h2f_tables

Half2FloatTables* SwsInternal::h2f_tables

Definition at line 698 of file swscale_internal.h.

◆  hw_priv

void* SwsInternal::hw_priv

Definition at line 701 of file swscale_internal.h.

◆  is_legacy_init

int SwsInternal::is_legacy_init

Definition at line 703 of file swscale_internal.h.

◆  frame_pool

FFFramePool SwsInternal::frame_pool

Definition at line 705 of file swscale_internal.h.


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

Generated on Sun Sep 6 2026 19:21:29 for FFmpeg by doxygen 1.13.2

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