From: Miguel F. <mig...@us...> - 2003-03-26 14:45:00
|
Update of /cvsroot/xine/xine-lib/src/libffmpeg/libavcodec/libpostproc In directory sc8-pr-cvs1:/tmp/cvs-serv17025/libavcodec/libpostproc Modified Files: postprocess.c postprocess.h postprocess_internal.h postprocess_template.c Log Message: update ffmpeg. trying to keep local changes (see diff_to_ffmpeg_cvs.txt), let me know if i overlooked something. as usual, preliminary QA: tested non debug builds and several codecs including divx3/4/5, mpeg4, xvid, msmpeg4v3, svq1, wmv7, dv (video/audio), wma i also enabled wmv8 by default since it worked fine with the streams i have. i'm not sure about current state of that so we might enable it only for non-x86 users in case of trouble. Index: postprocess.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/libavcodec/libpostproc/postprocess.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- postprocess.c 14 Mar 2003 12:14:10 -0000 1.1 +++ postprocess.c 26 Mar 2003 14:44:20 -0000 1.2 @@ -16,6 +16,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +/** + * @file postprocess.c + * postprocessing. + */ + /* C MMX MMX2 3DNow isVertDC Ec Ec @@ -62,10 +67,8 @@ //Changelog: use the CVS log -#ifdef HAVE_CONFIG_H #include "config.h" -#endif - +#include <inttypes.h> #include <stdio.h> #include "xineutils.h" @@ -151,7 +154,6 @@ if(w05 + w20 + b00 + b01 + b02 + b08 + b80 == 0) b00=0; } #endif - // The horizontal Functions exist only in C cuz the MMX code is faster with vertical filters and transposing Index: postprocess.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/libavcodec/libpostproc/postprocess.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- postprocess.h 14 Mar 2003 12:14:10 -0000 1.1 +++ postprocess.h 26 Mar 2003 14:44:20 -0000 1.2 @@ -36,7 +36,7 @@ typedef void pp_context_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], uint8_t * dst[3], int dstStride[3], Index: postprocess_internal.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/libavcodec/libpostproc/postprocess_internal.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- postprocess_internal.h 14 Mar 2003 12:14:10 -0000 1.1 +++ postprocess_internal.h 26 Mar 2003 14:44:20 -0000 1.2 @@ -16,10 +16,15 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +/** + * @file postprocess_internal.h + * internal api header. + */ + #define V_DEBLOCK 0x01 #define H_DEBLOCK 0x02 #define DERING 0x04 -#define LEVEL_FIX 0x08 /* Brightness & Contrast */ +#define LEVEL_FIX 0x08 ///< Brightness & Contrast #define LUM_V_DEBLOCK V_DEBLOCK // 1 #define LUM_H_DEBLOCK H_DEBLOCK // 2 @@ -36,7 +41,7 @@ // Experimental horizontal filters #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 //Deinterlacing Filters @@ -56,47 +61,59 @@ //filters on //#define COMPILE_TIME_MODE 0x77 +/** + * Postprocessng filter. + */ struct PPFilter{ char *shortName; char *longName; - int chromDefault; // is chrominance filtering on by default if this filter is manually activated - int minLumQuality; // minimum quality to turn luminance filtering on - int minChromQuality; // minimum quality to turn chrominance filtering on - int mask; // Bitmask to turn this filter on + int chromDefault; ///< is chrominance filtering on by default if this filter is manually activated + int minLumQuality; ///< minimum quality to turn luminance filtering on + int minChromQuality; ///< minimum quality to turn chrominance filtering on + int mask; ///< Bitmask to turn this filter on }; +/** + * Postprocessng mode. + */ typedef struct PPMode{ - int lumMode; // acivates filters for luminance - int chromMode; // acivates filters for chrominance - int error; // non zero on error - - int minAllowedY; // for brigtness correction - int maxAllowedY; // for brihtness correction - float maxClippedThreshold; // amount of "black" u r willing to loose to get a brightness corrected picture + int lumMode; ///< acivates filters for luminance + int chromMode; ///< acivates filters for chrominance + int error; ///< non zero on error + + int minAllowedY; ///< for brigtness correction + int maxAllowedY; ///< for brihtness correction + 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 flatnessThreshold; - int forcedQuant; // quantizer if FORCE_QUANT is used + int forcedQuant; ///< quantizer if FORCE_QUANT is used } PPMode; +/** + * postprocess context. + */ 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 __attribute__((aligned(8))) packedYOffset; uint64_t __attribute__((aligned(8))) packedYScale; - /* Temporal noise reducing buffers */ + /** Temporal noise reducing buffers */ uint8_t *tempBlured[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 *tempSrc; @@ -118,7 +135,7 @@ 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 vChromaSubSample; Index: postprocess_template.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/libavcodec/libpostproc/postprocess_template.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- postprocess_template.c 14 Mar 2003 12:14:10 -0000 1.1 +++ postprocess_template.c 26 Mar 2003 14:44:20 -0000 1.2 @@ -16,6 +16,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +/** + * @file postprocess_template.c + * mmx/mmx2/3dnow postprocess code. + */ + + #undef PAVGB #undef PMINUB #undef PMAXUB @@ -1523,7 +1529,7 @@ } /** - * 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 * 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 @@ -1570,7 +1576,7 @@ } /** - * 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 * 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 @@ -1635,7 +1641,7 @@ } /** - * 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 * 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 @@ -1714,7 +1720,7 @@ } /** - * 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 * 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 @@ -1789,7 +1795,7 @@ } /** - * 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, * 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 |