⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chan.c

📁 这个库实现了录象功能
💻 C
📖 第 1 页 / 共 4 页
字号:
    { LQT_CHANNEL_FRONT_CENTER,       CHANNEL_LABEL_Center },    { LQT_CHANNEL_FRONT_CENTER_LEFT,  CHANNEL_LABEL_LeftCenter },    { LQT_CHANNEL_FRONT_CENTER_RIGHT, CHANNEL_LABEL_RightCenter },    { LQT_CHANNEL_BACK_CENTER,        CHANNEL_LABEL_CenterSurround },    { LQT_CHANNEL_BACK_LEFT,          CHANNEL_LABEL_LeftSurround },    { LQT_CHANNEL_BACK_RIGHT,         CHANNEL_LABEL_RightSurround },    { LQT_CHANNEL_SIDE_LEFT,          CHANNEL_LABEL_LeftSurroundDirect },    { LQT_CHANNEL_SIDE_RIGHT,         CHANNEL_LABEL_RightSurroundDirect },    { LQT_CHANNEL_LFE,                CHANNEL_LABEL_LFEScreen },  };  static lqt_channel_t channel_label_2_channel(channel_label_t channel_label)  {  int i;  for(i = 0; i < sizeof(lqt_channels)/sizeof(lqt_channels[0]); i++)    {    if(lqt_channels[i].channel_label == channel_label)      return lqt_channels[i].lqt_channel;    }  return LQT_CHANNEL_UNKNOWN;  }static channel_label_t channel_2_channel_label(lqt_channel_t channel)  {  int i;  for(i = 0; i < sizeof(lqt_channels)/sizeof(lqt_channels[0]); i++)    {    if(lqt_channels[i].lqt_channel == channel)      return lqt_channels[i].channel_label;    }  return CHANNEL_LABEL_Unknown;  }/* Layout tags */typedef enum  {    CHANNEL_LAYOUT_UseChannelDescriptions = (0<<16) | 0, // use the array of AudioChannelDescriptions to define the mapping.    CHANNEL_LAYOUT_UseChannelBitmap       = (1<<16) | 0, // use the bitmap to define the mapping.// 1 Channel Layout    CHANNEL_LAYOUT_Mono                   = (100<<16) | 1, // a standard mono stream// 2 Channel layouts    CHANNEL_LAYOUT_Stereo                 = (101<<16) | 2, // a standard stereo stream (L R)    CHANNEL_LAYOUT_StereoHeadphones       = (102<<16) | 2, // a standard stereo stream (L R) - implied headphone playback    CHANNEL_LAYOUT_MatrixStereo           = (103<<16) | 2, // a matrix encoded stereo stream (Lt, Rt)    CHANNEL_LAYOUT_MidSide                = (104<<16) | 2, // mid/side recording    CHANNEL_LAYOUT_XY                     = (105<<16) | 2, // coincident mic pair (often 2 figure 8's)    CHANNEL_LAYOUT_Binaural               = (106<<16) | 2, // binaural stereo (left, right)// Symetric arrangements - same distance between speaker locations    CHANNEL_LAYOUT_Ambisonic_B_Format     = (107<<16) | 4, // W, X, Y, Z    CHANNEL_LAYOUT_Quadraphonic           = (108<<16) | 4, // front left, front right, back left, back right    CHANNEL_LAYOUT_Pentagonal             = (109<<16) | 5, // left, right, rear left, rear right, center    CHANNEL_LAYOUT_Hexagonal              = (110<<16) | 6, // left, right, rear left, rear right, center, rear    CHANNEL_LAYOUT_Octagonal              = (111<<16) | 8, // front left, front right, rear left, rear right,                                                                 // front center, rear center, side left, side right    CHANNEL_LAYOUT_Cube                   = (112<<16) | 8, // left, right, rear left, rear right                                                                 // top left, top right, top rear left, top rear right//  MPEG defined layouts    CHANNEL_LAYOUT_MPEG_1_0   = CHANNEL_LAYOUT_Mono,    //  C    CHANNEL_LAYOUT_MPEG_2_0   = CHANNEL_LAYOUT_Stereo,  //  L R    CHANNEL_LAYOUT_MPEG_3_0_A = (113<<16) | 3,         // L R C    CHANNEL_LAYOUT_MPEG_3_0_B = (114<<16) | 3,         // C L R    CHANNEL_LAYOUT_MPEG_4_0_A = (115<<16) | 4,         // L R C Cs    CHANNEL_LAYOUT_MPEG_4_0_B = (116<<16) | 4,         // C L R Cs    CHANNEL_LAYOUT_MPEG_5_0_A = (117<<16) | 5,         // L R C Ls Rs    CHANNEL_LAYOUT_MPEG_5_0_B = (118<<16) | 5,         // L R Ls Rs C    CHANNEL_LAYOUT_MPEG_5_0_C = (119<<16) | 5,         // L C R Ls Rs    CHANNEL_LAYOUT_MPEG_5_0_D = (120<<16) | 5,         // C L R Ls Rs    CHANNEL_LAYOUT_MPEG_5_1_A = (121<<16) | 6,         // L R C LFE Ls Rs    CHANNEL_LAYOUT_MPEG_5_1_B = (122<<16) | 6,         // L R Ls Rs C LFE    CHANNEL_LAYOUT_MPEG_5_1_C = (123<<16) | 6,         // L C R Ls Rs LFE    CHANNEL_LAYOUT_MPEG_5_1_D = (124<<16) | 6,         // C L R Ls Rs LFE    CHANNEL_LAYOUT_MPEG_6_1_A = (125<<16) | 7,         // L R C LFE Ls Rs Cs    CHANNEL_LAYOUT_MPEG_7_1_A = (126<<16) | 8,         // L R C LFE Ls Rs Lc Rc    CHANNEL_LAYOUT_MPEG_7_1_B = (127<<16) | 8,         // C Lc Rc L R Ls Rs LFE    CHANNEL_LAYOUT_MPEG_7_1_C = (128<<16) | 8,         // L R C LFE Ls R Rls Rrs    CHANNEL_LAYOUT_Emagic_Default_7_1 = (129<<16) | 8, //  L R Ls Rs C LFE Lc Rc    CHANNEL_LAYOUT_SMPTE_DTV          = (130<<16) | 8, //  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_1_0    = CHANNEL_LAYOUT_Mono,    //  C    CHANNEL_LAYOUT_ITU_2_0    = CHANNEL_LAYOUT_Stereo,  //  L R    CHANNEL_LAYOUT_ITU_2_1    = (131<<16) | 3,         // L R Cs    CHANNEL_LAYOUT_ITU_2_2    = (132<<16) | 4,         // L R Ls Rs    CHANNEL_LAYOUT_ITU_3_0    = CHANNEL_LAYOUT_MPEG_3_0_A,  //  L R C    CHANNEL_LAYOUT_ITU_3_1    = CHANNEL_LAYOUT_MPEG_4_0_A,  //  L R C Cs    CHANNEL_LAYOUT_ITU_3_2    = CHANNEL_LAYOUT_MPEG_5_0_A,  //  L R C Ls Rs    CHANNEL_LAYOUT_ITU_3_2_1  = CHANNEL_LAYOUT_MPEG_5_1_A,  //  L R C LFE Ls Rs    CHANNEL_LAYOUT_ITU_3_4_1  = CHANNEL_LAYOUT_MPEG_7_1_C,  //  L R C LFE Ls Rs Rls Rrs// DVD defined layouts    CHANNEL_LAYOUT_DVD_0  = CHANNEL_LAYOUT_Mono,    // C (mono)    CHANNEL_LAYOUT_DVD_1  = CHANNEL_LAYOUT_Stereo,  // L R    CHANNEL_LAYOUT_DVD_2  = CHANNEL_LAYOUT_ITU_2_1, // L R Cs    CHANNEL_LAYOUT_DVD_3  = CHANNEL_LAYOUT_ITU_2_2, // L R Ls Rs    CHANNEL_LAYOUT_DVD_4  = (133<<16) | 3,                // L R LFE    CHANNEL_LAYOUT_DVD_5  = (134<<16) | 4,                // L R LFE Cs    CHANNEL_LAYOUT_DVD_6  = (135<<16) | 5,                // L R LFE Ls Rs    CHANNEL_LAYOUT_DVD_7  = CHANNEL_LAYOUT_MPEG_3_0_A,// L R C    CHANNEL_LAYOUT_DVD_8  = CHANNEL_LAYOUT_MPEG_4_0_A,// L R C Cs    CHANNEL_LAYOUT_DVD_9  = CHANNEL_LAYOUT_MPEG_5_0_A,// L R C Ls Rs    CHANNEL_LAYOUT_DVD_10 = (136<<16) | 4,                // L R C LFE    CHANNEL_LAYOUT_DVD_11 = (137<<16) | 5,                // L R C LFE Cs    CHANNEL_LAYOUT_DVD_12 = CHANNEL_LAYOUT_MPEG_5_1_A,// L R C LFE Ls Rs    // 13 through 17 are duplicates of 8 through 12.    CHANNEL_LAYOUT_DVD_13 = CHANNEL_LAYOUT_DVD_8,   // L R C Cs    CHANNEL_LAYOUT_DVD_14 = CHANNEL_LAYOUT_DVD_9,   // L R C Ls Rs    CHANNEL_LAYOUT_DVD_15 = CHANNEL_LAYOUT_DVD_10,  // L R C LFE    CHANNEL_LAYOUT_DVD_16 = CHANNEL_LAYOUT_DVD_11,  // L R C LFE Cs    CHANNEL_LAYOUT_DVD_17 = CHANNEL_LAYOUT_DVD_12,  // L R C LFE Ls Rs    CHANNEL_LAYOUT_DVD_18 = (138<<16) | 5,                // L R Ls Rs LFE    CHANNEL_LAYOUT_DVD_19 = CHANNEL_LAYOUT_MPEG_5_0_B,// L R Ls Rs C    CHANNEL_LAYOUT_DVD_20 = CHANNEL_LAYOUT_MPEG_5_1_B,// L R Ls Rs C LFE// These layouts are recommended for Mac OS X's AudioUnit use// These are the symmetrical layouts    CHANNEL_LAYOUT_AudioUnit_4= CHANNEL_LAYOUT_Quadraphonic,    CHANNEL_LAYOUT_AudioUnit_5= CHANNEL_LAYOUT_Pentagonal,    CHANNEL_LAYOUT_AudioUnit_6= CHANNEL_LAYOUT_Hexagonal,    CHANNEL_LAYOUT_AudioUnit_8= CHANNEL_LAYOUT_Octagonal,// These are the surround-based layouts    CHANNEL_LAYOUT_AudioUnit_5_0  = CHANNEL_LAYOUT_MPEG_5_0_B, // L R Ls Rs C    CHANNEL_LAYOUT_AudioUnit_6_0  = (139<<16) | 6,        // L R Ls Rs C Cs    CHANNEL_LAYOUT_AudioUnit_7_0  = (140<<16) | 7,        // L R Ls Rs C Rls Rrs    CHANNEL_LAYOUT_AudioUnit_5_1  = CHANNEL_LAYOUT_MPEG_5_1_A, // L R C LFE Ls Rs    CHANNEL_LAYOUT_AudioUnit_6_1  = CHANNEL_LAYOUT_MPEG_6_1_A, // L R C LFE Ls Rs Cs    CHANNEL_LAYOUT_AudioUnit_7_1  = CHANNEL_LAYOUT_MPEG_7_1_C, // L R C LFE Ls Rs Rls Rrs// These layouts are used for AAC Encoding within the MPEG-4 Specification    CHANNEL_LAYOUT_AAC_Quadraphonic   = CHANNEL_LAYOUT_Quadraphonic, // L R Ls Rs    CHANNEL_LAYOUT_AAC_4_0= CHANNEL_LAYOUT_MPEG_4_0_B,  // C L R Cs    CHANNEL_LAYOUT_AAC_5_0= CHANNEL_LAYOUT_MPEG_5_0_D,  // C L R Ls Rs    CHANNEL_LAYOUT_AAC_5_1= CHANNEL_LAYOUT_MPEG_5_1_D,  // C L R Ls Rs Lfe    CHANNEL_LAYOUT_AAC_6_0= (141<<16) | 6,            // C L R Ls Rs Cs    CHANNEL_LAYOUT_AAC_6_1= (142<<16) | 7,            // C L R Ls Rs Cs Lfe    CHANNEL_LAYOUT_AAC_7_0= (143<<16) | 7,            // C L R Ls Rs Rls Rrs    CHANNEL_LAYOUT_AAC_7_1= CHANNEL_LAYOUT_MPEG_7_1_B, // C Lc Rc L R Ls Rs Lfe    CHANNEL_LAYOUT_AAC_Octagonal  = (144<<16) | 8,    // C L R Ls Rs Rls Rrs Cs    CHANNEL_LAYOUT_TMH_10_2_std   = (145<<16) | 16,   // L R C Vhc Lsd Rsd Ls Rs Vhl Vhr Lw Rw Csd Cs LFE1 LFE2    CHANNEL_LAYOUT_TMH_10_2_full  = (146<<16) | 21,   // TMH_10_2_std plus: Lc Rc HI VI Haptic    CHANNEL_LAYOUT_RESERVED_DO_NOT_USE= (147<<16)} channel_layout_t;static struct  {  channel_layout_t layout;  channel_label_t * channels;  }channel_locations[] =  {    { CHANNEL_LAYOUT_Mono, (channel_label_t[]){ CHANNEL_LABEL_Center } }, // a standard mono stream// 2 Channel layouts    { CHANNEL_LAYOUT_Stereo,  (channel_label_t[]){ CHANNEL_LABEL_Left,                                                   CHANNEL_LABEL_Right } }, // a standard stereo stream (L R)    { CHANNEL_LAYOUT_StereoHeadphones, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                            CHANNEL_LABEL_Right } }, // a standard stereo stream (L R) - implied headphone playback    { CHANNEL_LAYOUT_MatrixStereo, (channel_label_t[]){ CHANNEL_LABEL_LeftTotal,                                                        CHANNEL_LABEL_RightTotal } }, // a matrix encoded stereo stream (Lt, Rt)    { CHANNEL_LAYOUT_MidSide, (channel_label_t[]){ CHANNEL_LABEL_MS_Mid,                                                   CHANNEL_LABEL_MS_Side } }, // mid/side recording    { CHANNEL_LAYOUT_XY, (channel_label_t[]){ CHANNEL_LABEL_XY_X, CHANNEL_LABEL_XY_Y } }, // coincident mic pair (often 2 figure 8's)    { CHANNEL_LAYOUT_Binaural, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                    CHANNEL_LABEL_Right  } }, // binaural stereo (left, right)// Symetric arrangements - same distance between speaker locations    { CHANNEL_LAYOUT_Ambisonic_B_Format, (channel_label_t[]){ CHANNEL_LABEL_Ambisonic_W,                                                              CHANNEL_LABEL_Ambisonic_X,                                                              CHANNEL_LABEL_Ambisonic_Y,                                                              CHANNEL_LABEL_Ambisonic_Z } }, // W, X, Y, Z    { CHANNEL_LAYOUT_Quadraphonic, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                        CHANNEL_LABEL_Right,                                                        CHANNEL_LABEL_LeftSurround,                                                        CHANNEL_LABEL_RightSurround } }, // front left, front right, back left, back right    { CHANNEL_LAYOUT_Pentagonal, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                      CHANNEL_LABEL_Right,                                                      CHANNEL_LABEL_LeftSurround,                                                      CHANNEL_LABEL_RightSurround,                                                      CHANNEL_LABEL_Center } }, // left, right, rear left, rear right, center    { CHANNEL_LAYOUT_Hexagonal, (channel_label_t[]){  CHANNEL_LABEL_Left,                                                      CHANNEL_LABEL_Right,                                                      CHANNEL_LABEL_LeftSurround,                                                      CHANNEL_LABEL_RightSurround,                                                      CHANNEL_LABEL_Center,                                                      CHANNEL_LABEL_CenterSurround } }, // left, right, rear left, rear right, center, rear    { CHANNEL_LAYOUT_Octagonal, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                     CHANNEL_LABEL_Right,                                                     CHANNEL_LABEL_LeftSurround,                                                     CHANNEL_LABEL_RightSurround,                                                     CHANNEL_LABEL_Center,                                                     CHANNEL_LABEL_CenterSurround,                                                     CHANNEL_LABEL_LeftSurroundDirect,                                                     CHANNEL_LABEL_RightSurroundDirect } }, // front left, front right, rear left, rear right,                                                                                            // front center, rear center, side left, side right    { CHANNEL_LAYOUT_Cube, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                CHANNEL_LABEL_Right,                                                CHANNEL_LABEL_LeftSurround,                                                CHANNEL_LABEL_RightSurround,                                                CHANNEL_LABEL_VerticalHeightLeft,                                                CHANNEL_LABEL_VerticalHeightRight,                                                CHANNEL_LABEL_TopBackLeft,                                                CHANNEL_LABEL_TopBackRight } }, // left, right, rear left, rear right                                                                                // top left, top right, top rear left, top rear right//  MPEG defined layouts    { CHANNEL_LAYOUT_MPEG_3_0_A, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                      CHANNEL_LABEL_Right,                                                      CHANNEL_LABEL_Center } },         // L R C    { CHANNEL_LAYOUT_MPEG_4_0_A, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                      CHANNEL_LABEL_Right,                                                      CHANNEL_LABEL_Center,                                                      CHANNEL_LABEL_CenterSurround } },         // L R C Cs    { CHANNEL_LAYOUT_MPEG_5_0_A, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                      CHANNEL_LABEL_Right,                                                      CHANNEL_LABEL_Center,                                                      CHANNEL_LABEL_LeftSurround,                                                      CHANNEL_LABEL_RightSurround } },         // L R C Ls Rs    { CHANNEL_LAYOUT_MPEG_5_1_A, (channel_label_t[]){ CHANNEL_LABEL_Left,                                                      CHANNEL_LABEL_Right,                                                      CHANNEL_LABEL_Center,                                                      CHANNEL_LABEL_LFEScreen,                                                      CHANNEL_LABEL_LeftSurround,                                                      CHANNEL_LABEL_RightSurround } },         // L R C LFE Ls Rs

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -