Mercurial > libavcodec.hg
comparison libpostproc/postprocess.c @ 184:69d105cc6158 libavcodec
-npp help
| author | michael |
|---|---|
| date | Fri, 04 Jan 2002 13:39:06 +0000 |
| parents | d310beb2d848 |
| children | 8fceccef5804 |
comparison
equal
deleted
inserted
replaced
| 183:d310beb2d848 | 184:69d105cc6158 |
|---|---|
| 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; |
