diff options
author | jstebbins <[email protected]> | 2011-06-12 18:05:20 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2011-06-12 18:05:20 +0000 |
commit | 991912416a55dfcf100591f31e6e72f3f2f5275d (patch) | |
tree | 0ed644ee9ba9d05e20e30de2a0805aa27802405c /libhb/encvorbis.c | |
parent | e36c5d5cc69a207b088a0c92c8c6cb7a3f50ba21 (diff) |
libhb: generalize channel remapping between decoders and encoders
Decoders set the channel map of their output in hb_audio_config_t.
Encoders use this information to remap while encoding.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4052 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/encvorbis.c')
-rw-r--r-- | libhb/encvorbis.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/libhb/encvorbis.c b/libhb/encvorbis.c index 1c7e323ba..01bd216e8 100644 --- a/libhb/encvorbis.c +++ b/libhb/encvorbis.c @@ -120,8 +120,8 @@ int encvorbisInit( hb_work_object_t * w, hb_job_t * job ) pv->channel_map[0] = 0; break; case 6: - // Vorbis use the following channels map = L C R Ls Rs Lfe - if( audio->config.in.codec == HB_ACODEC_AC3 ) + // Vorbis uses the following channel map = L C R Ls Rs Lfe + if( audio->config.in.channel_map == &hb_ac3_chan_map ) { pv->channel_map[0] = 1; pv->channel_map[1] = 2; @@ -130,7 +130,16 @@ int encvorbisInit( hb_work_object_t * w, hb_job_t * job ) pv->channel_map[4] = 5; pv->channel_map[5] = 0; } - else + else if( audio->config.in.channel_map == &hb_smpte_chan_map ) + { + pv->channel_map[0] = 0; + pv->channel_map[1] = 2; + pv->channel_map[2] = 1; + pv->channel_map[3] = 4; + pv->channel_map[4] = 5; + pv->channel_map[5] = 3; + } + else // &hb_qt_chan_map { pv->channel_map[0] = 1; pv->channel_map[1] = 0; |