📄 chan.c
字号:
{ CHANNEL_LAYOUT_MPEG_6_1_A, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_Center, CHANNEL_LABEL_LFEScreen, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_CenterSurround } }, // L R C LFE Ls Rs Cs { CHANNEL_LAYOUT_MPEG_7_1_A, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_Center, CHANNEL_LABEL_LFEScreen, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_LeftCenter, CHANNEL_LABEL_RightCenter } }, // L R C LFE Ls Rs Lc Rc { CHANNEL_LAYOUT_MPEG_5_0_B, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_Center } }, // L R Ls Rs C { CHANNEL_LAYOUT_MPEG_5_1_B, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_Center, CHANNEL_LABEL_LFEScreen } }, // L R Ls Rs C LFE { CHANNEL_LAYOUT_MPEG_3_0_B, (channel_label_t[]){ CHANNEL_LABEL_Center, CHANNEL_LABEL_Left, CHANNEL_LABEL_Right } }, // C L R { CHANNEL_LAYOUT_MPEG_4_0_B, (channel_label_t[]){ CHANNEL_LABEL_Center, CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_CenterSurround } }, // C L R Cs { CHANNEL_LAYOUT_MPEG_5_0_D, (channel_label_t[]){ CHANNEL_LABEL_Center, CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround } }, // C L R Ls Rs { CHANNEL_LAYOUT_MPEG_5_1_D, (channel_label_t[]){ CHANNEL_LABEL_Center, CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_LFEScreen } }, // C L R Ls Rs LFE { CHANNEL_LAYOUT_MPEG_5_0_C, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Center, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround } }, // L C R Ls Rs { CHANNEL_LAYOUT_MPEG_5_1_C, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Center, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_LFEScreen } }, // L C R Ls Rs LFE { CHANNEL_LAYOUT_MPEG_7_1_B, (channel_label_t[]){ CHANNEL_LABEL_Center, CHANNEL_LABEL_LeftCenter, CHANNEL_LABEL_RightCenter, CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_LFEScreen } }, // C Lc Rc L R Ls Rs LFE { CHANNEL_LAYOUT_MPEG_7_1_C, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_Center, CHANNEL_LABEL_LFEScreen, CHANNEL_LABEL_LeftSurroundDirect, CHANNEL_LABEL_RightSurroundDirect, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround } }, // L R C LFE Ls Rs Rls Rrs { CHANNEL_LAYOUT_Emagic_Default_7_1, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_Center, CHANNEL_LABEL_LFEScreen, CHANNEL_LABEL_LeftCenter, CHANNEL_LABEL_RightCenter } },// L R Ls Rs C LFE Lc Rc { CHANNEL_LAYOUT_SMPTE_DTV, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_Center, CHANNEL_LABEL_LFEScreen, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_LeftTotal, CHANNEL_LABEL_RightTotal } }, // L R C LFE Ls Rs Lt Rt // (CHANNEL_LAYOUT_ITU_5_1 plus a matrix encoded stereo mix)// ITU defined layouts { CHANNEL_LAYOUT_ITU_2_1, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_CenterSurround } }, // L R Cs { CHANNEL_LAYOUT_ITU_2_2, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround } }, // L R Ls Rs// DVD defined layouts { CHANNEL_LAYOUT_DVD_4, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LFEScreen } }, // L R LFE { CHANNEL_LAYOUT_DVD_5, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LFEScreen, CHANNEL_LABEL_CenterSurround } }, // L R LFE Cs { CHANNEL_LAYOUT_DVD_6, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LFEScreen, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround } }, // L R LFE Ls Rs { CHANNEL_LAYOUT_DVD_10, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_Center, CHANNEL_LABEL_LFEScreen } }, // L R C LFE { CHANNEL_LAYOUT_DVD_11, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_Center, CHANNEL_LABEL_LFEScreen, CHANNEL_LABEL_CenterSurround } }, // L R C LFE Cs // 13 through 17 are duplicates of 8 through 12. { CHANNEL_LAYOUT_DVD_18, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_LFEScreen } }, // L R Ls Rs LFE // These are the surround-based layouts { CHANNEL_LAYOUT_AudioUnit_6_0, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_Center, CHANNEL_LABEL_CenterSurround } }, // L R Ls Rs C Cs { CHANNEL_LAYOUT_AudioUnit_7_0, (channel_label_t[]){ CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurroundDirect, CHANNEL_LABEL_RightSurroundDirect, CHANNEL_LABEL_Center, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround } }, // L R Ls Rs C Rls Rrs// These layouts are used for AAC Encoding within the MPEG-4 Specification { CHANNEL_LAYOUT_AAC_6_0, (channel_label_t[]){ CHANNEL_LABEL_Center, CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_CenterSurround } }, // C L R Ls Rs Cs { CHANNEL_LAYOUT_AAC_6_1, (channel_label_t[]){ CHANNEL_LABEL_Center, CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_CenterSurround, CHANNEL_LABEL_LFEScreen } }, // C L R Ls Rs Cs Lfe { CHANNEL_LAYOUT_AAC_7_0, (channel_label_t[]){ CHANNEL_LABEL_Center, CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurroundDirect, CHANNEL_LABEL_RightSurroundDirect, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround } }, // C L R Ls Rs Rls Rrs { CHANNEL_LAYOUT_AAC_Octagonal, (channel_label_t[]){ CHANNEL_LABEL_Center, CHANNEL_LABEL_Left, CHANNEL_LABEL_Right, CHANNEL_LABEL_LeftSurroundDirect, CHANNEL_LABEL_RightSurroundDirect, CHANNEL_LABEL_LeftSurround, CHANNEL_LABEL_RightSurround, CHANNEL_LABEL_CenterSurround } }, // C L R Ls Rs Rls Rrs Cs /* No, sorry the following 2 a to weird. The one who has such files, can program it */ // { CHANNEL_LAYOUT_TMH_10_2_std, (channel_label_t[]){ } }, // L R C Vhc Lsd Rsd Ls Rs Vhl Vhr Lw Rw Csd Cs LFE1 LFE2 // { CHANNEL_LAYOUT_TMH_10_2_full, (channel_label_t[]){ } }, // TMH_10_2_std plus: Lc Rc HI VI Haptic };static channel_label_t * get_channel_locations(uint32_t layout, int * num_channels) { int i; *num_channels = layout & 0xffff; for(i = 0; i < sizeof(channel_locations)/sizeof(channel_locations[0]); i++) { if(channel_locations[i].layout == layout) { return channel_locations[i].channels; } } return (channel_label_t*)0; }void quicktime_chan_init(quicktime_chan_t *chan) { }void quicktime_chan_delete(quicktime_chan_t *chan) { if(chan->ChannelDescriptions) free(chan->ChannelDescriptions); }void quicktime_chan_dump(quicktime_chan_t *chan) { channel_label_t * channel_labels; int num_channels; int i, j; uint32_t mask; lqt_dump(" channel description\n"); lqt_dump(" version %d\n", chan->version); lqt_dump(" flags %ld\n", chan->flags); lqt_dump(" mChannelLayoutTag: 0x%08x", chan->mChannelLayoutTag); if(chan->mChannelLayoutTag == CHANNEL_LAYOUT_UseChannelDescriptions) { lqt_dump(" [Use channel decriptions]\n"); } else if(chan->mChannelLayoutTag == CHANNEL_LAYOUT_UseChannelBitmap) { lqt_dump(" [Use channel bitmap]\n"); } else { channel_labels = get_channel_locations(chan->mChannelLayoutTag, &num_channels); lqt_dump(" ["); if(channel_labels) { for(i = 0; i < num_channels; i++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -