Lines Matching defs:SwsContext
283 typedef struct SwsContext { struct
287 const AVClass *av_class;
293 SwsFunc swscale;
294 int srcW; ///< Width of source luma/alpha planes.
295 int srcH; ///< Height of source luma/alpha planes.
296 int dstH; ///< Height of destination luma/alpha planes.
320 struct SwsContext *cascaded_context[3]; argument
321 int cascaded_tmpStride[4];
322 uint8_t *cascaded_tmp[4];
323 int cascaded1_tmpStride[4];
324 uint8_t *cascaded1_tmp[4];
325 int cascaded_mainindex;
327 double gamma_value;
328 int gamma_flag;
329 int is_internal_gamma;
330 uint16_t *gamma;
331 uint16_t *inv_gamma;
333 int numDesc;
334 int descIndex[2];
335 int numSlice;
336 struct SwsSlice *slice;
337 struct SwsFilterDescriptor *desc;
339 uint32_t pal_yuv[256];
340 uint32_t pal_rgb[256];
342 float uint2float_lut[256];
354 …stInLumBuf; ///< Last scaled horizontal luma/alpha line from source in the ring buffer.
355 …stInChrBuf; ///< Last scaled horizontal chroma line from source in the ring buffer.
358 uint8_t *formatConvBuffer;
359 int needAlpha;
375 … int16_t *hLumFilter; ///< Array of horizontal filter coefficients for luma/alpha planes.
376 … int16_t *hChrFilter; ///< Array of horizontal filter coefficients for chroma planes.
377 … int16_t *vLumFilter; ///< Array of vertical filter coefficients for luma/alpha planes.
378 … int16_t *vChrFilter; ///< Array of vertical filter coefficients for chroma planes.
379 …os; ///< Array of horizontal filter starting positions for each dst[i] for luma/alpha planes.
380 …os; ///< Array of horizontal filter starting positions for each dst[i] for chroma planes.
381 …os; ///< Array of vertical filter starting positions for each dst[i] for luma/alpha planes.
382 …os; ///< Array of vertical filter starting positions for each dst[i] for chroma planes.
383 int hLumFilterSize; ///< Horizontal filter size for luma/alpha pixels.
384 int hChrFilterSize; ///< Horizontal filter size for chroma pixels.
385 int vLumFilterSize; ///< Vertical filter size for luma/alpha pixels.
386 int vChrFilterSize; ///< Vertical filter size for chroma pixels.
389 …ze; ///< Runtime-generated MMXEXT horizontal fast bilinear scaler code size for luma/alpha planes.
390 …deSize; ///< Runtime-generated MMXEXT horizontal fast bilinear scaler code size for chroma planes.
391 …lterCode; ///< Runtime-generated MMXEXT horizontal fast bilinear scaler code for luma/alpha planes.
392 …xtFilterCode; ///< Runtime-generated MMXEXT horizontal fast bilinear scaler code for chroma planes.
394 int canMMXEXTBeUsed;
395 int warned_unuseable_bilinear;
397 int dstY; ///< Last destination vertical line output from last slice.
398 … ///< Flags passed by the user to select scaler algorithm, optimizations, subsampling, etc...
399 void *yuvTable; // pointer to the yuv->rgb table start so it can be freed()
402 DECLARE_ALIGNED(16, int, table_gV)[256 + 2*YUVRGB_TABLE_HEADROOM];
403 uint8_t *table_rV[256 + 2*YUVRGB_TABLE_HEADROOM];
404 uint8_t *table_gU[256 + 2*YUVRGB_TABLE_HEADROOM];
405 uint8_t *table_bU[256 + 2*YUVRGB_TABLE_HEADROOM];
406 …his table can contain both C and SIMD formatted values, the C vales are always at the XY_IDX points
418 int *dither_error[4];
421 int contrast, brightness, saturation; // for sws_getColorspaceDetails
422 int srcColorspaceTable[4];
423 int dstColorspaceTable[4];
424 int srcRange; ///< 0 = MPG YUV range, 1 = JPG YUV range (source image).
425 int dstRange; ///< 0 = MPG YUV range, 1 = JPG YUV range (destination image).
426 int src0Alpha;
427 int dst0Alpha;
428 int srcXYZ;
429 int dstXYZ;
430 int src_h_chr_pos;
431 int dst_h_chr_pos;
432 int src_v_chr_pos;
433 int dst_v_chr_pos;
434 int yuv2rgb_y_offset;
435 int yuv2rgb_y_coeff;
436 int yuv2rgb_v2r_coeff;
437 int yuv2rgb_v2g_coeff;
438 int yuv2rgb_u2g_coeff;
439 int yuv2rgb_u2b_coeff;
479 int32_t lumMmxFilter[4 * MAX_FILTER_SIZE];
480 int32_t chrMmxFilter[4 * MAX_FILTER_SIZE];
481 int dstW; ///< Width of destination luma/alpha planes.
487 int32_t alpMmxFilter[4 * MAX_FILTER_SIZE];
493 DECLARE_ALIGNED(8, uint16_t, dither16)[8];
494 DECLARE_ALIGNED(8, uint32_t, dither32)[8];
496 const uint8_t *chrDither8, *lumDither8;
499 vector signed short CY;
500 vector signed short CRV;
501 vector signed short CBU;
502 vector signed short CGU;
503 vector signed short CGV;
504 vector signed short OY;
505 vector unsigned short CSHIFT;
506 vector signed short *vYCoeffsBank, *vCCoeffsBank;
509 int use_mmx_vfilter;
514 int16_t *xyzgamma;
515 int16_t *rgbgamma;
516 int16_t *xyzgammainv;
517 int16_t *rgbgammainv;
518 int16_t xyz2rgb_matrix[3][4];
519 int16_t rgb2xyz_matrix[3][4];
522 yuv2planar1_fn yuv2plane1;
523 yuv2planarX_fn yuv2planeX;
524 yuv2interleavedX_fn yuv2nv12cX;
525 yuv2packed1_fn yuv2packed1;
526 yuv2packed2_fn yuv2packed2;
527 yuv2packedX_fn yuv2packedX;
528 yuv2anyX_fn yuv2anyX;
554 * to produce one line of output data. Compared to SwsContext->hScale(), argument
571 void (*hyscale_fast)(struct SwsContext *c, argument
574 void (*hcscale_fast)(struct SwsContext *c, argument
611 void (*hyScale)(struct SwsContext *c, int16_t *dst, int dstW, argument
614 void (*hcScale)(struct SwsContext *c, int16_t *dst, int dstW, argument
629 } SwsContext; argument