From ff2a223e566fcdcd26bf5dd0e29e05194fd19956 Mon Sep 17 00:00:00 2001 From: jbrjake Date: Mon, 18 Feb 2008 06:27:28 +0000 Subject: [PATCH] Preset updates, including AC3 and AAC for ATV, less insane settings for some others, and more insane settings for Bedlam. git-svn-id: svn://localhost/HandBrake/trunk@1284 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- macosx/HBPresets.m | 16 ++++++++-------- scripts/manicure.rb | 24 +++++++++++++++++------- test/test.c | 30 ++++++++++++++++-------------- 3 files changed, 41 insertions(+), 29 deletions(-) diff --git a/macosx/HBPresets.m b/macosx/HBPresets.m index 1e496ad9..2fe91046 100644 --- a/macosx/HBPresets.m +++ b/macosx/HBPresets.m @@ -80,7 +80,7 @@ [preset setObject:@"x264" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"level=40:ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip:filter=-2,-1" forKey:@"x264Option"]; + [preset setObject:@"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" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; @@ -165,7 +165,7 @@ [preset setObject:@"x264" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"ref=5:mixed-refs:bframes=16: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" forKey:@"x264Option"]; + [preset setObject:@"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" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; @@ -238,7 +238,7 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's settings for the AppleTV. Provides a good balance between quality and file size, and optimizes performance." forKey:@"PresetDescription"]; + [preset setObject:@"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." forKey:@"PresetDescription"]; /* File Format */ [preset setObject:@"MP4 file" forKey:@"FileFormat"]; @@ -247,7 +247,7 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"]; /* Codecs */ - [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"]; + [preset setObject:@"AVC/H.264 Video / AAC + AC3 Audio" forKey:@"FileCodecs"]; /* Video encoder */ [preset setObject:@"x264" forKey:@"VideoEncoder"]; @@ -338,7 +338,7 @@ [preset setObject:@"x264" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"ref=16:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:me-range=64:analyse=all:8x8dct:trellis=2:no-fast-pskip:no-dct-decimate:filter=-2,-1" forKey:@"x264Option"]; + [preset setObject:@"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" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; @@ -859,7 +859,7 @@ [preset setObject:@"x264" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip" forKey:@"x264Option"]; + [preset setObject:@"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" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; @@ -931,7 +931,7 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's settings for the iPhone." forKey:@"PresetDescription"]; + [preset setObject:@"HandBrake's settings for the iPhone and iPod Touch." forKey:@"PresetDescription"]; /* File Format */ [preset setObject:@"MP4 file" forKey:@"FileFormat"]; @@ -1549,7 +1549,7 @@ [preset setObject:@"x264" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"ref=3:mixed-refs:bframes=16:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip" forKey:@"x264Option"]; + [preset setObject:@"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" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; diff --git a/scripts/manicure.rb b/scripts/manicure.rb index 8a32a0b5..4ba092b3 100755 --- a/scripts/manicure.rb +++ b/scripts/manicure.rb @@ -312,9 +312,11 @@ class Display #Audio encoder (only specifiy bitrate and samplerate when not doing AC-3 pass-thru) commandString << " -E " case hash["FileCodecs"] - when /AC-3/ + when /AAC + AC3 Audio/ + commandString << "aac+ac3" + when /AC-3 / commandString << "ac3" - when /AAC/ + when /AAC Audio/ commandString << "faac" << " -B " << hash["AudioBitRate"] << " -R " << hash["AudioSampleRate"] when /Vorbis/ commandString << "vorbis" << " -B " << hash["AudioBitRate"] << " -R " << hash["AudioSampleRate"] @@ -451,9 +453,11 @@ class Display #Audio encoder (only include bitrate and samplerate when not doing AC3 passthru) commandString << " -E " case hash["FileCodecs"] + when /AC3 Audio/ + commandString << "aac+ac3" when /AC-3/ commandString << "ac3" - when /AAC/ + when /AAC Audio/ commandString << "faac" << " -B " << hash["AudioBitRate"] << " -R " << hash["AudioSampleRate"] when /Vorbis/ commandString << "vorbis" << " -B " << hash["AudioBitRate"] << " -R " << hash["AudioSampleRate"] @@ -633,7 +637,11 @@ class Display #Audio encoder commandString << "acodec = " case hash["FileCodecs"] - when /AAC/ + when /AC3 Audio/ + commandString << "HB_ACODEC_FAAC;\n " + commandString << "audio_mixdown = HB_AMIXDOWN_DOLBYPLII_AC3;\n " + commandString << "arate = 48000;\n " + when /AAC Audio/ commandString << "HB_ACODEC_FAAC;\n " when /AC-3/ commandString << "HB_ACODEC_AC3;\n " @@ -682,10 +690,10 @@ class Display commandString << "deinterlace_opt = \"-1\";\n " when 2 commandString << "deinterlace = 1;\n " - commandString << "deinterlace_opt = \"0\";\n " + commandString << "deinterlace_opt = \"2\";\n " when 3 commandString << "deinterlace = 1;\n " - commandString << "deinterlace_opt = \"2:-1:1\";\n " + commandString << "deinterlace_opt = \"0\";\n " when 4 commandString << "deinterlace = 1;\n " commandString << "deinterlace_opt = \"1:-1:1\";\n " @@ -765,7 +773,9 @@ class Display #Audio encoder commandString << " -E " case hash["FileCodecs"] - when /AAC/ + when /AC3 Audio/ + commandString << "aac+ac3" + when /AAC Audio/ commandString << "faac" when /AC-3/ commandString << "ac3" diff --git a/test/test.c b/test/test.c index 106f7a2f..97eee5dc 100644 --- a/test/test.c +++ b/test/test.c @@ -412,9 +412,9 @@ static int HandleEvents( hb_handle_t * h ) job->abitrate = 160; job->arate = 48000; acodec = HB_ACODEC_FAAC; - x264opts = strdup("ref=5:mixed-refs:bframes=16: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"); + x264opts = strdup("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"); deinterlace = 1; - deinterlace_opt = "2:-1:1"; + deinterlace_opt = "0"; job->chapter_markers = 1; pixelratio = 1; twoPass = 1; @@ -429,6 +429,8 @@ static int HandleEvents( hb_handle_t * h ) job->abitrate = 160; job->arate = 48000; acodec = HB_ACODEC_FAAC; + audio_mixdown = HB_AMIXDOWN_DOLBYPLII_AC3; + arate = 48000; x264opts = strdup("bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0"); job->chapter_markers = 1; pixelratio = 1; @@ -440,7 +442,7 @@ static int HandleEvents( hb_handle_t * h ) vcodec = HB_VCODEC_X264; job->vbitrate = 1800; acodec = HB_ACODEC_AC3; - x264opts = strdup("ref=16:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:me-range=64:analyse=all:8x8dct:trellis=2:no-fast-pskip:no-dct-decimate:filter=-2,-1"); + x264opts = strdup("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"); job->chapter_markers = 1; pixelratio = 1; twoPass = 1; @@ -513,7 +515,7 @@ static int HandleEvents( hb_handle_t * h ) vcodec = HB_VCODEC_X264; job->vbitrate = 1800; acodec = HB_ACODEC_AC3; - x264opts = strdup("ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip"); + x264opts = strdup("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"); job->chapter_markers = 1; pixelratio = 1; twoPass = 1; @@ -624,9 +626,9 @@ static int HandleEvents( hb_handle_t * h ) job->abitrate = 160; job->arate = 48000; acodec = HB_ACODEC_FAAC; - x264opts = strdup("ref=3:mixed-refs:bframes=16:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip"); + x264opts = strdup("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"); deinterlace = 1; - deinterlace_opt = "2:-1:1"; + deinterlace_opt = "0"; denoise = 1; denoise_opt = "2:1:2:3"; job->chapter_markers = 1; @@ -642,7 +644,7 @@ static int HandleEvents( hb_handle_t * h ) job->abitrate = 160; job->arate = 48000; acodec = HB_ACODEC_FAAC; - x264opts = strdup("level=40:ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip:filter=-2,-1"); + x264opts = strdup("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"); pixelratio = 1; } } @@ -1250,11 +1252,11 @@ static void ShowHelp() ****************************************************************************/ static void ShowPresets() { - printf("\n+ Animation: -e x264 -b 1000 -B 160 -R 48 -E faac -f mkv --deinterlace=\"slower\" -m -p -2 -T -x ref=5:mixed-refs:bframes=16: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"); + printf("\n+ Animation: -e x264 -b 1000 -B 160 -R 48 -E faac -f mkv --deinterlace=\"slower\" -m -p -2 -T -x 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"); - printf("\n+ AppleTV: -e x264 -b 2500 -B 160 -R 48 -E faac -f mp4 -m -p -x bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0\n"); + printf("\n+ AppleTV: -e x264 -b 2500 -B 160 -R 48 -E aac+ac3 -f mp4 -m -p -x bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0\n"); - printf("\n+ Bedlam: -e x264 -b 1800 -E ac3 -f mkv -m -p -2 -T -x ref=16:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:me-range=64:analyse=all:8x8dct:trellis=2:no-fast-pskip:no-dct-decimate:filter=-2,-1\n"); + printf("\n+ Bedlam: -e x264 -b 1800 -E ac3 -f mkv -m -p -2 -T -x 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"); printf("\n+ Blind: -b 512 -B 128 -R 48 -E faac -f mp4 -w 512 -m\n"); @@ -1262,11 +1264,11 @@ static void ShowPresets() printf("\n+ Classic: -b 1000 -B 160 -R 48 -E faac -f mp4\n"); - printf("\n+ Constant Quality Rate: -e x264 -q 0.64709997177124023 -Q -E ac3 -f mkv -m -p -x 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"); + printf("\n+ Constant Quality Rate: -e x264 -q 0.64709997177124023 -E ac3 -f mkv -m -p -x 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"); printf("\n+ Deux Six Quatre: -e x264 -b 1600 -E ac3 -f mkv -m -p -2 -T -x 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"); - printf("\n+ Film: -e x264 -b 1800 -E ac3 -f mkv -m -p -2 -T -x ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip\n"); + printf("\n+ Film: -e x264 -b 1800 -E ac3 -f mkv -m -p -2 -T -x 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"); printf("\n+ iPhone / iPod Touch: -e x264 -b 960 -B 128 -R 48 -E faac -f mp4 -I -w 480 -m -x level=30:cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1\n"); @@ -1282,9 +1284,9 @@ static void ShowPresets() printf("\n+ QuickTime: -e x264 -b 2000 -B 160 -R 48 -E faac -f mp4 -m -p -2 -T -x ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:me=umh:subme=5:analyse=all:trellis=1:no-fast-pskip\n"); - printf("\n+ Television: -e x264 -b 1300 -B 160 -R 48 -E faac -f mkv --deinterlace=\"slower\" --denoise=\"weak\" -m -2 -T -x ref=3:mixed-refs:bframes=16:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip\n"); + printf("\n+ Television: -e x264 -b 1300 -B 160 -R 48 -E faac -f mkv --deinterlace=\"slower\" --denoise=\"weak\" -m -2 -T -x 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"); - printf("\n+ Xbox 360: -e x264 -b 2000 -B 160 -R 48 -E faac -f mp4 -p -x level=40:ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip:filter=-2,-1\n"); + printf("\n+ Xbox 360: -e x264 -b 2000 -B 160 -R 48 -E faac -f mp4 -p -x 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"); } /**************************************************************************** -- 2.11.0