Home | History | Annotate | Download | only in inc
      1 /*
      2  * Copyright (C) 2011 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 /**
     18  *************************************************************************
     19  * @file   M4MCS_API.h
     20  * @brief  MCS internal constant values settings
     21  * @note   This header file is not public
     22  *************************************************************************
     23  **/
     24 
     25 #ifndef __M4MCS_INTERNALCONFIG_H__
     26 #define __M4MCS_INTERNALCONFIG_H__
     27 
     28 
     29 /**
     30  * Definition of max AU size */
     31 #define M4MCS_AUDIO_MAX_CHUNK_SIZE        7168 /**< add mp3 encoder and writer,
     32                                                     max bitrate is now 320kbps instead of 128kbps
     33                                                     so this value has to be increased accordingly
     34                                                     = ((sizeof(M4OSA_UInt8)*max_channel_number)+3
     35                                                     to take a margin(after tests, 2 was not enough
     36                                                     ))*MAX_PCM_GRANULARITY_SAMPLES*/
     37                                                     /**< Before: 4000*//**< Magical */
     38 
     39 /**
     40  * Video max AU and fragment size */
     41 #define M4MCS_VIDEO_MIN_COMPRESSION_RATIO   0.8 /**< Magical. Used to define the max AU size */
     42 #define M4MCS_VIDEO_CHUNK_AU_SIZE_RATIO     1.2 /**< Magical. Used to define the max chunk size */
     43 
     44 /**
     45  * Various Magicals */
     46 #define M4MCS_WRITER_AUDIO_STREAM_ID        1
     47 #define M4MCS_WRITER_VIDEO_STREAM_ID        2
     48 
     49 /**
     50  * Granularity for audio encoder */
     51  /**< minimum number of samples to pass in AMR encoding case */
     52 #define M4MCS_PCM_AMR_GRANULARITY_SAMPLES 160
     53 /**< minimum number of samples to pass in AAC encoding case */
     54 #define M4MCS_PCM_AAC_GRANULARITY_SAMPLES 1024
     55 /**< minimum number of samples to pass in MP3 encoding case */
     56 #define M4MCS_PCM_MP3_GRANULARITY_SAMPLES 576
     57 
     58 #define M4MCS_AUDIO_MAX_AU_SIZE           1024  /**< add mp3 encoder and writer
     59                                                 This value is not used anymore, now the max AU
     60                                                 size is computed dynamically according to the
     61                                                 number of channels,the max PCM granularity sample
     62                                                 and a margin.*/
     63                                                 /**< Before: 1024*//**< Magical */
     64 /**
     65  * Writer file and moov size estimation */
     66 #define M4MCS_MOOV_OVER_FILESIZE_RATIO    1.04  /**< magical moov size is less than 4%
     67                                                      of file size in average */
     68 
     69 /**
     70  * If 3gp file does not contain an STSS table (no rap frames),
     71    jump backward to a specified limit */
     72 #define M4MCS_NO_STSS_JUMP_POINT          40000 /**< 40 s */
     73 
     74 #endif /* __M4MCS_INTERNALCONFIG_H__ */
     75 
     76