diff options
-rw-r--r-- | libhb/chroma_smooth.c | 370 | ||||
-rw-r--r-- | libhb/common.c | 5 | ||||
-rw-r--r-- | libhb/common.h | 1 | ||||
-rw-r--r-- | libhb/internal.h | 1 | ||||
-rw-r--r-- | libhb/param.c | 225 | ||||
-rw-r--r-- | libhb/preset.c | 35 | ||||
-rw-r--r-- | libhb/preset_builtin.h | 239 | ||||
-rw-r--r-- | preset/preset_builtin.json | 231 | ||||
-rw-r--r-- | preset/preset_builtin.list | 2 | ||||
-rw-r--r-- | preset/preset_cli_default.json | 3 | ||||
-rw-r--r-- | preset/preset_template.json | 3 | ||||
-rw-r--r-- | test/test.c | 113 |
12 files changed, 1216 insertions, 12 deletions
diff --git a/libhb/chroma_smooth.c b/libhb/chroma_smooth.c new file mode 100644 index 000000000..e27ecaa77 --- /dev/null +++ b/libhb/chroma_smooth.c @@ -0,0 +1,370 @@ +/* chroma_smooth.c + + Copyright (c) 2002 RĂ©mi Guyomarch <rguyom at pobox.com> + Copyright (c) 2003-2019 HandBrake Team + This file is part of the HandBrake source code + Homepage: <http://handbrake.fr/>. + It may be used under the terms of the GNU General Public License v2. + For full terms see the file COPYING file or visit http://www.gnu.org/licenses/gpl-2.0.html + */ + +#include "hb.h" + +#define CHROMA_SMOOTH_STRENGTH_DEFAULT 0.25 +#define CHROMA_SMOOTH_SIZE_DEFAULT 7 +#define CHROMA_SMOOTH_SIZE_MIN 3 +#define CHROMA_SMOOTH_SIZE_MAX 63 + +typedef struct +{ + int pix_fmt; // source pixel format + int width; // source video width + double strength; // strength + int size; // pixel context region width (must be odd) + + int steps; + int amount; + int scalebits; + int32_t halfscale; +} chroma_smooth_plane_context_t; + +typedef struct +{ + uint32_t * SC[CHROMA_SMOOTH_SIZE_MAX - 1]; +} chroma_smooth_thread_context_t; + +typedef chroma_smooth_thread_context_t chroma_smooth_thread_context3_t[3]; + +struct hb_filter_private_s +{ + chroma_smooth_plane_context_t plane_ctx[3]; + chroma_smooth_thread_context3_t * thread_ctx; + int threads; +}; + +static int chroma_smooth_init(hb_filter_object_t *filter, + hb_filter_init_t *init); + +static int chroma_smooth_init_thread(hb_filter_object_t *filter, int threads); + +static int chroma_smooth_work(hb_filter_object_t *filter, + hb_buffer_t ** buf_in, + hb_buffer_t ** buf_out); +static int chroma_smooth_work_thread(hb_filter_object_t *filter, + hb_buffer_t ** buf_in, + hb_buffer_t ** buf_out, int thread); + +static void chroma_smooth_close(hb_filter_object_t *filter); + +static const char chroma_smooth_template[] = + "cb-strength=^"HB_FLOAT_REG"$:cb-size=^"HB_INT_REG"$:" + "cr-strength=^"HB_FLOAT_REG"$:cr-size=^"HB_INT_REG"$"; + +hb_filter_object_t hb_filter_chroma_smooth = +{ + .id = HB_FILTER_CHROMA_SMOOTH, + .enforce_order = 1, + .name = "Chroma Smooth", + .settings = NULL, + .init = chroma_smooth_init, + .init_thread = chroma_smooth_init_thread, + .work = chroma_smooth_work, + .work_thread = chroma_smooth_work_thread, + .close = chroma_smooth_close, + .settings_template = chroma_smooth_template, +}; + +static void luma_copy(const uint8_t *src, + uint8_t *dst, + const int width, + const int height, + const int stride, + chroma_smooth_plane_context_t * ctx, + chroma_smooth_thread_context_t * tctx) +{ + for (int y = 0; y < height; y++) + { + memcpy(dst + y * stride, src + y * stride, stride); + } +} + +static void chroma_smooth(const uint8_t *src, + uint8_t *dst, + const int width, + const int height, + const int stride, + chroma_smooth_plane_context_t * ctx, + chroma_smooth_thread_context_t * tctx) +{ + uint32_t **SC = tctx->SC; + uint32_t SR[CHROMA_SMOOTH_SIZE_MAX - 1], + Tmp1, + Tmp2; + const uint8_t *src2 = src; // avoid gcc warning + int32_t res; + int x, y, z; + int amount = ctx->amount; + int steps = ctx->steps; + int scalebits = ctx->scalebits; + int32_t halfscale = ctx->halfscale; + + if (!amount) + { + if (src != dst) + { + memcpy(dst, src, stride*height); + } + + return; + } + + for (y = 0; y < 2 * steps; y++) + { + memset(SC[y], 0, sizeof(SC[y][0]) * (width + 2 * steps)); + } + + for (y = -steps; y < height + steps; y++) + { + if (y < height) + { + src2 = src; + } + + memset(SR, 0, sizeof(SR[0]) * (2 * steps - 1)); + + for (x = -steps; x < width + steps; x++) + { + Tmp1 = x <= 0 ? src2[0] : x >= width ? src2[width - 1] : src2[x]; + + for (z = 0; z < steps * 2; z += 2) + { + Tmp2 = SR[z + 0] + Tmp1; SR[z + 0] = Tmp1; + Tmp1 = SR[z + 1] + Tmp2; SR[z + 1] = Tmp2; + } + + for (z = 0; z < steps * 2; z += 2) + { + Tmp2 = SC[z + 0][x + steps] + Tmp1; SC[z + 0][x + steps] = Tmp1; + Tmp1 = SC[z + 1][x + steps] + Tmp2; SC[z + 1][x + steps] = Tmp2; + } + + if (x >= steps && y >= steps) + { + const uint8_t * srx = src - steps * stride + x - steps; + uint8_t * dsx = dst - steps * stride + x - steps; + + //res = (int32_t)*srx + ((((int32_t)*srx - + // (int32_t)((Tmp1 + halfscale) >> scalebits)) * amount) >> 16); + res = (int32_t)*srx - ((((int32_t)*srx - + (int32_t)((Tmp1 + halfscale) >> scalebits)) * amount) >> 16); + *dsx = res > 255 ? 255 : res < 0 ? 0 : (uint8_t)res; + } + } + + if (y >= 0) + { + dst += stride; + src += stride; + } + } +} + +static int chroma_smooth_init(hb_filter_object_t *filter, + hb_filter_init_t *init) +{ + filter->private_data = calloc(sizeof(struct hb_filter_private_s), 1); + if (filter->private_data == NULL) + { + hb_error("Chroma Smooth calloc failed"); + return -1; + } + hb_filter_private_t * pv = filter->private_data; + + // Mark parameters unset + for (int c = 0; c < 3; c++) + { + pv->plane_ctx[c].strength = -1; + pv->plane_ctx[c].size = -1; + } + + // Read user parameters + if (filter->settings != NULL) + { + hb_dict_t * dict = filter->settings; + hb_dict_extract_double(&pv->plane_ctx[1].strength, dict, "cb-strength"); + hb_dict_extract_int(&pv->plane_ctx[1].size, dict, "cb-size"); + + hb_dict_extract_double(&pv->plane_ctx[2].strength, dict, "cr-strength"); + hb_dict_extract_int(&pv->plane_ctx[2].size, dict, "cr-size"); + } + + // Cascade values + // Cr not set; inherit Cb. Cb not set; defaults. + for (int c = 2; c < 3; c++) + { + chroma_smooth_plane_context_t * prev_ctx = &pv->plane_ctx[c - 1]; + chroma_smooth_plane_context_t * ctx = &pv->plane_ctx[c]; + + if (ctx->strength == -1) ctx->strength = prev_ctx->strength; + if (ctx->size == -1) ctx->size = prev_ctx->size; + } + + for (int c = 0; c < 3; c++) + { + chroma_smooth_plane_context_t * ctx = &pv->plane_ctx[c]; + + ctx->width = init->geometry.width; + + // Replace unset values with defaults + if (ctx->strength == -1) + { + ctx->strength = CHROMA_SMOOTH_STRENGTH_DEFAULT; + } + if (ctx->size == -1) + { + ctx->size = CHROMA_SMOOTH_SIZE_DEFAULT; + } + + // Sanitize + if (ctx->strength < 0) ctx->strength = 0; + if (ctx->strength > 1.5) ctx->strength = 1.5; + if (ctx->size % 2 == 0) ctx->size--; + if (ctx->size < CHROMA_SMOOTH_SIZE_MIN) ctx->size = CHROMA_SMOOTH_SIZE_MIN; + if (ctx->size > CHROMA_SMOOTH_SIZE_MAX) ctx->size = CHROMA_SMOOTH_SIZE_MAX; + + ctx->amount = ctx->strength * 65536.0; + ctx->steps = ctx->size / 2; + ctx->scalebits = ctx->steps * 4; + ctx->halfscale = 1 << (ctx->scalebits - 1); + } + + if (chroma_smooth_init_thread(filter, 1) < 0) + { + chroma_smooth_close(filter); + return -1; + } + + return 0; +} + +static void chroma_smooth_thread_close(hb_filter_private_t *pv) +{ + int c, z; + for (c = 0; c < 3; c++) + { + chroma_smooth_plane_context_t * ctx = &pv->plane_ctx[c]; + for (int t = 0; t < pv->threads; t++) + { + chroma_smooth_thread_context_t * tctx = &pv->thread_ctx[t][c]; + for (z = 0; z < 2 * ctx->steps; z++) + { + free(tctx->SC[z]); + tctx->SC[z] = NULL; + } + } + } + free(pv->thread_ctx); +} + +static int chroma_smooth_init_thread(hb_filter_object_t *filter, int threads) +{ + hb_filter_private_t * pv = filter->private_data; + + chroma_smooth_thread_close(pv); + pv->thread_ctx = calloc(threads, sizeof(chroma_smooth_thread_context3_t)); + pv->threads = threads; + for (int c = 0; c < 3; c++) + { + chroma_smooth_plane_context_t * ctx = &pv->plane_ctx[c]; + int w = hb_image_width(ctx->pix_fmt, ctx->width, c); + + for (int t = 0; t < threads; t++) + { + chroma_smooth_thread_context_t * tctx = &pv->thread_ctx[t][c]; + int z; + for (z = 0; z < 2 * ctx->steps; z++) + { + tctx->SC[z] = malloc(sizeof(*(tctx->SC[z])) * + (w + 2 * ctx->steps)); + if (tctx->SC[z] == NULL) + { + hb_error("Chroma Smooth calloc failed"); + chroma_smooth_close(filter); + return -1; + } + } + } + } + return 0; +} + +static void chroma_smooth_close(hb_filter_object_t * filter) +{ + hb_filter_private_t *pv = filter->private_data; + + if (pv == NULL) + { + return; + } + + chroma_smooth_thread_close(pv); + free(pv); + filter->private_data = NULL; +} + +static int chroma_smooth_work_thread(hb_filter_object_t *filter, + hb_buffer_t ** buf_in, + hb_buffer_t ** buf_out, int thread) +{ + hb_filter_private_t *pv = filter->private_data; + hb_buffer_t *in = *buf_in, *out; + + if (in->s.flags & HB_BUF_FLAG_EOF) + { + *buf_out = in; + *buf_in = NULL; + return HB_FILTER_DONE; + } + + out = hb_frame_buffer_init(in->f.fmt, in->f.width, in->f.height); + + int c; + for (c = 0; c < 3; c++) + { + chroma_smooth_plane_context_t * ctx = &pv->plane_ctx[c]; + chroma_smooth_thread_context_t * tctx = &pv->thread_ctx[thread][c]; + + if (c == 0) + { + // Luma + luma_copy(in->plane[c].data, + out->plane[c].data, + in->plane[c].width, + in->plane[c].height, + in->plane[c].stride, + ctx, tctx); + } + else + { + // Chroma + chroma_smooth(in->plane[c].data, + out->plane[c].data, + in->plane[c].width, + in->plane[c].height, + in->plane[c].stride, + ctx, tctx); + } + } + + out->s = in->s; + *buf_out = out; + + return HB_FILTER_OK; +} + +static int chroma_smooth_work(hb_filter_object_t *filter, + hb_buffer_t ** buf_in, + hb_buffer_t ** buf_out) +{ + return chroma_smooth_work_thread(filter, buf_in, buf_out, 0); +} diff --git a/libhb/common.c b/libhb/common.c index 7e3636d14..8bc47adbe 100644 --- a/libhb/common.c +++ b/libhb/common.c @@ -4101,6 +4101,10 @@ hb_filter_object_t * hb_filter_get( int filter_id ) filter = &hb_filter_nlmeans; break; + case HB_FILTER_CHROMA_SMOOTH: + filter = &hb_filter_chroma_smooth; + break; + case HB_FILTER_RENDER_SUB: filter = &hb_filter_render_sub; break; @@ -4164,6 +4168,7 @@ hb_filter_object_t * hb_filter_init( int filter_id ) { case HB_FILTER_UNSHARP: case HB_FILTER_LAPSHARP: + case HB_FILTER_CHROMA_SMOOTH: { hb_filter_object_t * wrapper; diff --git a/libhb/common.h b/libhb/common.h index 2d332d7fe..a2a86fa83 100644 --- a/libhb/common.h +++ b/libhb/common.h @@ -1322,6 +1322,7 @@ enum HB_FILTER_DENOISE, HB_FILTER_HQDN3D = HB_FILTER_DENOISE, HB_FILTER_NLMEANS, + HB_FILTER_CHROMA_SMOOTH, HB_FILTER_RENDER_SUB, HB_FILTER_CROP_SCALE, HB_FILTER_LAPSHARP, diff --git a/libhb/internal.h b/libhb/internal.h index 8983a13cd..5357a3af7 100644 --- a/libhb/internal.h +++ b/libhb/internal.h @@ -453,6 +453,7 @@ extern hb_filter_object_t hb_filter_vfr; extern hb_filter_object_t hb_filter_deblock; extern hb_filter_object_t hb_filter_denoise; extern hb_filter_object_t hb_filter_nlmeans; +extern hb_filter_object_t hb_filter_chroma_smooth; extern hb_filter_object_t hb_filter_render_sub; extern hb_filter_object_t hb_filter_crop_scale; extern hb_filter_object_t hb_filter_rotate; diff --git a/libhb/param.c b/libhb/param.c index e4e3d56a3..c7f9ae052 100644 --- a/libhb/param.c +++ b/libhb/param.c @@ -70,6 +70,29 @@ static hb_filter_param_t hqdn3d_presets[] = }, }; +static hb_filter_param_t chroma_smooth_presets[] = +{ + { 1, "Custom", "custom", NULL }, + { 2, "Ultralight", "ultralight", NULL }, + { 3, "Light", "light", NULL }, + { 4, "Medium", "medium", NULL }, + { 5, "Strong", "strong", NULL }, + { 6, "Stronger", "stronger", NULL }, + { 7, "Very Strong", "verystrong", NULL }, + { 0, NULL, NULL, NULL } +}; + +static hb_filter_param_t chroma_smooth_tunes[] = +{ + { 0, "None", "none", NULL }, + { 1, "Tiny", "tiny", NULL }, + { 2, "Small", "small", NULL }, + { 3, "Medium", "medium", NULL }, + { 4, "Wide", "wide", NULL }, + { 5, "Very Wide", "verywide", NULL }, + { 0, NULL, NULL, NULL } +}; + static hb_filter_param_t unsharp_presets[] = { { 1, "Custom", "custom", NULL }, @@ -188,6 +211,10 @@ static filter_param_map_t param_map[] = { HB_FILTER_HQDN3D, hqdn3d_presets, NULL, sizeof(hqdn3d_presets) / sizeof(hb_filter_param_t), 0, }, + { HB_FILTER_CHROMA_SMOOTH, chroma_smooth_presets, chroma_smooth_tunes, + sizeof(chroma_smooth_presets) / sizeof(hb_filter_param_t), + sizeof(chroma_smooth_tunes) / sizeof(hb_filter_param_t), }, + { HB_FILTER_UNSHARP, unsharp_presets, unsharp_tunes, sizeof(unsharp_presets) / sizeof(hb_filter_param_t), sizeof(unsharp_tunes) / sizeof(hb_filter_param_t), }, @@ -463,6 +490,201 @@ static hb_dict_t * generate_nlmeans_settings(const char *preset, return settings; } +static hb_dict_t * generate_chroma_smooth_settings(const char *preset, + const char *tune, + const char *custom) +{ + hb_dict_t * settings; + + if (preset == NULL) + return NULL; + + if (!strcasecmp(preset, "custom")) + { + return hb_parse_filter_settings(custom); + } + if (!strcasecmp(preset, "ultralight") || + !strcasecmp(preset, "light") || + !strcasecmp(preset, "medium") || + !strcasecmp(preset, "strong") || + !strcasecmp(preset, "stronger") || + !strcasecmp(preset, "verystrong")) + { + double strength; + int size; + + if (tune == NULL || !strcasecmp(tune, "none")) + { + strength = 0.25; + size = 7; + if (!strcasecmp(preset, "ultralight")) + { + strength = 0.05; + } + else if (!strcasecmp(preset, "light")) + { + strength = 0.15; + } + else if (!strcasecmp(preset, "strong")) + { + strength = 0.5; + } + else if (!strcasecmp(preset, "stronger")) + { + strength = 0.8; + } + else if (!strcasecmp(preset, "verystrong")) + { + strength = 1.2; + } + } + else if (!strcasecmp(tune, "tiny")) + { + strength = 0.4; + size = 3; + if (!strcasecmp(preset, "ultralight")) + { + strength = 0.15; + } + else if (!strcasecmp(preset, "light")) + { + strength = 0.25; + } + else if (!strcasecmp(preset, "strong")) + { + strength = 0.8; + } + else if (!strcasecmp(preset, "stronger")) + { + strength = 1.2; + } + else if (!strcasecmp(preset, "verystrong")) + { + strength = 1.5; + } + } + else if (!strcasecmp(tune, "small")) + { + strength = 0.275; + size = 7; + if (!strcasecmp(preset, "ultralight")) + { + strength = 0.055; + } + else if (!strcasecmp(preset, "light")) + { + strength = 0.165; + } + else if (!strcasecmp(preset, "strong")) + { + strength = 0.55; + } + else if (!strcasecmp(preset, "stronger")) + { + strength = 0.9; + } + else if (!strcasecmp(preset, "verystrong")) + { + strength = 1.35; + } + } + else if (!strcasecmp(tune, "medium")) + { + strength = 0.275; + size = 9; + if (!strcasecmp(preset, "ultralight")) + { + strength = 0.055; + } + else if (!strcasecmp(preset, "light")) + { + strength = 0.165; + } + else if (!strcasecmp(preset, "strong")) + { + strength = 0.55; + } + else if (!strcasecmp(preset, "stronger")) + { + strength = 0.9; + } + else if (!strcasecmp(preset, "verystrong")) + { + strength = 1.35; + } + } + else if (!strcasecmp(tune, "wide")) + { + strength = 0.275; + size = 11; + if (!strcasecmp(preset, "ultralight")) + { + strength = 0.055; + } + else if (!strcasecmp(preset, "light")) + { + strength = 0.165; + } + else if (!strcasecmp(preset, "strong")) + { + strength = 0.55; + } + else if (!strcasecmp(preset, "stronger")) + { + strength = 0.9; + } + else if (!strcasecmp(preset, "verystrong")) + { + strength = 1.35; + } + } + else if (!strcasecmp(tune, "verywide")) + { + strength = 0.275; + size = 13; + if (!strcasecmp(preset, "ultralight")) + { + strength = 0.055; + } + else if (!strcasecmp(preset, "light")) + { + strength = 0.165; + } + else if (!strcasecmp(preset, "strong")) + { + strength = 0.55; + } + else if (!strcasecmp(preset, "stronger")) + { + strength = 0.9; + } + else if (!strcasecmp(preset, "verystrong")) + { + strength = 1.35; + } + } + else + { + fprintf(stderr, "Unrecognized chroma smooth tune (%s).\n", tune); + return NULL; + } + + settings = hb_dict_init(); + hb_dict_set(settings, "cb-strength", hb_value_double(strength)); + hb_dict_set(settings, "cb-size", hb_value_int(size)); + } + else + { + settings = hb_parse_filter_settings(preset); + if (tune != NULL) + { + fprintf(stderr, "Custom chroma smooth parameters specified; ignoring chroma smooth tune (%s).\n", tune); + } + } + + return settings; +} + static hb_dict_t * generate_unsharp_settings(const char *preset, const char *tune, const char *custom) @@ -1094,6 +1316,9 @@ hb_generate_filter_settings(int filter_id, const char *preset, const char *tune, case HB_FILTER_NLMEANS: settings = generate_nlmeans_settings(preset, tune, custom); break; + case HB_FILTER_CHROMA_SMOOTH: + settings = generate_chroma_smooth_settings(preset, tune, custom); + break; case HB_FILTER_LAPSHARP: settings = generate_lapsharp_settings(preset, tune, custom); break; diff --git a/libhb/preset.c b/libhb/preset.c index 898740298..89f7db30d 100644 --- a/libhb/preset.c +++ b/libhb/preset.c @@ -1389,6 +1389,41 @@ int hb_preset_apply_filters(const hb_dict_t *preset, hb_dict_t *job_dict) } } + // Chroma Smooth filter + const char *chroma_smooth_preset, *chroma_smooth_tune, *chroma_smooth_custom; + chroma_smooth_preset = hb_value_get_string(hb_dict_get(preset, + "PictureChromaSmoothPreset")); + chroma_smooth_tune = hb_value_get_string(hb_dict_get(preset, + "PictureChromaSmoothTune")); + chroma_smooth_custom = hb_value_get_string(hb_dict_get(preset, + "PictureChromaSmoothCustom")); + if (chroma_smooth_preset != NULL && + strcasecmp(chroma_smooth_preset, "off")) + { + int filter_id = HB_FILTER_CHROMA_SMOOTH; + filter_settings = hb_generate_filter_settings(filter_id, + chroma_smooth_preset, chroma_smooth_tune, chroma_smooth_custom); + if (filter_settings == NULL) + { + hb_error("Invalid chroma smooth filter settings (%s%s%s)", + chroma_smooth_preset, + chroma_smooth_tune ? "," : "", + chroma_smooth_tune ? chroma_smooth_tune : ""); + return -1; + } + else if (!hb_dict_get_bool(filter_settings, "disable")) + { + filter_dict = hb_dict_init(); + hb_dict_set(filter_dict, "ID", hb_value_int(filter_id)); + hb_dict_set(filter_dict, "Settings", filter_settings); + hb_add_filter2(filter_list, filter_dict); + } + else + { + hb_value_free(&filter_settings); + } + } + // Sharpen filter const char *sharpen_filter, *sharpen_preset, *sharpen_tune, *sharpen_custom; sharpen_filter = hb_value_get_string(hb_dict_get(preset, diff --git a/libhb/preset_builtin.h b/libhb/preset_builtin.h index 3c2d8ce88..bd69f6dd5 100644 --- a/libhb/preset_builtin.h +++ b/libhb/preset_builtin.h @@ -38,6 +38,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"fast\", \n" " \"PictureDARWidth\": 0, \n" @@ -140,6 +143,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"fast\", \n" " \"PictureDARWidth\": 0, \n" @@ -242,6 +248,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"fast\", \n" " \"PictureDARWidth\": 0, \n" @@ -344,6 +353,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"fast\", \n" " \"PictureDARWidth\": 0, \n" @@ -446,6 +458,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -548,6 +563,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -650,6 +668,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -752,6 +773,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -868,6 +892,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -984,6 +1011,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -1100,6 +1130,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -1216,6 +1249,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -1332,6 +1368,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -1448,6 +1487,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -1564,6 +1606,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -1680,6 +1725,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -1789,6 +1837,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -1891,6 +1942,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -1993,6 +2047,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -2095,6 +2152,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -2197,6 +2257,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -2299,6 +2362,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -2401,6 +2467,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -2503,6 +2572,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -2612,6 +2684,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -2714,6 +2789,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -2816,6 +2894,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -2918,6 +2999,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -3034,6 +3118,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -3150,6 +3237,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -3266,6 +3356,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -3382,6 +3475,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -3498,6 +3594,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -3600,6 +3699,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": true, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -3716,6 +3818,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -3832,6 +3937,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -3948,6 +4056,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -4064,6 +4175,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -4180,6 +4294,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -4282,6 +4399,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -4398,6 +4518,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -4500,6 +4623,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -4602,6 +4728,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -4721,6 +4850,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -4837,6 +4969,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -4953,6 +5088,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -5055,6 +5193,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -5157,6 +5298,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -5259,6 +5403,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -5361,6 +5508,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -5463,6 +5613,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -5565,6 +5718,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -5681,6 +5837,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -5797,6 +5956,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -5906,6 +6068,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6008,6 +6173,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6110,6 +6278,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6212,6 +6383,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6314,6 +6488,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6416,6 +6593,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6518,6 +6698,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6620,6 +6803,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6722,6 +6908,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6824,6 +7013,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -6924,6 +7116,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -7024,6 +7219,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -7124,6 +7322,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -7224,6 +7425,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -7324,6 +7528,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -7424,6 +7631,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -7524,6 +7734,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -7624,6 +7837,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -7724,6 +7940,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"default\", \n" " \"PictureDARWidth\": 0, \n" @@ -7833,6 +8052,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": false, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"off\", \n" " \"PictureDARWidth\": 0, \n" @@ -7935,6 +8157,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": false, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"off\", \n" " \"PictureDARWidth\": 0, \n" @@ -8037,6 +8262,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": false, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"off\", \n" " \"PictureDARWidth\": 0, \n" @@ -8139,6 +8367,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": false, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"off\", \n" " \"PictureDARWidth\": 0, \n" @@ -8255,6 +8486,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"off\", \n" " \"PictureDARWidth\": 0, \n" @@ -8373,6 +8607,9 @@ const char hb_builtin_presets_json[] = " \"Mp4iPodCompatible\": false, \n" " \"PictureAutoCrop\": true, \n" " \"PictureBottomCrop\": 0, \n" +" \"PictureChromaSmoothCustom\": \"\", \n" +" \"PictureChromaSmoothPreset\": \"off\", \n" +" \"PictureChromaSmoothTune\": \"none\", \n" " \"PictureCombDetectCustom\": \"\", \n" " \"PictureCombDetectPreset\": \"off\", \n" " \"PictureDARWidth\": 0, \n" @@ -8440,7 +8677,7 @@ const char hb_builtin_presets_json[] = " \"x264Option\": \"\", \n" " \"x264UseAdvancedOptions\": false\n" " }, \n" -" \"VersionMajor\": 34, \n" +" \"VersionMajor\": 35, \n" " \"VersionMicro\": 0, \n" " \"VersionMinor\": 0\n" " }\n" diff --git a/preset/preset_builtin.json b/preset/preset_builtin.json index 3ed618ff1..96af01e6a 100644 --- a/preset/preset_builtin.json +++ b/preset/preset_builtin.json @@ -53,6 +53,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -158,6 +161,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -263,6 +269,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -368,6 +377,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -473,6 +485,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -578,6 +593,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -683,6 +701,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -788,6 +809,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -907,6 +931,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -1026,6 +1053,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -1145,6 +1175,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -1264,6 +1297,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -1383,6 +1419,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -1502,6 +1541,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -1621,6 +1663,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -1740,6 +1785,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -1852,6 +1900,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -1957,6 +2008,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -2062,6 +2116,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -2167,6 +2224,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -2272,6 +2332,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -2377,6 +2440,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -2482,6 +2548,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -2587,6 +2656,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -2699,6 +2771,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -2804,6 +2879,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -2909,6 +2987,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -3014,6 +3095,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -3133,6 +3217,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -3252,6 +3339,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -3371,6 +3461,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -3490,6 +3583,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -3609,6 +3705,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -3714,6 +3813,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -3833,6 +3935,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -3952,6 +4057,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -4071,6 +4179,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -4190,6 +4301,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -4309,6 +4423,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -4414,6 +4531,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -4533,6 +4653,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -4638,6 +4761,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -4743,6 +4869,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -4865,6 +4994,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -4984,6 +5116,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -5103,6 +5238,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -5208,6 +5346,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -5313,6 +5454,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -5418,6 +5562,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -5523,6 +5670,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -5628,6 +5778,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -5733,6 +5886,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -5852,6 +6008,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -5971,6 +6130,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -6083,6 +6245,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -6188,6 +6353,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -6293,6 +6461,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -6398,6 +6569,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -6503,6 +6677,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -6608,6 +6785,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -6713,6 +6893,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -6818,6 +7001,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -6923,6 +7109,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7028,6 +7217,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7132,6 +7324,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7236,6 +7431,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7340,6 +7538,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7444,6 +7645,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7548,6 +7752,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7652,6 +7859,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7756,6 +7966,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7860,6 +8073,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -7964,6 +8180,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -8076,6 +8295,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -8181,6 +8403,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -8286,6 +8511,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", @@ -8391,6 +8619,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", diff --git a/preset/preset_builtin.list b/preset/preset_builtin.list index 702d5a83c..3c51542a3 100644 --- a/preset/preset_builtin.list +++ b/preset/preset_builtin.list @@ -1,6 +1,6 @@ <resources> <section name="PresetTemplate"> - <integer name="VersionMajor" value="34" /> + <integer name="VersionMajor" value="35" /> <integer name="VersionMinor" value="0" /> <integer name="VersionMicro" value="0" /> <json name="Preset" file="preset_template.json" /> diff --git a/preset/preset_cli_default.json b/preset/preset_cli_default.json index a67225a70..76c0b28cd 100644 --- a/preset/preset_cli_default.json +++ b/preset/preset_cli_default.json @@ -58,6 +58,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "medium", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", diff --git a/preset/preset_template.json b/preset/preset_template.json index ae96e2172..f93c68141 100644 --- a/preset/preset_template.json +++ b/preset/preset_template.json @@ -58,6 +58,9 @@ "PictureDenoiseFilter": "off", "PictureDenoisePreset": "medium", "PictureDenoiseTune": "none", + "PictureChromaSmoothCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", diff --git a/test/test.c b/test/test.c index b6a4a0013..a55987588 100644 --- a/test/test.c +++ b/test/test.c @@ -46,16 +46,17 @@ #include <sys/mount.h> #endif -#define LAPSHARP_DEFAULT_PRESET "medium" -#define UNSHARP_DEFAULT_PRESET "medium" -#define NLMEANS_DEFAULT_PRESET "medium" -#define DEINTERLACE_DEFAULT_PRESET "default" -#define DECOMB_DEFAULT_PRESET "default" -#define DETELECINE_DEFAULT_PRESET "default" -#define COMB_DETECT_DEFAULT_PRESET "default" -#define HQDN3D_DEFAULT_PRESET "medium" -#define ROTATE_DEFAULT "angle=180:hflip=0" -#define DEBLOCK_DEFAULT "qp=5" +#define LAPSHARP_DEFAULT_PRESET "medium" +#define UNSHARP_DEFAULT_PRESET "medium" +#define CHROMA_SMOOTH_DEFAULT_PRESET "medium" +#define NLMEANS_DEFAULT_PRESET "medium" +#define DEINTERLACE_DEFAULT_PRESET "default" +#define DECOMB_DEFAULT_PRESET "default" +#define DETELECINE_DEFAULT_PRESET "default" +#define COMB_DETECT_DEFAULT_PRESET "default" +#define HQDN3D_DEFAULT_PRESET "medium" +#define ROTATE_DEFAULT "angle=180:hflip=0" +#define DEBLOCK_DEFAULT "qp=5" /* Options */ static int debug = HB_DEBUG_ALL; @@ -86,6 +87,10 @@ static int nlmeans_disable = 0; static int nlmeans_custom = 0; static char * nlmeans = NULL; static char * nlmeans_tune = NULL; +static int chroma_smooth_disable = 0; +static int chroma_smooth_custom = 0; +static char * chroma_smooth = NULL; +static char * chroma_smooth_tune = NULL; static int unsharp_disable = 0; static int unsharp_custom = 0; static char * unsharp = NULL; @@ -618,6 +623,8 @@ cleanup: free(hqdn3d); free(nlmeans); free(nlmeans_tune); + free(chroma_smooth); + free(chroma_smooth_tune); free(unsharp); free(unsharp_tune); free(lapsharp); @@ -1191,6 +1198,9 @@ static void showFilterDefault(FILE* const out, int filter_id) case HB_FILTER_LAPSHARP: preset = LAPSHARP_DEFAULT_PRESET; break; + case HB_FILTER_CHROMA_SMOOTH: + preset = CHROMA_SMOOTH_DEFAULT_PRESET; + break; case HB_FILTER_NLMEANS: preset = NLMEANS_DEFAULT_PRESET; break; @@ -1216,6 +1226,7 @@ static void showFilterDefault(FILE* const out, int filter_id) { case HB_FILTER_DEINTERLACE: case HB_FILTER_NLMEANS: + case HB_FILTER_CHROMA_SMOOTH: case HB_FILTER_UNSHARP: case HB_FILTER_LAPSHARP: case HB_FILTER_DECOMB: @@ -1716,6 +1727,18 @@ static void ShowHelp() fprintf( out, " Applies to NLMeans presets only (does not affect\n" " custom settings)\n" +" --chroma-smooth[=string] Sharpen video with chroma smooth filter\n"); + showFilterPresets(out, HB_FILTER_CHROMA_SMOOTH); + showFilterKeys(out, HB_FILTER_CHROMA_SMOOTH); + showFilterDefault(out, HB_FILTER_CHROMA_SMOOTH); + fprintf( out, + +" --no-chroma-smooth Disable preset chroma smooth filter\n" +" --chroma-smooth-tune <string> Tune chroma smooth filter\n"); + showFilterTunes(out, HB_FILTER_CHROMA_SMOOTH); + fprintf( out, +" Applies to chroma smooth presets only (does\n" +" not affect custom settings)\n" " --unsharp[=string] Sharpen video with unsharp filter\n"); showFilterPresets(out, HB_FILTER_UNSHARP); showFilterKeys(out, HB_FILTER_UNSHARP); @@ -2126,6 +2149,8 @@ static int ParseOptions( int argc, char ** argv ) #define SSA_LANG 319 #define SSA_DEFAULT 320 #define SSA_BURN 321 + #define FILTER_CHROMA_SMOOTH 322 + #define FILTER_CHROMA_SMOOTH_TUNE 323 for( ;; ) { @@ -2208,6 +2233,9 @@ static int ParseOptions( int argc, char ** argv ) { "nlmeans", optional_argument, NULL, FILTER_NLMEANS }, { "no-nlmeans", no_argument, &nlmeans_disable, 1 }, { "nlmeans-tune",required_argument, NULL, FILTER_NLMEANS_TUNE }, + { "chroma-smooth", optional_argument, NULL, FILTER_CHROMA_SMOOTH }, + { "no-chroma-smooth", no_argument, &chroma_smooth_disable, 1 }, + { "chroma-smooth-tune",required_argument, NULL, FILTER_CHROMA_SMOOTH_TUNE }, { "unsharp", optional_argument, NULL, FILTER_UNSHARP }, { "no-unsharp", no_argument, &unsharp_disable, 1 }, { "unsharp-tune",required_argument, NULL, FILTER_UNSHARP_TUNE }, @@ -2686,6 +2714,21 @@ static int ParseOptions( int argc, char ** argv ) free(nlmeans_tune); nlmeans_tune = strdup(optarg); break; + case FILTER_CHROMA_SMOOTH: + free(chroma_smooth); + if (optarg != NULL) + { + chroma_smooth = strdup(optarg); + } + else + { + chroma_smooth = strdup(CHROMA_SMOOTH_DEFAULT_PRESET); + } + break; + case FILTER_CHROMA_SMOOTH_TUNE: + free(chroma_smooth_tune); + chroma_smooth_tune = strdup(optarg); + break; case FILTER_UNSHARP: free(unsharp); if (optarg != NULL) @@ -3217,6 +3260,32 @@ static int ParseOptions( int argc, char ** argv ) } } + if (chroma_smooth != NULL) + { + if (chroma_smooth_disable) + { + fprintf(stderr, + "Incompatible options --chroma-smooth and --no-chroma-smooth\n"); + return -1; + } + if (!hb_validate_filter_preset(HB_FILTER_CHROMA_SMOOTH, chroma_smooth, + chroma_smooth_tune, NULL)) + { + // Nothing to do, but must validate preset before + // attempting to validate custom settings to prevent potential + // false positive + } + else if (!hb_validate_filter_string(HB_FILTER_CHROMA_SMOOTH, chroma_smooth)) + { + chroma_smooth_custom = 1; + } + else + { + fprintf(stderr, "Invalid chroma smooth option %s\n", chroma_smooth); + return -1; + } + } + if (unsharp != NULL) { if (unsharp_disable) @@ -4259,6 +4328,30 @@ static hb_dict_t * PreparePreset(const char *preset_name) hb_value_string(nlmeans)); } } + if (chroma_smooth_disable) + { + hb_dict_set(preset, "PictureChromaSmoothPreset", hb_value_string("off")); + } + if (chroma_smooth != NULL) + { + if (!chroma_smooth_custom) + { + hb_dict_set(preset, "PictureChromaSmoothPreset", + hb_value_string(chroma_smooth)); + if (chroma_smooth_tune != NULL) + { + hb_dict_set(preset, "PictureChromaSmoothTune", + hb_value_string(chroma_smooth_tune)); + } + } + else + { + hb_dict_set(preset, "PictureChromaSmoothPreset", + hb_value_string("custom")); + hb_dict_set(preset, "PictureChromaSmoothCustom", + hb_value_string(chroma_smooth)); + } + } if (unsharp_disable && !strcasecmp(s, "unsharp")) { hb_dict_set(preset, "PictureSharpenFilter", hb_value_string("off")); |