static uint8_t clip_table[3*256];
static uint8_t * const clip_tab= clip_table + 256;
-static const int verbose= 0;
-
static const int attribute_used deringThreshold= 20;
strncpy(temp, name, GET_MODE_BUFFER_SIZE);
- if(verbose>1) printf("pp: %s\n", name);
+ av_log(NULL, AV_LOG_DEBUG, "pp: %s\n", name);
for(;;){
char *filterName;
if(filterToken == NULL) break;
p+= strlen(filterToken) + 1; // p points to next filterToken
filterName= strtok(filterToken, optionDelimiters);
- if(verbose>1) printf("pp: %s::%s\n", filterToken, filterName);
+ av_log(NULL, AV_LOG_DEBUG, "pp: %s::%s\n", filterToken, filterName);
if(*filterName == '-')
{
option= strtok(NULL, optionDelimiters);
if(option == NULL) break;
- if(verbose>1) printf("pp: option: %s\n", option);
+ av_log(NULL, AV_LOG_DEBUG, "pp: 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;
for(i=0; filters[i].shortName!=NULL; i++)
{
-// printf("Compareing %s, %s, %s\n", filters[i].shortName,filters[i].longName, filterName);
if( !strcmp(filters[i].longName, filterName)
|| !strcmp(filters[i].shortName, filterName))
{
ppMode->error += numOfUnknownOptions;
}
- if(verbose>1) printf("pp: lumMode=%X, chromMode=%X\n", ppMode->lumMode, ppMode->chromMode);
+ av_log(NULL, AV_LOG_DEBUG, "pp: lumMode=%X, chromMode=%X\n", ppMode->lumMode, ppMode->chromMode);
if(ppMode->error)
{
- fprintf(stderr, "%d errors in postprocess string \"%s\"\n", ppMode->error, name);
+ av_log(NULL, AV_LOG_ERROR, "%d errors in postprocess string \"%s\"\n", ppMode->error, name);
av_free(ppMode);
return NULL;
}
memset(clip_table+512, 0, 256);
}
+static const char * context_to_name(void * ptr) {
+ return "postproc";
+}
+
+static AVClass av_codec_context_class = { "Postproc", context_to_name, NULL };
+
pp_context_t *pp_get_context(int width, int height, int cpuCaps){
PPContext *c= av_malloc(sizeof(PPContext));
int stride= (width+15)&(~15); //assumed / will realloc if needed
global_init();
memset(c, 0, sizeof(PPContext));
+ c->av_class = &av_codec_context_class;
c->cpuCaps= cpuCaps;
if(cpuCaps&PP_FORMAT){
c->hChromaSubSample= cpuCaps&0x3;
else
for(i=0; i<mbWidth; i++) QP_store[i]= 1;
}
-//printf("pict_type:%d\n", pict_type);
if(pict_type & PP_PICT_TYPE_QP2){
int i;
int x,y;
for(y=0; y<mbHeight; y++){
for(x=0; x<mbWidth; x++){
- printf("%2d ", QP_store[x + y*QPStride]);
+ av_log(c, AV_LOG_INFO, "%2d ", QP_store[x + y*QPStride]);
}
- printf("\n");
+ av_log(c, AV_LOG_INFO, "\n");
}
- printf("\n");
+ av_log(c, AV_LOG_INFO, "\n");
}
if((pict_type&7)!=3)
}
}
- if(verbose>2)
- {
- printf("using npp filters 0x%X/0x%X\n", mode->lumMode, mode->chromMode);
- }
+ av_log(c, AV_LOG_DEBUG, "using npp filters 0x%X/0x%X\n",
+ mode->lumMode, mode->chromMode);
postProcess(src[0], srcStride[0], dst[0], dstStride[0],
width, height, QP_store, QPStride, 0, mode, c);
num++;
if(num%1000000 == 0)
{
- printf(" %d %d %d %d\n", num, sum, max, bias);
+ av_log(c, AV_LOG_INFO, " %d %d %d %d\n", num, sum, max, bias);
}
}
}
if(1024LL*1024LL*1024LL % numSkiped == 0)
{
- printf( "sum:%1.3f, skip:%d, wQP:%d, "
+ av_log(c, AV_LOG_INFO, "sum:%1.3f, skip:%d, wQP:%d, "
"wRange:%d, wDiff:%d, relSkip:%1.3f\n",
(float)errorSum/numSkiped, numSkiped, worstQP, worstRange,
worstDiff, (float)numSkiped/numPixels);
:: "r" (src), "r" (tempBlured), "r"((long)stride), "m" (tempBluredPast)
: "%"REG_a, "%"REG_d, "%"REG_c, "memory"
);
-//printf("%d\n", test);
#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW)
{
int y;
*tempBluredPast=i;
// ((*tempBluredPast)*3 + d + 2)>>2;
-//printf("%d %d %d\n", maxNoise[0], maxNoise[1], maxNoise[2]);
/*
Switch between
1 0 0 0 0 0 0 (0)
for(i=0; i<256; i++)
{
sum+= yHistogram[i];
-// printf("%d ", yHistogram[i]);
}
-// printf("\n\n");
/* we allways get a completly black picture first */
maxClipped= (uint64_t)(sum * c.ppMode.maxClippedThreshold);
}
}
-//printf("\n");
for(y=0; y<height; y+=BLOCK_SIZE)
{
//1% speedup if these are here instead of the inner loop
dstBlock= tempDst + dstStride;
srcBlock= tempSrc;
}
-//printf("\n");
// From this point on it is guranteed that we can read and write 16 lines downward
// finish 1 block before the next otherwise we might have a problem