[Mplayer-cvslog] CVS: main/postproc postprocess.c,1.49,1.50 postprocess.h,1.17,1.18
Michael Niedermayer
michael at mplayer.dev.hu
Wed Dec 26 20:45:52 CET 2001
Update of /cvsroot/mplayer/main/postproc
In directory mplayer:/var/tmp.root/cvs-serv11735/postproc
Modified Files:
postprocess.c postprocess.h
Log Message:
new -pp options stuff (-npp ...)
see line527 at postproc/postprocess.c ;) for the documentation of the format
Index: postprocess.c
===================================================================
RCS file: /cvsroot/mplayer/main/postproc/postprocess.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- postprocess.c 27 Nov 2001 01:12:30 -0000 1.49
+++ postprocess.c 26 Dec 2001 19:45:49 -0000 1.50
@@ -143,6 +143,12 @@
static uint64_t packedYScale= 0x0100010001000100LL;
#endif
+extern int divx_quality;
+int newPPFlag=0; //is set if -npp is used
+struct PPMode gPPMode[GET_PP_QUALITY_MAX+1];
+
+extern int verbose;
+
int hFlatnessThreshold= 56 - 16;
int vFlatnessThreshold= 56 - 16;
int deringThreshold= 20;
@@ -565,7 +571,7 @@
strncpy(temp, name, GET_MODE_BUFFER_SIZE);
- printf("%s\n", name);
+ if(verbose) printf("%s\n", name);
for(;;){
char *filterName;
@@ -582,7 +588,7 @@
if(filterToken == NULL) break;
p+= strlen(filterToken) + 1; // p points to next filterToken
filterName= strtok(filterToken, optionDelimiters);
- printf("%s::%s\n", filterToken, filterName);
+ if(verbose) printf("%s::%s\n", filterToken, filterName);
if(*filterName == '-')
{
@@ -594,7 +600,7 @@
option= strtok(NULL, optionDelimiters);
if(option == NULL) break;
- printf("%s\n", option);
+ if(verbose) printf(" option: %s\n", option);
if(!strcmp("autoq", option) || !strcmp("a", option)) q= quality;
else if(!strcmp("nochrom", option) || !strcmp("y", option)) chrom=0;
else if(!strcmp("chrom", option) || !strcmp("c", option)) chrom=1;
@@ -700,11 +706,34 @@
if(ppMode.chromMode & DERING) ppMode.oldMode |= PP_DERING_C;
#endif
+ if(verbose) printf("lumMode=%X, chromMode=%X\n", ppMode.lumMode, ppMode.chromMode);
return ppMode;
}
/**
+ * Check and load the -npp part of the cmd line
+ */
+int readPPOpt(void *conf, char *arg)
+{
+ int quality;
+ for(quality=0; quality<GET_PP_QUALITY_MAX+1; quality++)
+ {
+ gPPMode[quality]= getPPModeByNameAndQuality(arg, quality);
+
+ if(gPPMode[quality].error) return -1;
+ }
+ newPPFlag=1;
+
+// it shouldnt matter what we set divx_quality to as long as its not 0
+// (we dont use it if newPPFlag is set)
+ divx_quality=1;
+ return 1;
+}
+
+/**
* Obsolete, dont use it, use postprocess2() instead
+ * this will check newPPFlag automatically and use postprocess2 if it is set
+ * mode = quality if newPPFlag
*/
void postprocess(unsigned char * src[], int src_stride,
unsigned char * dst[], int dst_stride,
@@ -714,20 +743,17 @@
{
struct PPMode ppMode;
static QP_STORE_T zeroArray[2048/8];
-/*
- static int qual=0;
- ppMode= getPPModeByNameAndQuality("fast,default,-hdeblock,-vdeblock,tmpnoise:150:200:300", qual);
- printf("OK\n");
- qual++;
- qual%=7;
- printf("\n%X %X %X %X :%d: %d %d %d\n", ppMode.lumMode, ppMode.chromMode, ppMode.oldMode, ppMode.error,
- qual, ppMode.maxTmpNoise[0], ppMode.maxTmpNoise[1], ppMode.maxTmpNoise[2]);
- postprocess2(src, src_stride, dst, dst_stride,
- horizontal_size, vertical_size, QP_store, QP_stride, &ppMode);
+ if(newPPFlag)
+ {
+ ppMode= gPPMode[mode];
+
+ postprocess2(src, src_stride, dst, dst_stride,
+ horizontal_size, vertical_size, QP_store, QP_stride, &ppMode);
- return;
-*/
+ return;
+ }
+
if(QP_store==NULL)
{
QP_store= zeroArray;
@@ -844,6 +870,7 @@
/**
* gets the mode flags for a given quality (larger values mean slower but better postprocessing)
+ * with -npp it simply returns quality
* 0 <= quality <= 6
*/
int getPpModeForQuality(int quality){
@@ -880,7 +907,8 @@
};
if(use_old_pp) return odivx_modes[quality];
#endif
- return modes[quality];
+ if(newPPFlag) return quality;
+ else return modes[quality];
}
Index: postprocess.h
===================================================================
RCS file: /cvsroot/mplayer/main/postproc/postprocess.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- postprocess.h 27 Nov 2001 02:25:31 -0000 1.17
+++ postprocess.h 26 Dec 2001 19:45:49 -0000 1.18
@@ -114,4 +114,6 @@
// name is the stuff after "-pp" on the command line
struct PPMode getPpModeByNameAndQuality(char *name, int quality);
+int readPPOpt(void *conf, char *arg);
+
#endif
More information about the MPlayer-cvslog
mailing list