summaryrefslogtreecommitdiffstats
path: root/contrib/faac
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2010-04-14 16:47:02 +0000
committerjstebbins <[email protected]>2010-04-14 16:47:02 +0000
commit18a10c15de751301f5a67ede5f917a761bf060a5 (patch)
tree92a4099768f87cf66f45b4055c81339d3daf33b6 /contrib/faac
parentabeea8ddf0b918eeb48b438d72f8db7a4c166997 (diff)
patch to allow higher bitrates with faac
2 channel allows up to 320kbps, 6 channel allows up to 768kbps git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3222 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'contrib/faac')
-rw-r--r--contrib/faac/A00-bitrates.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/contrib/faac/A00-bitrates.patch b/contrib/faac/A00-bitrates.patch
new file mode 100644
index 000000000..50b11ec78
--- /dev/null
+++ b/contrib/faac/A00-bitrates.patch
@@ -0,0 +1,60 @@
+diff -Naur faac-1.28/libfaac/frame.c ../build.debug/contrib/faac/faac-1.28/libfaac/frame.c
+--- faac-1.28.orig/libfaac/frame.c 2004-11-17 06:26:06.000000000 -0800
++++ faac-1.28/libfaac/frame.c 2010-04-10 12:26:28.200614437 -0700
+@@ -196,6 +196,8 @@
+ {47000, 10000},
+ {64000, 16000},
+ {76000, 20000},
++ {128000, 22000},
++ {160000, 22000},
+ #endif
+ {0, 0}
+ };
+@@ -242,8 +244,6 @@
+ config->bitRate = tmpbitRate * hEncoder->sampleRate / 44100;
+ #endif
+
+- if (config->bandWidth > bwbase)
+- config->bandWidth = bwbase;
+ }
+
+ hEncoder->config.bitRate = config->bitRate;
+@@ -251,6 +251,7 @@
+ if (!config->bandWidth)
+ {
+ config->bandWidth = (config->quantqual - 100) * bwmult + bwbase;
++ config->bandWidth *= (double)hEncoder->sampleRate / 44100;
+ }
+
+ hEncoder->config.bandWidth = config->bandWidth;
+@@ -261,8 +262,8 @@
+ if (hEncoder->config.bandWidth > (hEncoder->sampleRate / 2))
+ hEncoder->config.bandWidth = hEncoder->sampleRate / 2;
+
+- if (config->quantqual > 500)
+- config->quantqual = 500;
++ if (config->quantqual > 700)
++ config->quantqual = 700;
+ if (config->quantqual < 10)
+ config->quantqual = 10;
+
+@@ -328,8 +329,6 @@
+ hEncoder->config.useTns = 0;
+ hEncoder->config.bitRate = 0; /* default bitrate / channel */
+ hEncoder->config.bandWidth = bwfac * hEncoder->sampleRate;
+- if (hEncoder->config.bandWidth > bwbase)
+- hEncoder->config.bandWidth = bwbase;
+ hEncoder->config.quantqual = 100;
+ hEncoder->config.psymodellist = (psymodellist_t *)psymodellist;
+ hEncoder->config.psymodelidx = 0;
+@@ -888,8 +887,8 @@
+ if (((diff > 0) && (fix > 0.0)) || ((diff < 0) && (fix < 0.0)))
+ {
+ hEncoder->aacquantCfg.quality *= (1.0 - fix);
+- if (hEncoder->aacquantCfg.quality > 300)
+- hEncoder->aacquantCfg.quality = 300;
++ if (hEncoder->aacquantCfg.quality > 700)
++ hEncoder->aacquantCfg.quality = 700;
+ if (hEncoder->aacquantCfg.quality < 50)
+ hEncoder->aacquantCfg.quality = 50;
+ }