summaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2015-05-06 16:04:08 +0000
committerjstebbins <[email protected]>2015-05-06 16:04:08 +0000
commit9c0e97cc2c369e0c720441d182bbde20210742f4 (patch)
tree8b8f74ed24d0f617c9980d9043ebd53c33c531f3 /gtk
parent81bcee10d2ad88f44c0f7791f2dd8da4ee2c1b76 (diff)
libhb,cli: add preset management to libhb, use it in cli
This results in custom preset support in the CLI and additional command line options to fully support all preset keys. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7158 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'gtk')
-rw-r--r--gtk/src/hb-backend.c22
-rw-r--r--gtk/src/internal_defaults.json11
-rw-r--r--gtk/src/presets.c177
-rw-r--r--gtk/src/queuehandler.c30
-rw-r--r--gtk/src/standard_presets.json52
5 files changed, 139 insertions, 153 deletions
diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c
index f02ec32e7..836f4d714 100644
--- a/gtk/src/hb-backend.c
+++ b/gtk/src/hb-backend.c
@@ -119,10 +119,10 @@ combo_opts_t when_complete_opts =
static options_map_t d_par_opts[] =
{
- {N_("Off"), "0", 0, "0"},
- {N_("Strict"), "1", 1, "1"},
- {N_("Loose"), "2", 2, "2"},
- {N_("Custom"), "3", 3, "3"},
+ {N_("Off"), "off", 0, "0"},
+ {N_("Strict"), "strict", 1, "1"},
+ {N_("Loose"), "loose", 2, "2"},
+ {N_("Custom"), "custom", 3, "3"},
};
combo_opts_t par_opts =
{
@@ -1242,9 +1242,9 @@ ghb_audio_samplerate_opts_set(GtkComboBox *combo)
gtk_list_store_set(store, &iter,
0, str,
1, TRUE,
- 2, "source",
+ 2, "auto",
3, 0.0,
- 4, "source",
+ 4, "auto",
-1);
g_free(str);
@@ -1285,7 +1285,7 @@ ghb_audio_samplerate_get_short_name(int rate)
const char *name;
name = hb_audio_samplerate_get_name(rate);
if (name == NULL)
- name = "source";
+ name = "auto";
return name;
}
@@ -1293,7 +1293,7 @@ const hb_rate_t*
ghb_lookup_audio_samplerate(const char *name)
{
// Check for special "Same as source" value
- if (!strncmp(name, "source", 8))
+ if (!strncmp(name, "auto", 8))
return &sas_rate;
// First find an enabled rate
@@ -1354,9 +1354,9 @@ video_framerate_opts_set(GtkBuilder *builder, const gchar *name)
gtk_list_store_set(store, &iter,
0, _("Same as source"),
1, TRUE,
- 2, "source",
+ 2, "auto",
3, 0.0,
- 4, "source",
+ 4, "auto",
-1);
const hb_rate_t *rate;
@@ -1394,7 +1394,7 @@ const hb_rate_t*
ghb_lookup_video_framerate(const char *name)
{
// Check for special "Same as source" value
- if (!strncmp(name, "source", 8))
+ if (!strncmp(name, "auto", 8))
return &sas_rate;
// First find an enabled rate
diff --git a/gtk/src/internal_defaults.json b/gtk/src/internal_defaults.json
index 76e78c6ff..0d4fd7657 100644
--- a/gtk/src/internal_defaults.json
+++ b/gtk/src/internal_defaults.json
@@ -12,7 +12,7 @@
"AudioTrackGainSlider": 0.0,
"AudioTrackDRCSlider": 0.0,
"AudioMixdown": "dpl2",
- "AudioSamplerate": "source",
+ "AudioSamplerate": "auto",
"AudioTrackName": "",
"angle_count": 1,
"angle": 1,
@@ -105,7 +105,6 @@
"window_height": 1
},
"Presets": {
- "PresetBuildNumber": "",
"PictureAutoCrop": true,
"ChapterMarkers": true,
"FileFormat": "mp4",
@@ -129,12 +128,12 @@
"PictureDenoiseCustom": "",
"PictureDetelecine": "off",
"PictureDetelecineCustom": "",
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PicturePARWidth": 853,
"PicturePARHeight": 720,
"PictureHeight": 0,
"PictureWidth": 0,
- "VideoFramerate": "source",
+ "VideoFramerate": "auto",
"VideoFramerateMode": "vfr",
"VideoGrayScale": false,
"Mp4HttpOptimize": false,
@@ -151,7 +150,7 @@
"AudioCopyMask": [
"copy:ac3"
],
- "AudioEncoderFallback": "ffac3",
+ "AudioEncoderFallback": "ac3",
"AudioLanguageList": [
"und"
],
@@ -164,7 +163,7 @@
"AudioTrackGainSlider": 0.0,
"AudioTrackDRCSlider": 0.0,
"AudioMixdown": "dpl2",
- "AudioSamplerate": "source"
+ "AudioSamplerate": "auto"
}
],
"AudioSecondaryEncoderMode": true,
diff --git a/gtk/src/presets.c b/gtk/src/presets.c
index 2354bc618..5c2825c7e 100644
--- a/gtk/src/presets.c
+++ b/gtk/src/presets.c
@@ -1973,39 +1973,6 @@ value_map_t decomb_xlat[] =
};
static GhbValue*
-export_value_xlat2(value_map_t *value_map, GhbValue *lin_val, GhbType mac_type)
-{
- GhbValue *gval;
-
- if (lin_val == NULL) return NULL;
- gint ii;
- gchar *str;
- GhbValue *sval;
-
- str = ghb_value_get_string_xform(lin_val);
- for (ii = 0; value_map[ii].mac_val; ii++)
- {
- if (strcmp(str, value_map[ii].lin_val) == 0)
- {
- sval = ghb_string_value_new(value_map[ii].mac_val);
- g_free(str);
- gval = ghb_value_xform(sval, mac_type);
- if (gval == NULL)
- {
- g_warning("can't transform");
- ghb_value_free(&sval);
- return NULL;
- }
- ghb_value_free(&sval);
- return gval;
- }
- }
- g_debug("Can't map value: (%s)", str);
- g_free(str);
- return NULL;
-}
-
-static GhbValue*
export_value_video_framerate(GhbValue *lin_val)
{
GhbValue *sval = NULL;
@@ -2045,7 +2012,7 @@ export_value_mixdown(GhbValue *lin_val)
const gchar *mix;
str = ghb_value_get_string(lin_val);
- mix = hb_mixdown_get_name(hb_mixdown_get_from_name(str));
+ mix = hb_mixdown_get_short_name(hb_mixdown_get_from_name(str));
if (mix != NULL)
sval = ghb_string_value_new(mix);
@@ -2060,7 +2027,7 @@ export_value_video_encoder(GhbValue *lin_val)
const gchar *enc;
str = ghb_value_get_string(lin_val);
- enc = hb_video_encoder_get_name(hb_video_encoder_get_from_name(str));
+ enc = hb_video_encoder_get_short_name(hb_video_encoder_get_from_name(str));
if (enc != NULL)
sval = ghb_string_value_new(enc);
@@ -2075,7 +2042,7 @@ export_value_audio_encoder(GhbValue *lin_val)
const gchar *enc;
str = ghb_value_get_string(lin_val);
- enc = hb_audio_encoder_get_name(hb_audio_encoder_get_from_name(str));
+ enc = hb_audio_encoder_get_short_name(hb_audio_encoder_get_from_name(str));
if (enc != NULL)
sval = ghb_string_value_new(enc);
@@ -2090,7 +2057,7 @@ export_value_container(GhbValue *lin_val)
const gchar *mux;
str = ghb_value_get_string(lin_val);
- mux = hb_container_get_name(hb_container_get_from_name(str));
+ mux = hb_container_get_short_name(hb_container_get_from_name(str));
if (mux != NULL)
sval = ghb_string_value_new(mux);
@@ -2104,6 +2071,12 @@ export_value_xlat(GhbValue *dict)
GhbValue *lin_val, *gval;
const gchar *key;
+ // Convert PictureModulus to correct data type
+ key = "PictureModulus";
+ lin_val = ghb_dict_get(dict, key);
+ gval = ghb_value_xform(lin_val, GHB_INT);
+ if (gval)
+ ghb_dict_set(dict, key, gval);
key = "VideoEncoder";
lin_val = ghb_dict_get(dict, key);
gval = export_value_video_encoder(lin_val);
@@ -2119,28 +2092,6 @@ export_value_xlat(GhbValue *dict)
gval = export_value_video_framerate(lin_val);
if (gval)
ghb_dict_set(dict, key, gval);
- key = "PictureDetelecine";
- lin_val = ghb_dict_get(dict, key);
- gval = export_value_xlat2(detel_xlat, lin_val, GHB_INT);
- if (gval)
- ghb_dict_set(dict, key, gval);
- key = "PictureDecomb";
- lin_val = ghb_dict_get(dict, key);
- gval = export_value_xlat2(decomb_xlat, lin_val, GHB_INT);
- if (gval)
- ghb_dict_set(dict, key, gval);
- key = "PictureDeinterlace";
- lin_val = ghb_dict_get(dict, key);
- gval = export_value_xlat2(deint_xlat, lin_val, GHB_INT);
- if (gval)
- ghb_dict_set(dict, key, gval);
-#if 0
- key = "PictureDenoisePreset";
- lin_val = ghb_dict_get(dict, key);
- gval = export_value_xlat2(denoise_xlat, lin_val, GHB_INT);
- if (gval)
- ghb_dict_set(dict, key, gval);
-#endif
gint count, ii;
GhbValue *alist;
@@ -2803,6 +2754,41 @@ export_xlat_preset(GhbValue *dict)
}
}
+ GhbValue *copy_mask = ghb_array_new();
+ if (ghb_value_get_bool(ghb_dict_get(dict, "AudioAllowMP3Pass")))
+ {
+ ghb_array_append(copy_mask, ghb_string_value_new("copy:mp3"));
+ }
+ if (ghb_value_get_bool(ghb_dict_get(dict, "AudioAllowAACPass")))
+ {
+ ghb_array_append(copy_mask, ghb_string_value_new("copy:aac"));
+ }
+ if (ghb_value_get_bool(ghb_dict_get(dict, "AudioAllowAC3Pass")))
+ {
+ ghb_array_append(copy_mask, ghb_string_value_new("copy:ac3"));
+ }
+ if (ghb_value_get_bool(ghb_dict_get(dict, "AudioAllowDTSPass")))
+ {
+ ghb_array_append(copy_mask, ghb_string_value_new("copy:dts"));
+ }
+ if (ghb_value_get_bool(ghb_dict_get(dict, "AudioAllowDTSHDPass")))
+ {
+ ghb_array_append(copy_mask, ghb_string_value_new("copy:dtshd"));
+ }
+ if (ghb_value_get_bool(ghb_dict_get(dict, "AudioAllowEAC3Pass")))
+ {
+ ghb_array_append(copy_mask, ghb_string_value_new("copy:eac3"));
+ }
+ if (ghb_value_get_bool(ghb_dict_get(dict, "AudioAllowFLACPass")))
+ {
+ ghb_array_append(copy_mask, ghb_string_value_new("copy:flac"));
+ }
+ if (ghb_value_get_bool(ghb_dict_get(dict, "AudioAllowTRUEHDPass")))
+ {
+ ghb_array_append(copy_mask, ghb_string_value_new("copy:truehd"));
+ }
+ ghb_dict_set(dict, "AudioCopyMask", copy_mask);
+
if (ghb_value_get_bool(ghb_dict_get(dict, "x264UseAdvancedOptions")))
{
ghb_dict_remove(dict, "VideoPreset");
@@ -2841,31 +2827,50 @@ export_xlat_preset(GhbValue *dict)
export_value_xlat(dict);
}
+static void export_xlat_presets(GhbValue *presets);
+
+static void
+export_xlat_dict(GhbValue *dict)
+{
+ gboolean folder;
+ folder = ghb_value_get_bool(ghb_dict_get(dict, "Folder"));
+ if (folder)
+ {
+ GhbValue *nested;
+
+ nested = ghb_dict_get(dict, "ChildrenArray");
+ export_xlat_presets(nested);
+ }
+ else
+ {
+ export_xlat_preset(dict);
+ }
+}
+
static void
export_xlat_presets(GhbValue *presets)
{
gint count, ii;
GhbValue *dict;
- gboolean folder;
if (presets == NULL) return;
- count = ghb_array_len(presets);
- for (ii = 0; ii < count; ii++)
+ if (ghb_value_type(presets) == GHB_DICT)
{
- dict = ghb_array_get(presets, ii);
- folder = ghb_value_get_bool(ghb_dict_get(dict, "Folder"));
- if (folder)
- {
- GhbValue *nested;
-
- nested = ghb_dict_get(dict, "ChildrenArray");
- export_xlat_presets(nested);
- }
- else
+ export_xlat_dict(presets);
+ }
+ else if (ghb_value_type(presets) == GHB_ARRAY)
+ {
+ count = ghb_array_len(presets);
+ for (ii = 0; ii < count; ii++)
{
- export_xlat_preset(dict);
+ dict = ghb_array_get(presets, ii);
+ export_xlat_dict(dict);
}
}
+ else
+ {
+ g_warning("export_xlat_presets: Invalid presets format");
+ }
}
static guint prefs_timeout_id = 0;
@@ -2933,8 +2938,6 @@ ghb_presets_reload(signal_user_data_t *ud)
std_dict = ghb_array_get(std_presets, ii);
copy_dict = ghb_value_dup(std_dict);
- ghb_dict_set(copy_dict, "PresetBuildNumber",
- ghb_int_value_new(hb_get_build(NULL)));
ghb_presets_insert(presetsPlist, copy_dict, &indices, 1);
presets_list_insert(ud, &indices, 1);
}
@@ -3009,8 +3012,6 @@ replace_standard_presets(GhbValue *presetsArray)
std_dict = ghb_array_get(std_presets, ii);
copy_dict = ghb_value_dup(std_dict);
- ghb_dict_set(copy_dict, "PresetBuildNumber",
- ghb_int_value_new(hb_get_build(NULL)));
ghb_presets_insert(presetsArray, copy_dict, &indices, 1);
}
ghb_value_free(&std_presets);
@@ -3026,7 +3027,6 @@ update_standard_presets(signal_user_data_t *ud, GhbValue *presetsArray)
{
GhbValue *dict;
const GhbValue *gval;
- gint64 build;
gint type;
dict = ghb_array_get(presetsArray, ii);
@@ -3041,6 +3041,10 @@ update_standard_presets(signal_user_data_t *ud, GhbValue *presetsArray)
type = ghb_value_get_int(gval);
if (type == 0)
{
+ // TODO: check preset version
+#if 0
+ gint64 build;
+
gval = ghb_dict_get(dict, "PresetBuildNumber");
if (gval == NULL)
{
@@ -3056,6 +3060,7 @@ update_standard_presets(signal_user_data_t *ud, GhbValue *presetsArray)
replace_standard_presets(presetsArray);
return 1;
}
+#endif
}
}
return 0;
@@ -3134,7 +3139,6 @@ settings_save(signal_user_data_t *ud, const GhbValue *path)
}
current_preset = dict;
ghb_dict_set_int(dict, "Type", PRESETS_CUSTOM);
- ghb_dict_set_int(dict, "PresetBuildNumber", hb_get_build(NULL));
ghb_dict_set(dict, "PresetName", ghb_string_value_new(name));
if (replace)
@@ -3499,7 +3503,7 @@ preset_export_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
{
exportDir = ".";
}
- filename = g_strdup_printf("%s.plist", name);
+ filename = g_strdup_printf("%s.json", name);
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), exportDir);
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), filename);
g_free(filename);
@@ -3515,7 +3519,7 @@ preset_export_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
gtk_widget_hide(dialog);
if (response == GTK_RESPONSE_ACCEPT)
{
- GhbValue *export, *dict, *array;
+ GhbValue *export, *dict;
gchar *dir;
filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
@@ -3524,14 +3528,9 @@ preset_export_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
dict = presets_get_dict(presetsPlist, indices, len);
export = ghb_value_dup(dict);
- array = ghb_array_new();
- ghb_array_append(array, export);
- presets_clear_default(array);
- presets_customize(array);
- export_xlat_presets(array);
-
- store_plist(filename, array);
- ghb_value_free(&array);
+ export_xlat_presets(export);
+ hb_preset_write_json(export, filename);
+ ghb_value_free(&export);
exportDir = ghb_dict_get_string(ud->prefs, "ExportDirectory");
dir = g_path_get_dirname(filename);
diff --git a/gtk/src/queuehandler.c b/gtk/src/queuehandler.c
index 67ce7dca4..876d49ec9 100644
--- a/gtk/src/queuehandler.c
+++ b/gtk/src/queuehandler.c
@@ -236,13 +236,14 @@ add_to_queue_list(signal_user_data_t *ud, GhbValue *settings, GtkTreeIter *piter
// Next line in the display (Picture settings)
// Picture: Source: W x H, Output W x H (Animorphic), Display W x H
- int width, height, pic_par;
+ const char *pic_par;
+ int width, height;
int crop[4];
gboolean keep_aspect;
width = ghb_dict_get_int(settings, "scale_width");
height = ghb_dict_get_int(settings, "scale_height");
- pic_par = ghb_dict_get_int(settings, "PicturePAR");
+ pic_par = ghb_dict_get_string(settings, "PicturePAR");
keep_aspect = ghb_dict_get_bool(settings, "PictureKeepRatio");
crop[0] = ghb_dict_get_int(settings, "PictureTopCrop");
crop[1] = ghb_dict_get_int(settings, "PictureBottomCrop");
@@ -250,9 +251,7 @@ add_to_queue_list(signal_user_data_t *ud, GhbValue *settings, GtkTreeIter *piter
crop[3] = ghb_dict_get_int(settings, "PictureRightCrop");
gchar *aspect_desc;
- switch (pic_par)
- {
- case 0:
+ if (pic_par == NULL || !strcasecmp(pic_par, "off"))
{
if (keep_aspect)
{
@@ -262,27 +261,18 @@ add_to_queue_list(signal_user_data_t *ud, GhbValue *settings, GtkTreeIter *piter
{
aspect_desc = _("(Aspect Lost)");
}
- } break;
-
- case 1:
- {
- aspect_desc = _("(Anamorphic)");
- } break;
-
- case 2:
+ }
+ else if (!strcasecmp(pic_par, "strict") || !strcasecmp(pic_par, "loose"))
{
aspect_desc = _("(Anamorphic)");
- } break;
-
- case 3:
+ }
+ else if (!strcasecmp(pic_par, "custom"))
{
aspect_desc = _("(Custom Anamorphic)");
- } break;
-
- default:
+ }
+ else
{
aspect_desc = "";
- } break;
}
gint source_width, source_height;
diff --git a/gtk/src/standard_presets.json b/gtk/src/standard_presets.json
index 160a09d82..41c7be767 100644
--- a/gtk/src/standard_presets.json
+++ b/gtk/src/standard_presets.json
@@ -50,7 +50,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 720,
@@ -58,7 +58,7 @@
"PresetName": "Universal",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -117,7 +117,7 @@
"PictureKeepRatio": 1,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 0,
+ "PicturePAR": "off",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 320,
@@ -125,7 +125,7 @@
"PresetName": "iPod",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -184,7 +184,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 960,
@@ -192,7 +192,7 @@
"PresetName": "iPhone & iPod touch",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -251,7 +251,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 1280,
@@ -259,7 +259,7 @@
"PresetName": "iPad",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -327,7 +327,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 960,
@@ -335,7 +335,7 @@
"PresetName": "AppleTV",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -403,7 +403,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 1280,
@@ -411,7 +411,7 @@
"PresetName": "AppleTV 2",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -479,7 +479,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 1920,
@@ -487,7 +487,7 @@
"PresetName": "AppleTV 3",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -546,7 +546,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 720,
@@ -554,7 +554,7 @@
"PresetName": "Android",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -613,7 +613,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 1280,
@@ -621,7 +621,7 @@
"PresetName": "Android Tablet",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -680,7 +680,7 @@
"PictureKeepRatio": 1,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 0,
+ "PicturePAR": "off",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 1280,
@@ -688,7 +688,7 @@
"PresetName": "Windows Phone 8",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -710,7 +710,6 @@
],
"Default": 0,
"Folder": true,
- "PresetBuildNumber": 2013061301,
"PresetName": "Devices",
"Type": 0
},
@@ -756,7 +755,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 0,
@@ -764,7 +763,7 @@
"PresetName": "Normal",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -832,7 +831,7 @@
"PictureKeepRatio": 0,
"PictureLeftCrop": 0,
"PictureModulus": 2,
- "PicturePAR": 2,
+ "PicturePAR": "loose",
"PictureRightCrop": 0,
"PictureTopCrop": 0,
"PictureWidth": 0,
@@ -840,7 +839,7 @@
"PresetName": "High Profile",
"Subtitles": "None",
"Type": 0,
- "UsesPictureFilters": 1,
+ "UsesPictureFilters": true,
"UsesPictureSettings": 1,
"VideoAvgBitrate": "2500",
"VideoEncoder": "H.264 (x264)",
@@ -862,8 +861,7 @@
],
"Default": 0,
"Folder": true,
- "PresetBuildNumber": 2013061301,
"PresetName": "Regular",
"Type": 0
}
-] \ No newline at end of file
+]