summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2008-08-24 02:10:15 +0000
committerjstebbins <[email protected]>2008-08-24 02:10:15 +0000
commit4cf0fa742fbb476ccd92372c72db6c245c11e497 (patch)
treed87a750769bec507031986faf37342585531bab7
parentddacbf46e7ad7fafacc35eeb6d2dfb5fbb698913 (diff)
LinGui: bundle the standard presets in the exe. eliminates installing
a separate file. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1651 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--gtk/src/Makefile.am8
-rw-r--r--gtk/src/callbacks.c7
-rw-r--r--gtk/src/settings.c110
-rw-r--r--gtk/src/standard_presets.h605
4 files changed, 646 insertions, 84 deletions
diff --git a/gtk/src/Makefile.am b/gtk/src/Makefile.am
index 884b155bc..a942f16d8 100644
--- a/gtk/src/Makefile.am
+++ b/gtk/src/Makefile.am
@@ -56,7 +56,6 @@ icons = \
hb-working4.16.png \
hb-working5.16.png
-hb_data = standard_presets
hb_menu = ghb.desktop
builderdir = $(datadir)/ghb/builder
@@ -115,9 +114,6 @@ uninstall-local:
fi; \
rm -f $(DESTDIR)/$(datadir)/icons/hicolor/$$SIZE/apps/$$FILE; \
done
- for file in $(hb_data); do \
- rm -f $(DESTDIR)/$(datadir)/ghb/$$file; \
- done
rm -f $(DESTDIR)/$(datadir)/applications/$(hb_menu)
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(DESTDIR)/$(datadir)/icons/hicolor
@@ -138,10 +134,6 @@ install-data-local:
mkdir -p $(DESTDIR)/$(datadir)/icons/hicolor/$$SIZE/apps/; \
$(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)/$(datadir)/icons/hicolor/$$SIZE/apps/$$FILE; \
done
- for file in $(hb_data); do \
- mkdir -p $(DESTDIR)/$(datadir)/ghb/; \
- $(INSTALL_DATA) $(srcdir)/$$file $(DESTDIR)/$(datadir)/ghb/$$file; \
- done
@-if test -n "$(DESTDIR)/$(datadir)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c
index 0043aac2a..192ee0e6e 100644
--- a/gtk/src/callbacks.c
+++ b/gtk/src/callbacks.c
@@ -1912,6 +1912,7 @@ ghb_select_preset(GtkBuilder *builder, const gchar *preset)
GtkTreeIter iter;
gchar *tpreset;
gboolean done;
+ gboolean foundit = FALSE;
g_debug("select_preset()\n");
if (preset == NULL) return;
@@ -1926,11 +1927,17 @@ ghb_select_preset(GtkBuilder *builder, const gchar *preset)
if (strcmp(preset, tpreset) == 0)
{
gtk_tree_selection_select_iter (selection, &iter);
+ foundit = TRUE;
break;
}
done = !gtk_tree_model_iter_next(store, &iter);
} while (!done);
}
+ if (!foundit)
+ {
+ gtk_tree_model_get_iter_first(store, &iter);
+ gtk_tree_selection_select_iter (selection, &iter);
+ }
}
static void
diff --git a/gtk/src/settings.c b/gtk/src/settings.c
index f42f9f14f..989d1d3db 100644
--- a/gtk/src/settings.c
+++ b/gtk/src/settings.c
@@ -862,6 +862,9 @@ dump_settings(GHashTable *settings)
const gchar defaultSettings[] =
#include "internal_defaults.h"
;
+const gchar standardPresets[] =
+#include "standard_presets.h"
+;
typedef struct
{
@@ -1478,68 +1481,43 @@ ghb_prefs_load(signal_user_data_t *ud)
void
ghb_presets_reload(signal_user_data_t *ud)
{
- gchar *config;
GKeyFile *keyFile;
+ gboolean res;
g_debug("ghb_presets_reload()\n");
keyFile = g_key_file_new();
+ g_key_file_load_from_data( keyFile, standardPresets,
+ sizeof(standardPresets), G_KEY_FILE_NONE, NULL);
+
+ gchar **groups, **keys;
+ gchar *value;
+ gint ii, jj;
- config = g_strdup_printf ("./standard_presets");
- if (!g_file_test(config, G_FILE_TEST_IS_REGULAR))
+ // Merge the keyfile contents into our presets
+ groups = g_key_file_get_groups(keyFile, NULL);
+ // First remove any existing groups with the same names
+ for (ii = 0; groups[ii] != NULL; ii++)
{
- g_free(config);
-
- const gchar* const *dirs;
- gint ii;
- dirs = g_get_system_data_dirs();
- if (dirs != NULL)
- {
- for (ii = 0; dirs[ii] != NULL; ii++)
- {
- config = g_strdup_printf("%s/ghb/standard_presets", dirs[ii]);
- if (g_file_test(config, G_FILE_TEST_IS_REGULAR))
- {
- break;
- }
- g_free(config);
- config = NULL;
- }
- }
+ g_key_file_remove_group(presetsKeyFile, groups[ii], NULL);
}
- if (config != NULL)
+ for (ii = 0; groups[ii] != NULL; ii++)
{
- gchar **groups, **keys;
- gchar *value;
- gint ii, jj;
-
- g_key_file_load_from_file( keyFile, config,
- G_KEY_FILE_KEEP_COMMENTS, NULL);
- // Merge the keyfile contents into our presets
- groups = g_key_file_get_groups(keyFile, NULL);
- // First remove any existing groups with the same names
- for (ii = 0; groups[ii] != NULL; ii++)
- {
- g_key_file_remove_group(presetsKeyFile, groups[ii], NULL);
- }
- for (ii = 0; groups[ii] != NULL; ii++)
+ keys = g_key_file_get_keys(keyFile, groups[ii], NULL, NULL);
+ for (jj = 0; keys[jj] != NULL; jj++)
{
- keys = g_key_file_get_keys(keyFile, groups[ii], NULL, NULL);
- for (jj = 0; keys[jj] != NULL; jj++)
+ GError *err = NULL;
+ value = g_key_file_get_string(
+ keyFile, groups[ii], keys[jj], &err);
+ if (value && !err)
{
- GError *err = NULL;
- value = g_key_file_get_string(
- keyFile, groups[ii], keys[jj], &err);
- if (value && !err)
- {
- g_key_file_set_string(
- presetsKeyFile, groups[ii], keys[jj], value);
- }
- if (value) g_free(value);
+ g_key_file_set_string(
+ presetsKeyFile, groups[ii], keys[jj], value);
}
- g_strfreev(keys);
+ if (value) g_free(value);
}
- g_strfreev(groups);
+ g_strfreev(keys);
}
+ g_strfreev(groups);
g_key_file_free(keyFile);
build_presets_list(ud->settings);
}
@@ -1555,37 +1533,17 @@ ghb_presets_load(signal_user_data_t *ud)
dir = g_get_user_config_dir();
config = g_strdup_printf ("%s/ghb/presets", dir);
- if (!g_file_test(config, G_FILE_TEST_IS_REGULAR))
- {
- g_free(config);
- config = g_strdup_printf ("./standard_presets");
- if (!g_file_test(config, G_FILE_TEST_IS_REGULAR))
- {
- g_free(config);
-
- const gchar* const *dirs;
- gint ii;
- dirs = g_get_system_data_dirs();
- if (dirs != NULL)
- {
- for (ii = 0; dirs[ii] != NULL; ii++)
- {
- config = g_strdup_printf("%s/ghb/standard_presets", dirs[ii]);
- if (g_file_test(config, G_FILE_TEST_IS_REGULAR))
- {
- break;
- }
- g_free(config);
- config = NULL;
- }
- }
- }
- }
- if (config != NULL)
+ if (g_file_test(config, G_FILE_TEST_IS_REGULAR))
{
g_key_file_load_from_file( presetsKeyFile, config,
G_KEY_FILE_KEEP_COMMENTS, NULL);
}
+ else
+ {
+ g_key_file_load_from_data( presetsKeyFile, standardPresets,
+ sizeof(standardPresets), G_KEY_FILE_NONE, NULL);
+ }
+ g_free(config);
build_presets_list(ud->settings);
}
diff --git a/gtk/src/standard_presets.h b/gtk/src/standard_presets.h
new file mode 100644
index 000000000..bfdfc059a
--- /dev/null
+++ b/gtk/src/standard_presets.h
@@ -0,0 +1,605 @@
+"\n"
+"[Animation]\n"
+"preset_description=HandBrake's settings for cartoons, anime, and CGI.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mkv\n"
+"autocrop=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=slower\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=1\n"
+"turbo=1\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=1000\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=ref=5:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=5:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2\n"
+"\n"
+"[AppleTV]\n"
+"preset_description=HandBrake's settings for the AppleTV, including Dolby Digital 5.1 AC3 sound. Provides a good balance between quality and file size, and optimizes performance.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac,ac3\n"
+"pref_audio_bitrate=160,160\n"
+"pref_audio_rate=48,source\n"
+"pref_audio_mix=dpl2,none\n"
+"pref_audio_drc=1,1\n"
+"chapter_markers=1\n"
+"container=mp4\n"
+"large_mp4=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=2500\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0\n"
+"\n"
+"[Bedlam]\n"
+"preset_description=HandBrake's settings maxed out for slowest encoding and highest quality. Use at your own risk. So slow it's not just insane...it's a trip to the looney bin.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=ac3\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=none\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mkv\n"
+"autocrop=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=1\n"
+"turbo=1\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=1800\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=ref=16:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=esa:subme=7:me-range=64:analyse=all:8x8dct:trellis=1:no-fast-pskip:no-dct-decimate:filter=-2,-1\n"
+"\n"
+"[Blind]\n"
+"preset_description=HandBrake's preset for impatient people who don't care about picture quality.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=128\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mp4\n"
+"autocrop=1\n"
+"autoscale=0\n"
+"max_width=512\n"
+"max_height=0\n"
+"anamorphic=0\n"
+"keep_aspect=1\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=ffmpeg\n"
+"two_pass=0\n"
+"turbo=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=512\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=\n"
+"\n"
+"[Broke]\n"
+"preset_description=HandBrake's preset for people without a lot of money to waste on hard drives. Tries to maximize quality for burning to CDs, so you can party like it's 1999.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=128\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mp4\n"
+"autocrop=1\n"
+"autoscale=0\n"
+"max_width=640\n"
+"max_height=0\n"
+"anamorphic=0\n"
+"keep_aspect=1\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=1\n"
+"turbo=1\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_target=1\n"
+"video_bitrate=1600\n"
+"video_target_size=695\n"
+"video_quality=64\n"
+"x264_options=ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:b-pyramid:direct=auto:me=umh:subme=6:trellis=1:analyse=all:8x8dct:no-fast-pskip\n"
+"\n"
+"[Classic]\n"
+"preset_description=HandBrake's traditional, faster, lower-quality settings.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=0\n"
+"container=mp4\n"
+"autocrop=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=0\n"
+"keep_aspect=1\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=ffmpeg\n"
+"two_pass=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=1000\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=\n"
+"\n"
+"[Constant Quality Rate]\n"
+"preset_description=HandBrake's preset for consistently excellent quality in one pass, with the downside of entirely unpredictable file sizes and bitrates.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=ac3\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=none\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mkv\n"
+"autocrop=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=0\n"
+"turbo=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_constant=1\n"
+"video_bitrate=2000\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=ref=3:mixed-refs:bframes=3:b-pyramid:b-rdo:bime:weightb:filter=-2,-1:subme=6:trellis=1:analyse=all:8x8dct:me=umh\n"
+"\n"
+"[Deux Six Quatre]\n"
+"preset_description=HandBrake's preset for true high profile x264 quality. A good balance of quality and speed, based on community standards found in the wild. This preset will give you a much better sense of x264's capabilities than vanilla main profile.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=ac3\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=none\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mkv\n"
+"autocrop=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=1\n"
+"turbo=1\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=1600\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=ref=5:mixed-refs:bframes=3:bime:weightb:b-rdo:b-pyramid:me=umh:subme=7:trellis=1:analyse=all:8x8dct:no-fast-pskip\n"
+"\n"
+"[Film]\n"
+"preset_description=HandBrake's preset for feature films.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=ac3\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=none\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mkv\n"
+"autocrop=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=1\n"
+"turbo=1\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=1800\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=ref=3:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip\n"
+"\n"
+"[iPhone / iPod Touch]\n"
+"preset_description=HandBrake's settings for the iPhone and iPod Touch.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=128\n"
+"pref_audio_rate=48\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mp4\n"
+"ipod_file=1\n"
+"autocrop=1\n"
+"autoscale=0\n"
+"max_width=480\n"
+"max_height=0\n"
+"anamorphic=0\n"
+"keep_aspect=1\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=960\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=level=30:cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1\n"
+"\n"
+"[iPod High-Rez]\n"
+"preset_description=HandBrake's high resolution settings for the iPod. Good video quality, great for viewing on a TV using your iPod\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=48\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mp4\n"
+"ipod_file=1\n"
+"autocrop=1\n"
+"autoscale=0\n"
+"max_width=640\n"
+"max_height=0\n"
+"anamorphic=0\n"
+"keep_aspect=1\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=1500\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1\n"
+"\n"
+"[iPod Low-Rez]\n"
+"preset_description=HandBrake's low resolution settings for the iPod. Optimized for great playback on the iPod screen, with smaller file size.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=48\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mp4\n"
+"ipod_file=1\n"
+"autocrop=1\n"
+"autoscale=0\n"
+"max_width=320\n"
+"max_height=0\n"
+"anamorphic=0\n"
+"keep_aspect=1\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=700\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1\n"
+"\n"
+"[Normal]\n"
+"preset_description=HandBrake's normal, default settings.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mp4\n"
+"autocrop=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=1\n"
+"turbo=1\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=1500\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=ref=2:bframes=2:subme=5:me=umh\n"
+"\n"
+"[PSP]\n"
+"preset_description=HandBrake's settings for the Sony PlayStation Portable.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=128\n"
+"pref_audio_rate=48\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mp4\n"
+"autocrop=1\n"
+"autoscale=0\n"
+"max_width=368\n"
+"max_height=208\n"
+"anamorphic=0\n"
+"keep_aspect=1\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=ffmpeg\n"
+"two_pass=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=1024\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=\n"
+"\n"
+"[PS3]\n"
+"preset_description=HandBrake's settings for the Sony PlayStation 3.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=48\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=0\n"
+"container=mp4\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=2500\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=level=41:subme=5:me=umh\n"
+"\n"
+"[QuickTime]\n"
+"preset_description=HandBrake's high quality settings for use with QuickTime. It can be slow, so use it when the Normal preset doesn't look good enough.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mp4\n"
+"autocrop=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=1\n"
+"turbo=1\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=2000\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:me=umh:subme=5:analyse=all:trellis=1:no-fast-pskip\n"
+"\n"
+"[Television]\n"
+"preset_description=HandBrake's settings for video from television.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=source\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=1\n"
+"container=mkv\n"
+"autocrop=1\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=0\n"
+"keep_aspect=1\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=slower\n"
+"denoise=1\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=1\n"
+"turbo=1\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=1300\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=ref=3:mixed-refs:bframes=6:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip\n"
+"\n"
+"[Xbox 360]\n"
+"preset_description=HandBrake's settings for the Microsoft Xbox 360.\n"
+"preset_type=0\n"
+"subtitle_lang=none\n"
+"pref_audio_codec=faac\n"
+"pref_audio_bitrate=160\n"
+"pref_audio_rate=48\n"
+"pref_audio_mix=dpl2\n"
+"pref_audio_drc=1\n"
+"chapter_markers=0\n"
+"container=mp4\n"
+"autoscale=1\n"
+"max_width=0\n"
+"max_height=0\n"
+"anamorphic=1\n"
+"keep_aspect=0\n"
+"detelecine=0\n"
+"decomb=0\n"
+"deinterlace=none\n"
+"denoise=0\n"
+"grayscale=0\n"
+"deblock=0\n"
+"video_codec=x264\n"
+"two_pass=0\n"
+"variable_frame_rate=0\n"
+"framerate=source\n"
+"vquality_type_bitrate=1\n"
+"video_bitrate=2000\n"
+"video_target_size=700\n"
+"video_quality=64\n"
+"x264_options=level=40:ref=2:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=5:analyse=all:no-fast-pskip:filter=-2,-1\n"