mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Document some of SwsContext.
Originally committed as revision 30328 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
This commit is contained in:
parent
0cc854e377
commit
9556124c97
@ -75,16 +75,22 @@ typedef struct SwsContext {
|
|||||||
* sws_scale() wrapper so they can be freely modified here.
|
* sws_scale() wrapper so they can be freely modified here.
|
||||||
*/
|
*/
|
||||||
SwsFunc swScale;
|
SwsFunc swScale;
|
||||||
int srcW, srcH, dstH;
|
int srcW; ///< Width of source luma/alpha planes.
|
||||||
int chrSrcW, chrSrcH, chrDstW, chrDstH;
|
int srcH; ///< Height of source luma/alpha planes.
|
||||||
|
int dstH; ///< Height of destination luma/alpha planes.
|
||||||
|
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, chrXInc;
|
int lumXInc, chrXInc;
|
||||||
int lumYInc, chrYInc;
|
int lumYInc, chrYInc;
|
||||||
enum PixelFormat dstFormat, srcFormat; ///< format 4:2:0 type is always YV12
|
enum PixelFormat dstFormat; ///< Destination pixel format.
|
||||||
|
enum PixelFormat srcFormat; ///< Source pixel format.
|
||||||
int chrSrcHSubSample, chrSrcVSubSample;
|
int chrSrcHSubSample, chrSrcVSubSample;
|
||||||
int chrDstHSubSample, chrDstVSubSample;
|
int chrDstHSubSample, chrDstVSubSample;
|
||||||
int vChrDrop;
|
int vChrDrop;
|
||||||
int sliceDir;
|
int sliceDir;
|
||||||
double param[2];
|
double param[2]; ///< Input parameters for scaling algorithms that need them.
|
||||||
|
|
||||||
uint32_t pal_yuv[256];
|
uint32_t pal_yuv[256];
|
||||||
uint32_t pal_rgb[256];
|
uint32_t pal_rgb[256];
|
||||||
@ -110,10 +116,10 @@ typedef struct SwsContext {
|
|||||||
int vLumBufSize;
|
int vLumBufSize;
|
||||||
int vChrBufSize;
|
int vChrBufSize;
|
||||||
|
|
||||||
int lumMmx2FilterCodeSize;
|
int lumMmx2FilterCodeSize; ///< Runtime-generated MMX2 horizontal fast bilinear scaler code size for luma/alpha planes.
|
||||||
int chrMmx2FilterCodeSize;
|
int chrMmx2FilterCodeSize; ///< Runtime-generated MMX2 horizontal fast bilinear scaler code size for chroma planes.
|
||||||
uint8_t *lumMmx2FilterCode;
|
uint8_t *lumMmx2FilterCode; ///< Runtime-generated MMX2 horizontal fast bilinear scaler code for luma/alpha planes.
|
||||||
uint8_t *chrMmx2FilterCode;
|
uint8_t *chrMmx2FilterCode; ///< Runtime-generated MMX2 horizontal fast bilinear scaler code for chroma planes.
|
||||||
|
|
||||||
int canMMX2BeUsed;
|
int canMMX2BeUsed;
|
||||||
|
|
||||||
@ -121,8 +127,8 @@ typedef struct SwsContext {
|
|||||||
int lastInChrBuf;
|
int lastInChrBuf;
|
||||||
int lumBufIndex;
|
int lumBufIndex;
|
||||||
int chrBufIndex;
|
int chrBufIndex;
|
||||||
int dstY;
|
int dstY; ///< Last destination vertical line output from last slice.
|
||||||
int flags;
|
int flags; ///< Flags passed by the user to select scaler algorithm, optimizations, subsampling, etc...
|
||||||
void * yuvTable; // pointer to the yuv->rgb table start so it can be freed()
|
void * yuvTable; // pointer to the yuv->rgb table start so it can be freed()
|
||||||
uint8_t * table_rV[256];
|
uint8_t * table_rV[256];
|
||||||
uint8_t * table_gU[256];
|
uint8_t * table_gU[256];
|
||||||
@ -133,7 +139,8 @@ typedef struct SwsContext {
|
|||||||
int contrast, brightness, saturation; // for sws_getColorspaceDetails
|
int contrast, brightness, saturation; // for sws_getColorspaceDetails
|
||||||
int srcColorspaceTable[4];
|
int srcColorspaceTable[4];
|
||||||
int dstColorspaceTable[4];
|
int dstColorspaceTable[4];
|
||||||
int srcRange, dstRange;
|
int srcRange; ///< 0 = MPG YUV range, 1 = JPG YUV range (source image).
|
||||||
|
int dstRange; ///< 0 = MPG YUV range, 1 = JPG YUV range (destination image).
|
||||||
int yuv2rgb_y_offset;
|
int yuv2rgb_y_offset;
|
||||||
int yuv2rgb_y_coeff;
|
int yuv2rgb_y_coeff;
|
||||||
int yuv2rgb_v2r_coeff;
|
int yuv2rgb_v2r_coeff;
|
||||||
|
Loading…
Reference in New Issue
Block a user