mirror of https://git.ffmpeg.org/ffmpeg.git
doxy / cosmetics
Originally committed as revision 1637 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
1ab3d6691e
commit
b304569aff
|
@ -16,6 +16,11 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file postprocess.c
|
||||||
|
* postprocessing.
|
||||||
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
C MMX MMX2 3DNow
|
C MMX MMX2 3DNow
|
||||||
isVertDC Ec Ec
|
isVertDC Ec Ec
|
||||||
|
|
|
@ -36,7 +36,7 @@ extern "C" {
|
||||||
typedef void pp_context_t;
|
typedef void pp_context_t;
|
||||||
typedef void pp_mode_t;
|
typedef void pp_mode_t;
|
||||||
|
|
||||||
extern char *pp_help; //a simple help text
|
extern char *pp_help; ///< a simple help text
|
||||||
|
|
||||||
void pp_postprocess(uint8_t * src[3], int srcStride[3],
|
void pp_postprocess(uint8_t * src[3], int srcStride[3],
|
||||||
uint8_t * dst[3], int dstStride[3],
|
uint8_t * dst[3], int dstStride[3],
|
||||||
|
|
|
@ -16,10 +16,15 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file postprocess_internal.h
|
||||||
|
* internal api header.
|
||||||
|
*/
|
||||||
|
|
||||||
#define V_DEBLOCK 0x01
|
#define V_DEBLOCK 0x01
|
||||||
#define H_DEBLOCK 0x02
|
#define H_DEBLOCK 0x02
|
||||||
#define DERING 0x04
|
#define DERING 0x04
|
||||||
#define LEVEL_FIX 0x08 /* Brightness & Contrast */
|
#define LEVEL_FIX 0x08 ///< Brightness & Contrast
|
||||||
|
|
||||||
#define LUM_V_DEBLOCK V_DEBLOCK // 1
|
#define LUM_V_DEBLOCK V_DEBLOCK // 1
|
||||||
#define LUM_H_DEBLOCK H_DEBLOCK // 2
|
#define LUM_H_DEBLOCK H_DEBLOCK // 2
|
||||||
|
@ -36,7 +41,7 @@
|
||||||
// Experimental horizontal filters
|
// Experimental horizontal filters
|
||||||
#define H_X1_FILTER 0x2000 // 8192
|
#define H_X1_FILTER 0x2000 // 8192
|
||||||
|
|
||||||
// select between full y range (255-0) or standart one (234-16)
|
/// select between full y range (255-0) or standart one (234-16)
|
||||||
#define FULL_Y_RANGE 0x8000 // 32768
|
#define FULL_Y_RANGE 0x8000 // 32768
|
||||||
|
|
||||||
//Deinterlacing Filters
|
//Deinterlacing Filters
|
||||||
|
@ -56,47 +61,59 @@
|
||||||
//filters on
|
//filters on
|
||||||
//#define COMPILE_TIME_MODE 0x77
|
//#define COMPILE_TIME_MODE 0x77
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Postprocessng filter.
|
||||||
|
*/
|
||||||
struct PPFilter{
|
struct PPFilter{
|
||||||
char *shortName;
|
char *shortName;
|
||||||
char *longName;
|
char *longName;
|
||||||
int chromDefault; // is chrominance filtering on by default if this filter is manually activated
|
int chromDefault; ///< is chrominance filtering on by default if this filter is manually activated
|
||||||
int minLumQuality; // minimum quality to turn luminance filtering on
|
int minLumQuality; ///< minimum quality to turn luminance filtering on
|
||||||
int minChromQuality; // minimum quality to turn chrominance filtering on
|
int minChromQuality; ///< minimum quality to turn chrominance filtering on
|
||||||
int mask; // Bitmask to turn this filter on
|
int mask; ///< Bitmask to turn this filter on
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Postprocessng mode.
|
||||||
|
*/
|
||||||
typedef struct PPMode{
|
typedef struct PPMode{
|
||||||
int lumMode; // acivates filters for luminance
|
int lumMode; ///< acivates filters for luminance
|
||||||
int chromMode; // acivates filters for chrominance
|
int chromMode; ///< acivates filters for chrominance
|
||||||
int error; // non zero on error
|
int error; ///< non zero on error
|
||||||
|
|
||||||
int minAllowedY; // for brigtness correction
|
int minAllowedY; ///< for brigtness correction
|
||||||
int maxAllowedY; // for brihtness correction
|
int maxAllowedY; ///< for brihtness correction
|
||||||
float maxClippedThreshold; // amount of "black" u r willing to loose to get a brightness corrected picture
|
float maxClippedThreshold; ///< amount of "black" u r willing to loose to get a brightness corrected picture
|
||||||
|
|
||||||
int maxTmpNoise[3]; // for Temporal Noise Reducing filter (Maximal sum of abs differences)
|
int maxTmpNoise[3]; ///< for Temporal Noise Reducing filter (Maximal sum of abs differences)
|
||||||
|
|
||||||
int baseDcDiff;
|
int baseDcDiff;
|
||||||
int flatnessThreshold;
|
int flatnessThreshold;
|
||||||
|
|
||||||
int forcedQuant; // quantizer if FORCE_QUANT is used
|
int forcedQuant; ///< quantizer if FORCE_QUANT is used
|
||||||
} PPMode;
|
} PPMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* postprocess context.
|
||||||
|
*/
|
||||||
typedef struct PPContext{
|
typedef struct PPContext{
|
||||||
uint8_t *tempBlocks; //used for the horizontal code
|
uint8_t *tempBlocks; ///<used for the horizontal code
|
||||||
|
|
||||||
/* we need 64bit here otherwise we´ll going to have a problem
|
/**
|
||||||
after watching a black picture for 5 hours*/
|
* luma histogram.
|
||||||
|
* we need 64bit here otherwise we'll going to have a problem
|
||||||
|
* after watching a black picture for 5 hours
|
||||||
|
*/
|
||||||
uint64_t *yHistogram;
|
uint64_t *yHistogram;
|
||||||
|
|
||||||
uint64_t __attribute__((aligned(8))) packedYOffset;
|
uint64_t __attribute__((aligned(8))) packedYOffset;
|
||||||
uint64_t __attribute__((aligned(8))) packedYScale;
|
uint64_t __attribute__((aligned(8))) packedYScale;
|
||||||
|
|
||||||
/* Temporal noise reducing buffers */
|
/** Temporal noise reducing buffers */
|
||||||
uint8_t *tempBlured[3];
|
uint8_t *tempBlured[3];
|
||||||
int32_t *tempBluredPast[3];
|
int32_t *tempBluredPast[3];
|
||||||
|
|
||||||
/* Temporary buffers for handling the last row(s) */
|
/** Temporary buffers for handling the last row(s) */
|
||||||
uint8_t *tempDst;
|
uint8_t *tempDst;
|
||||||
uint8_t *tempSrc;
|
uint8_t *tempSrc;
|
||||||
|
|
||||||
|
@ -118,7 +135,7 @@ typedef struct PPContext{
|
||||||
|
|
||||||
int cpuCaps;
|
int cpuCaps;
|
||||||
|
|
||||||
int stride; //size of some buffers (needed to realloc them if needed)
|
int stride; ///<size of some buffers (needed to realloc them if needed)
|
||||||
|
|
||||||
int hChromaSubSample;
|
int hChromaSubSample;
|
||||||
int vChromaSubSample;
|
int vChromaSubSample;
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file postprocess_template.c
|
||||||
|
* mmx/mmx2/3dnow postprocess code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#undef PAVGB
|
#undef PAVGB
|
||||||
#undef PMINUB
|
#undef PMINUB
|
||||||
#undef PMAXUB
|
#undef PMAXUB
|
||||||
|
@ -1523,7 +1529,7 @@ DERING_CORE((%0, %1, 8),(%%edx, %1, 4) ,%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deinterlaces the given block
|
* Deinterlaces the given block by linearly interpolating every second line.
|
||||||
* will be called for every 8x8 block and can read & write from line 4-15
|
* will be called for every 8x8 block and can read & write from line 4-15
|
||||||
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
||||||
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
||||||
|
@ -1570,7 +1576,7 @@ static inline void RENAME(deInterlaceInterpolateLinear)(uint8_t src[], int strid
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deinterlaces the given block
|
* Deinterlaces the given block by cubic interpolating every second line.
|
||||||
* will be called for every 8x8 block and can read & write from line 4-15
|
* will be called for every 8x8 block and can read & write from line 4-15
|
||||||
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
||||||
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
||||||
|
@ -1635,7 +1641,7 @@ DEINT_CUBIC((%%edx, %1), (%0, %1, 8), (%%edx, %1, 4), (%%ecx), (%%ecx, %1, 2))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deinterlaces the given block
|
* Deinterlaces the given block by filtering every second line with a (-1 4 2 4 -1) filter.
|
||||||
* will be called for every 8x8 block and can read & write from line 4-15
|
* will be called for every 8x8 block and can read & write from line 4-15
|
||||||
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
||||||
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
||||||
|
@ -1714,7 +1720,7 @@ DEINT_FF((%%edx, %1), (%%edx, %1, 2), (%0, %1, 8), (%%edx, %1, 4))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deinterlaces the given block
|
* Deinterlaces the given block by filtering all lines with a (1 2 1) filter.
|
||||||
* will be called for every 8x8 block and can read & write from line 4-15
|
* will be called for every 8x8 block and can read & write from line 4-15
|
||||||
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
||||||
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
||||||
|
@ -1789,7 +1795,7 @@ static inline void RENAME(deInterlaceBlendLinear)(uint8_t src[], int stride)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deinterlaces the given block
|
* Deinterlaces the given block by applying a median filter to every second line.
|
||||||
* will be called for every 8x8 block and can read & write from line 4-15,
|
* will be called for every 8x8 block and can read & write from line 4-15,
|
||||||
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
* lines 0-3 have been passed through the deblock / dering filters allready, but can be read too
|
||||||
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
* lines 4-12 will be read into the deblocking filter and should be deinterlaced
|
||||||
|
|
Loading…
Reference in New Issue