00001 /***************************************************************************** 00002 * vlc_config.h: limits and configuration 00003 * Defines all compilation-time configuration constants and size limits 00004 ***************************************************************************** 00005 * Copyright (C) 1999-2003 VLC authors and VideoLAN 00006 * 00007 * Authors: Vincent Seguin <seguin@via.ecp.fr> 00008 * Samuel Hocevar <sam@via.ecp.fr> 00009 * 00010 * This program is free software; you can redistribute it and/or modify it 00011 * under the terms of the GNU Lesser General Public License as published by 00012 * the Free Software Foundation; either version 2.1 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public License 00021 * along with this program; if not, write to the Free Software Foundation, 00022 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 00023 *****************************************************************************/ 00024 00025 /** 00026 * \file 00027 * This file defines of values used in interface, vout, aout and vlc core functions. 00028 */ 00029 00030 /* Conventions regarding names of symbols and variables 00031 * ---------------------------------------------------- 00032 * 00033 * - Symbols should begin with a prefix indicating in which module they are 00034 * used, such as INTF_, VOUT_ or AOUT_. 00035 */ 00036 00037 /***************************************************************************** 00038 * General configuration 00039 *****************************************************************************/ 00040 00041 /* All timestamp below or equal to this define are invalid/unset 00042 * XXX the numerical value is 0 because of historical reason and will change.*/ 00043 #define VLC_TS_INVALID (0) 00044 #define VLC_TS_0 (1) 00045 00046 #define CLOCK_FREQ INT64_C(1000000) 00047 00048 /***************************************************************************** 00049 * Interface configuration 00050 *****************************************************************************/ 00051 00052 /* Base delay in micro second for interface sleeps */ 00053 #define INTF_IDLE_SLEEP (CLOCK_FREQ/20) 00054 00055 /***************************************************************************** 00056 * Input thread configuration 00057 *****************************************************************************/ 00058 00059 #define DEFAULT_INPUT_ACTIVITY 1 00060 #define TRANSCODE_ACTIVITY 10 00061 00062 /* Used in ErrorThread */ 00063 #define INPUT_IDLE_SLEEP (CLOCK_FREQ/10) 00064 00065 /* Number of read() calls needed until we check the file size through 00066 * fstat() */ 00067 #define INPUT_FSTAT_NB_READS 16 00068 00069 /* 00070 * General limitations 00071 */ 00072 00073 /* Duration between the time we receive the data packet, and the time we will 00074 * mark it to be presented */ 00075 #define DEFAULT_PTS_DELAY (3*CLOCK_FREQ/10) 00076 00077 /***************************************************************************** 00078 * SPU configuration 00079 *****************************************************************************/ 00080 00081 /* Buffer must avoid arriving more than SPU_MAX_PREPARE_TIME in advanced to 00082 * the SPU */ 00083 #define SPU_MAX_PREPARE_TIME (CLOCK_FREQ/2) 00084 00085 /***************************************************************************** 00086 * Video configuration 00087 *****************************************************************************/ 00088 00089 /* 00090 * Default settings for video output threads 00091 */ 00092 00093 /* Multiplier value for aspect ratio calculation (2^7 * 3^3 * 5^3) */ 00094 #define VOUT_ASPECT_FACTOR 432000 00095 00096 /* Maximum width of a scaled source picture - this should be relatively high, 00097 * since higher stream values will result in no display at all. */ 00098 #define VOUT_MAX_WIDTH 4096 00099 00100 /* Number of planes in a picture */ 00101 #define VOUT_MAX_PLANES 5 00102 00103 /* 00104 * Time settings 00105 */ 00106 00107 /* Time to sleep when waiting for a buffer (from vout or the video fifo). 00108 * It should be approximately the time needed to perform a complete picture 00109 * loop. Since it only happens when the video heap is full, it does not need 00110 * to be too low, even if it blocks the decoder. */ 00111 #define VOUT_OUTMEM_SLEEP (CLOCK_FREQ/50) 00112 00113 /* The default video output window title */ 00114 #define VOUT_TITLE "VLC" 00115 00116 /***************************************************************************** 00117 * Messages and console interfaces configuration 00118 *****************************************************************************/ 00119 00120 /* Maximal depth of the object tree output by vlc_dumpstructure */ 00121 #define MAX_DUMPSTRUCTURE_DEPTH 100
1.7.1