From a5adaebc130805962f83deccb29f47a7a2384fc8 Mon Sep 17 00:00:00 2001 From: Miguel Freitas Date: Wed, 26 Mar 2003 14:43:46 +0000 Subject: 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. CVS patchset: 4488 CVS date: 2003/03/26 14:43:46 --- src/libffmpeg/libavcodec/libpostproc/postprocess.c | 10 ++-- src/libffmpeg/libavcodec/libpostproc/postprocess.h | 2 +- .../libavcodec/libpostproc/postprocess_internal.h | 57 ++++++++++++++-------- .../libavcodec/libpostproc/postprocess_template.c | 16 ++++-- 4 files changed, 55 insertions(+), 30 deletions(-) (limited to 'src/libffmpeg/libavcodec/libpostproc') diff --git a/src/libffmpeg/libavcodec/libpostproc/postprocess.c b/src/libffmpeg/libavcodec/libpostproc/postprocess.c index 130bb36c6..8668b530f 100644 --- a/src/libffmpeg/libavcodec/libpostproc/postprocess.c +++ b/src/libffmpeg/libavcodec/libpostproc/postprocess.c @@ -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 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks //Changelog: use the CVS log -#ifdef HAVE_CONFIG_H #include "config.h" -#endif - +#include #include #include "xineutils.h" @@ -152,7 +155,6 @@ static inline void unusedVariableWarningFixer() } #endif - // The horizontal Functions exist only in C cuz the MMX code is faster with vertical filters and transposing /** diff --git a/src/libffmpeg/libavcodec/libpostproc/postprocess.h b/src/libffmpeg/libavcodec/libpostproc/postprocess.h index 8c3c7b143..fd8a42c13 100644 --- a/src/libffmpeg/libavcodec/libpostproc/postprocess.h +++ b/src/libffmpeg/libavcodec/libpostproc/postprocess.h @@ -36,7 +36,7 @@ extern "C" { 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], diff --git a/src/libffmpeg/libavcodec/libpostproc/postprocess_internal.h b/src/libffmpeg/libavcodec/libpostproc/postprocess_internal.h index f45a0cf85..1956180b7 100644 --- a/src/libffmpeg/libavcodec/libpostproc/postprocess_internal.h +++ b/src/libffmpeg/libavcodec/libpostproc/postprocess_internal.h @@ -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 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 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; ///