comparison postproc/postprocess.c @ 3976:3aa6a5c1ca32

-npp help
author michael
date Fri, 04 Jan 2002 13:39:06 +0000
parents 4911e2fc554b
children a80d0b59ca0e
comparison
equal deleted inserted replaced
3975:04b2227ab75a 3976:3aa6a5c1ca32
524 //static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStride, int width, int height, 524 //static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStride, int width, int height,
525 // QP_STORE_T QPs[], int QPStride, int isColor, struct PPMode *ppMode); 525 // QP_STORE_T QPs[], int QPStride, int isColor, struct PPMode *ppMode);
526 526
527 /* -pp Command line Help 527 /* -pp Command line Help
528 NOTE/FIXME: put this at an appropriate place (--help, html docs, man mplayer)? 528 NOTE/FIXME: put this at an appropriate place (--help, html docs, man mplayer)?
529
530 -pp <filterName>[:<option>[:<option>...]][,[-]<filterName>[:<option>...]]...
531
532 long form example:
533 -pp vdeblock:autoq,hdeblock:autoq,linblenddeint -pp default,-vdeblock
534 short form example:
535 -pp vb:a,hb:a,lb -pp de,-vb
536 more examples:
537 -pp tn:64:128:256
538
539 Filters Options
540 short long name short long option Description
541 * * a autoq cpu power dependant enabler
542 c chrom chrominance filtring enabled
543 y nochrom chrominance filtring disabled
544 hb hdeblock (2 Threshold) horizontal deblocking filter
545 1. Threshold: default is 1, higher means stronger deblocking
546 2. Threshold: default is 40, lower means stronger deblocking
547 the horizontal & vertical deblocking filters share these
548 so u cant set different thresholds for h / v
549 vb vdeblock (2 Threshold) vertical deblocking filter
550 hr rkhdeblock
551 vr rkvdeblock
552 h1 x1hdeblock Experimental horizontal deblock filter 1
553 v1 x1vdeblock Experimental vertical deblock filter 1
554 dr dering not implemented yet
555 al autolevels automatic brightness / contrast fixer
556 f fullyrange stretch luminance range to (0..255)
557 lb linblenddeint linear blend deinterlacer
558 li linipoldeint linear interpolating deinterlacer
559 ci cubicipoldeint cubic interpolating deinterlacer
560 md mediandeint median deinterlacer
561 de default hdeblock:a,vdeblock:a,dering:a,autolevels
562 fa fast x1hdeblock:a,x1vdeblock:a,dering:a,autolevels
563 tn tmpnoise (3 Thresholds) Temporal Noise Reducer
564 1. <= 2. <= 3. Threshold, larger means stronger filtering
565 fq forceQuant <quantizer> Force quantizer (for reencoded lq stuff)
566 */ 529 */
530 char *help=
531 "-npp <filterName>[:<option>[:<option>...]][,[-]<filterName>[:<option>...]]...\n"
532 "long form example:\n"
533 "-npp vdeblock:autoq,hdeblock:autoq,linblenddeint -npp default,-vdeblock\n"
534 "short form example:\n"
535 "-npp vb:a,hb:a,lb -npp de,-vb\n"
536 "more examples:\n"
537 "-npp tn:64:128:256\n"
538 "Filters Options\n"
539 "short long name short long option Description\n"
540 "* * a autoq cpu power dependant enabler\n"
541 " c chrom chrominance filtring enabled\n"
542 " y nochrom chrominance filtring disabled\n"
543 "hb hdeblock (2 Threshold) horizontal deblocking filter\n"
544 " 1. Threshold: default=1, higher -> more deblocking\n"
545 " 2. Threshold: default=40, lower -> more deblocking\n"
546 " the h & v deblocking filters share these\n"
547 " so u cant set different thresholds for h / v\n"
548 "vb vdeblock (2 Threshold) vertical deblocking filter\n"
549 "hr rkhdeblock\n"
550 "vr rkvdeblock\n"
551 "h1 x1hdeblock Experimental h deblock filter 1\n"
552 "v1 x1vdeblock Experimental v deblock filter 1\n"
553 "dr dering Deringing filter\n"
554 "al autolevels automatic brightness / contrast\n"
555 " f fullyrange stretch luminance to (0..255)\n"
556 "lb linblenddeint linear blend deinterlacer\n"
557 "li linipoldeint linear interpolating deinterlace\n"
558 "ci cubicipoldeint cubic interpolating deinterlacer\n"
559 "md mediandeint median deinterlacer\n"
560 "de default hb:a,vb:a,dr:a,al\n"
561 "fa fast h1:a,v1:a,dr:a,al\n"
562 "tn tmpnoise (3 Thresholds) Temporal Noise Reducer\n"
563 " 1. <= 2. <= 3. larger -> stronger filtering\n"
564 "fq forceQuant <quantizer> Force quantizer\n"
565 ;
567 566
568 /** 567 /**
569 * returns a PPMode struct which will have a non 0 error variable if an error occured 568 * returns a PPMode struct which will have a non 0 error variable if an error occured
570 * name is the string after "-pp" on the command line 569 * name is the string after "-pp" on the command line
571 * quality is a number from 0 to GET_PP_QUALITY_MAX 570 * quality is a number from 0 to GET_PP_QUALITY_MAX
579 struct PPMode ppMode= {0,0,0,0,0,0,{150,200,400}}; 578 struct PPMode ppMode= {0,0,0,0,0,0,{150,200,400}};
580 char *filterToken; 579 char *filterToken;
581 580
582 strncpy(temp, name, GET_MODE_BUFFER_SIZE); 581 strncpy(temp, name, GET_MODE_BUFFER_SIZE);
583 582
583 if(!strcmp("help", name))
584 {
585 printf("%s", help);
586 ppMode.error++;
587 return ppMode;
588 }
589
584 if(verbose) printf("%s\n", name); 590 if(verbose) printf("%s\n", name);
585 591
586 for(;;){ 592 for(;;){
587 char *filterName; 593 char *filterName;
588 int q= 1000000; //GET_PP_QUALITY_MAX; 594 int q= 1000000; //GET_PP_QUALITY_MAX;