libdvbpsi  1.3.0
dr_7c.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002  * dr_7c.h
00003  * Copyright (c) 2012 VideoLAN
00004  * $Id$
00005  *
00006  * Authors: Jean-Paul Saman <jpsaman@videolan.org>
00007  *
00008  * This library is free software; you can redistribute it and/or
00009  * modify it under the terms of the GNU Lesser General Public
00010  * License as published by the Free Software Foundation; either
00011  * version 2.1 of the License, or (at your option) any later version.
00012  *
00013  * This library is distributed in the hope that it will be useful,
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016  * Lesser General Public License for more details.
00017  *
00018  * You should have received a copy of the GNU Lesser General Public
00019  * License along with this library; if not, write to the Free Software
00020  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00021  *
00022  *****************************************************************************/
00023 
00033 #ifndef _DVBPSI_DR_7C_H_
00034 #define _DVBPSI_DR_7c_H_
00035 
00036 #include "types/aac_profile.h"
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00054 typedef enum dvbpsi_aac_type_s
00055 {
00056     DVBPSI_AAC_RESERVED0 = 0x00, 
00057     DVBPSI_HE_AAC_MONO = 0x01, 
00058     DVBPSI_AAC_RESERVED1 = 0x02, 
00059     DVBPSI_HE_AAC_STEREO = 0x03, 
00060     DVBPSI_AAC_RESERVED2 = 0x04, 
00061     DVBPSI_HE_AAC_SURROUND = 0x05, 
00062     DVBPSI_AAC_RESERVED3 = 0x06, 
00063     DVBPSI_HE_AAC_IMPAIRED = 0x40, 
00065     DVBPSI_HE_AAC_HEARING = 0x41, 
00066     DVBPSI_HE_AAC_MIXED = 0x42, 
00068     DVBPSI_HE_AAC_V2_STEREO = 0x43, 
00069     DVBPSI_HE_AAC_V2_IMPAIRED = 0x44, 
00071     DVBPSI_HE_AAC_V2_HEARING = 0x45, 
00072     DVBPSI_HE_AAC_V2_MIXED = 0x46, 
00074     DVBPSI_HE_AAC_MIXED_IMPAIRED = 0x47, 
00076     DVBPSI_HE_AAC_BROADCAST_MIXED_IMPAIRED = 0x48, 
00078     DVBPSI_HE_AAC_V2_MIXED_IMPAIRED = 0x49, 
00080     DVBPSI_HE_AAC_V2_BROADCAST_MIXED_IMPAIRED = 0x4A, 
00082     DVBPSI_AAC_RESERVED4 = 0x4B, 
00083     DVBPSI_AAC_USER = 0xB0, 
00084     DVBPSI_AAC_RESERVED5 = 0xFF 
00085 } dvbpsi_aac_type_t;
00086 
00097 typedef struct dvbpsi_aac_dr_s
00098 {
00099     dvbpsi_aac_profile_and_level_t  i_profile_and_level;
00104     bool              b_type; 
00105     dvbpsi_aac_type_t i_type; 
00107     uint8_t  i_additional_info_length; 
00108     uint8_t *p_additional_info; 
00112 } dvbpsi_aac_dr_t;
00113 
00114 /*****************************************************************************
00115  * dvbpsi_DecodeAACDr
00116  *****************************************************************************/
00124 dvbpsi_aac_dr_t* dvbpsi_DecodeAACDr(dvbpsi_descriptor_t *p_descriptor);
00125 
00126 /*****************************************************************************
00127  * dvbpsi_GenAACDr
00128  *****************************************************************************/
00137 dvbpsi_descriptor_t *dvbpsi_GenAACDr(dvbpsi_aac_dr_t *p_decoded, bool b_duplicate);
00138 
00139 #ifdef __cplusplus
00140 };
00141 #endif
00142 
00143 #else
00144 #error "Multiple inclusions of dr_7c.h"
00145 #endif