OSDN Git Service

Wires up the CLI for doing AAC and AC3 at the same time, with a new audio encoder...
authorjbrjake <jbrjake@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sat, 16 Feb 2008 15:15:52 +0000 (15:15 +0000)
committerjbrjake <jbrjake@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sat, 16 Feb 2008 15:15:52 +0000 (15:15 +0000)
git-svn-id: svn://localhost/HandBrake/trunk@1268 b64f7644-9d1e-0410-96f1-a4d463321fa5

test/test.c

index 6715923..bebc857 100644 (file)
@@ -832,6 +832,28 @@ static int HandleEvents( hb_handle_t * h )
                            job->audios[0] = 0;
                            job->audio_mixdowns[0] = audio_mixdown;
                        }
+                       
+                       if( audio_mixdown == HB_AMIXDOWN_DOLBYPLII_AC3)
+                       {
+                           
+                           
+               int i;
+               for( i = 3 ; i > 0; i--)
+               {                   
+                   job->audios[i*2+1] = job->audios[i];
+                   job->audios[i*2] = job->audios[i];
+                   if(job->audios[i] != -1  )
+                   {
+                       job->audio_mixdowns[i*2+1] = HB_AMIXDOWN_AC3;
+                       job->audio_mixdowns[i*2] = HB_AMIXDOWN_DOLBYPLII;
+                   }
+               }
+               
+               job->audios[1] = job->audios[0];
+               job->audio_mixdowns[1] = HB_AMIXDOWN_AC3;
+               job->audio_mixdowns[0] = HB_AMIXDOWN_DOLBYPLII;
+            }
+                       
             if( abitrate )
             {
                 job->abitrate = abitrate;
@@ -1186,12 +1208,15 @@ static void ShowHelp()
        
        
        "### Audio Options-----------------------------------------------------------\n\n"
-       "    -E, --aencoder <string> Set audio encoder (faac/lame/vorbis/ac3, ac3\n"
-    "                            meaning passthrough, default: guessed)\n"
+       "    -E, --aencoder <string> Audio encoder (faac/lame/vorbis/ac3/aac+ac3) \n"
+       "                            ac3 meaning passthrough, ac3+aac meaning an\n"
+       "                            aac dpl2 mixdown paired with ac3 pass-thru\n"
+       "                            (default: guessed)\n"
        "    -B, --ab <kb/s>         Set audio bitrate (default: 128)\n"
        "    -a, --audio <string>    Select audio channel(s), separated by commas\n"
        "                            (\"none\" for no audio, \"1,2,3\" for multiple\n"
-       "                             tracks, default: first one, max: eight)\n"
+       "                             tracks, default: first one,\n"
+       "                             max 8 normally, max 4 with aac+ac3)\n"
     "    -6, --mixdown <string>  Format for surround sound downmixing\n"
     "                            (mono/stereo/dpl1/dpl2/6ch, default: dpl2)\n"
     "    -R, --arate             Set audio samplerate (" );
@@ -1580,6 +1605,12 @@ static int ParseOptions( int argc, char ** argv )
                 {
                     acodec = HB_ACODEC_VORBIS;
                 }
+                else if( !strcasecmp( optarg, "aac+ac3") )
+                {
+                    acodec = HB_ACODEC_FAAC;
+                    audio_mixdown = HB_AMIXDOWN_DOLBYPLII_AC3;
+                    arate = 48000;
+                }
                 break;
             case 'w':
                 width = atoi( optarg );