diff options
author | phintuka <phintuka> | 2007-05-17 22:05:40 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2007-05-17 22:05:40 +0000 |
commit | a05fb69ed916fe307903a842ff8843b9e42d5fb5 (patch) | |
tree | 57e497873fe88bfe3eb428497b6924ad0f581ba9 | |
parent | f344a4181868e1cc2bd910fdf50f71ff9f79873a (diff) | |
download | xineliboutput-a05fb69ed916fe307903a842ff8843b9e42d5fb5.tar.gz xineliboutput-a05fb69ed916fe307903a842ff8843b9e42d5fb5.tar.bz2 |
Setup menu for unsharp and denoise3d post plugins (Patch from Petri Helin)
-rw-r--r-- | i18n.c | 223 | ||||
-rw-r--r-- | setup_menu.c | 65 |
2 files changed, 284 insertions, 4 deletions
@@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: i18n.c,v 1.19 2007-04-12 22:53:36 phintuka Exp $ + * $Id: i18n.c,v 1.20 2007-05-17 22:05:40 phintuka Exp $ * * Translations provided by: * @@ -3492,7 +3492,226 @@ const tI18nPhrase Phrases[] = { "", // Russian "", // Croatian }, - + { + "3D Denoiser", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + "3D kohinanpoisto", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { // 3D Denoiser + " Spatial luma strength", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + " Luman tilavoimakkuus", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { // 3D Denoiser + " Spatial chroma strength", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + " Chroman tilavoimakkuus", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { // 3D Denoiser + " Temporal strength", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + " Ajallinen voimakkuus", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { + "Sharpen / Blur", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + "Terävöinti / Sumennus", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { // Unsharp mask + " Width of the luma matrix", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + " Luma-matriisin leveys", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { // Unsharp mask + " Height of the luma matrix", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + " Luma-matriisin korkeus", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { // Unsharp mask + " Amount of luma sharpness/blur", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + " Luma-terävöinti/-sumennus", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { // Unsharp mask + " Width of the chroma matrix", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + " Chroma-matriisin leveys", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { // Unsharp mask + " Height of the chroma matrix", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + " Chroma-matriisin korkeus", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, + { // Unsharp mask + " Amount of chroma sharpness/blur", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Portugu<EA>s + "", // Fran<E7>ais + "", // Norsk + " Chroma-terävöinti/-sumennus", // Suomi + "", // Polski + "", // Espa<F1>ol + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Croatian + }, #if 0 { "", // English diff --git a/setup_menu.c b/setup_menu.c index b90b0d22..5efdde47 100644 --- a/setup_menu.c +++ b/setup_menu.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: setup_menu.c,v 1.25 2007-04-12 22:53:36 phintuka Exp $ + * $Id: setup_menu.c,v 1.26 2007-05-17 22:05:40 phintuka Exp $ * */ @@ -491,6 +491,8 @@ class cMenuSetupVideo : public cMenuSetupPage cOsdItem *ctrl_pp; cOsdItem *ctrl_deinterlace; cOsdItem *ctrl_deinterlace_opts; + cOsdItem *ctrl_unsharp; + cOsdItem *ctrl_denoise3d; int deinterlace; struct tvtime_s tvtime; @@ -532,6 +534,10 @@ cMenuSetupVideo::~cMenuSetupVideo(void) cXinelibDevice::Instance().ConfigurePostprocessing( "pp", xc.ffmpeg_pp ? true : false, xc.FfmpegPpOptions()); cXinelibDevice::Instance().ConfigurePostprocessing( + "unsharp", xc.unsharp ? true : false, xc.UnsharpOptions()); + cXinelibDevice::Instance().ConfigurePostprocessing( + "denoise3d", xc.denoise3d ? true : false, xc.Denoise3dOptions()); + cXinelibDevice::Instance().ConfigurePostprocessing( xc.deinterlace_method, xc.audio_delay, xc.audio_compression, xc.audio_equalizer, xc.audio_surround, xc.speaker_type); } @@ -598,6 +604,37 @@ void cMenuSetupVideo::Set(void) &tvtime.chroma_filter)); } + Add(ctrl_unsharp = new cMenuEditBoolItem(tr("Sharpen / Blur"), + &newconfig.unsharp)); + if(newconfig.unsharp) { + Add(new cMenuEditOddIntItem( tr(" Width of the luma matrix"), + &newconfig.unsharp_luma_matrix_width, 3, 11)); + Add(new cMenuEditOddIntItem( tr(" Height of the luma matrix"), + &newconfig.unsharp_luma_matrix_height, 3, 11)); + Add(new cMenuEditFpIntItem( tr(" Amount of luma sharpness/blur"), + &newconfig.unsharp_luma_amount, -20, 20, 1, + tr("Off"))); + Add(new cMenuEditOddIntItem( tr(" Width of the chroma matrix"), + &newconfig.unsharp_chroma_matrix_width, 3, 11)); + Add(new cMenuEditOddIntItem( tr(" Height of the chroma matrix"), + &newconfig.unsharp_chroma_matrix_height, 3, 11)); + Add(new cMenuEditFpIntItem( tr(" Amount of chroma sharpness/blur"), + &newconfig.unsharp_chroma_amount, -20, 20, 1, + tr("Off"))); + } + + Add(ctrl_denoise3d = new cMenuEditBoolItem(tr("3D Denoiser"), + &newconfig.denoise3d)); + if(newconfig.denoise3d) { + Add(new cMenuEditFpIntItem( tr(" Spatial luma strength"), + &newconfig.denoise3d_luma, 0, 100, 1)); + Add(new cMenuEditFpIntItem( tr(" Spatial chroma strength"), + &newconfig.denoise3d_chroma, 0, 100, 1)); + Add(new cMenuEditFpIntItem( tr(" Temporal strength"), + &newconfig.denoise3d_time, 0, 100, 1)); + } + + #ifdef INTEGER_CONFIG_VIDEO_CONTROLS Add(new cMenuEditIntItem(tr("HUE"), &newconfig.hue, -1, 0xffff)); Add(new cMenuEditIntItem(tr("Saturation"), &newconfig.saturation,-1,0xffff)); @@ -662,7 +699,20 @@ eOSState cMenuSetupVideo::ProcessKey(eKeys Key) "pp", newconfig.ffmpeg_pp ? true : false, newconfig.FfmpegPpOptions()); Set(); - } else if(item == ctrl_deinterlace) { + } + else if(item == ctrl_unsharp) { + cXinelibDevice::Instance().ConfigurePostprocessing( + "unsharp", newconfig.unsharp ? true : false, + newconfig.UnsharpOptions()); + Set(); + } + else if(item == ctrl_denoise3d) { + cXinelibDevice::Instance().ConfigurePostprocessing( + "denoise3d", newconfig.denoise3d ? true : false, + newconfig.Denoise3dOptions()); + Set(); + } + else if(item == ctrl_deinterlace) { if(deinterlace == DEINTERLACE_TVTIME && !ctrl_deinterlace_opts) { Set(); } else if(deinterlace != DEINTERLACE_TVTIME && ctrl_deinterlace_opts) { @@ -703,6 +753,17 @@ void cMenuSetupVideo::Store(void) SetupStore("Post.pp.Enable", xc.ffmpeg_pp); SetupStore("Post.pp.Quality", xc.ffmpeg_pp_quality); SetupStore("Post.pp.Mode", xc.ffmpeg_pp_mode); + SetupStore("Post.unsharp.Enable", xc.unsharp); + SetupStore("Post.unsharp.luma_matrix_width", xc.unsharp_luma_matrix_width); + SetupStore("Post.unsharp.luma_matrix_height", xc.unsharp_luma_matrix_height); + SetupStore("Post.unsharp.luma_amount", xc.unsharp_luma_amount); + SetupStore("Post.unsharp.chroma_matrix_width", xc.unsharp_chroma_matrix_width); + SetupStore("Post.unsharp.chroma_matrix_height", xc.unsharp_chroma_matrix_height); + SetupStore("Post.unsharp.chroma_amount", xc.unsharp_chroma_amount); + SetupStore("Post.denoise3d.Enable", xc.denoise3d); + SetupStore("Post.denoise3d.luma", xc.denoise3d_luma); + SetupStore("Post.denoise3d.chroma", xc.denoise3d_chroma); + SetupStore("Post.denoise3d.time", xc.denoise3d_time); } |