Document some of SwsContext.
authorRamiro Polla <ramiro.polla@gmail.com>
Sat, 16 Jan 2010 19:04:55 +0000 (19:04 +0000)
committerRamiro Polla <ramiro.polla@gmail.com>
Sat, 16 Jan 2010 19:04:55 +0000 (19:04 +0000)
Originally committed as revision 30328 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

libswscale/swscale_internal.h

index 5efaee7..5aae3b9 100644 (file)
@@ -75,16 +75,22 @@ typedef struct SwsContext {
      * sws_scale() wrapper so they can be freely modified here.
      */
     SwsFunc swScale;
-    int srcW, srcH, dstH;
-    int chrSrcW, chrSrcH, chrDstW, chrDstH;
+    int srcW;                     ///< Width  of source      luma/alpha planes.
+    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 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 chrDstHSubSample, chrDstVSubSample;
     int vChrDrop;
     int sliceDir;
-    double param[2];
+    double param[2];              ///< Input parameters for scaling algorithms that need them.
 
     uint32_t pal_yuv[256];
     uint32_t pal_rgb[256];
@@ -110,10 +116,10 @@ typedef struct SwsContext {
     int vLumBufSize;
     int vChrBufSize;
 
-    int lumMmx2FilterCodeSize;
-    int chrMmx2FilterCodeSize;
-    uint8_t *lumMmx2FilterCode;
-    uint8_t *chrMmx2FilterCode;
+    int lumMmx2FilterCodeSize;    ///< Runtime-generated MMX2 horizontal fast bilinear scaler code size for luma/alpha planes.
+    int chrMmx2FilterCodeSize;    ///< Runtime-generated MMX2 horizontal fast bilinear scaler code size for chroma     planes.
+    uint8_t *lumMmx2FilterCode;   ///< Runtime-generated MMX2 horizontal fast bilinear scaler code for luma/alpha planes.
+    uint8_t *chrMmx2FilterCode;   ///< Runtime-generated MMX2 horizontal fast bilinear scaler code for chroma     planes.
 
     int canMMX2BeUsed;
 
@@ -121,8 +127,8 @@ typedef struct SwsContext {
     int lastInChrBuf;
     int lumBufIndex;
     int chrBufIndex;
-    int dstY;
-    int flags;
+    int dstY;                     ///< Last destination vertical line output from last slice.
+    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()
     uint8_t * table_rV[256];
     uint8_t * table_gU[256];
@@ -133,7 +139,8 @@ typedef struct SwsContext {
     int contrast, brightness, saturation;    // for sws_getColorspaceDetails
     int srcColorspaceTable[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_coeff;
     int yuv2rgb_v2r_coeff;