| 1 | /***************************************************************************** |
| 2 | * vlc_config.h: limits and configuration |
| 3 | * Defines all compilation-time configuration constants and size limits |
| 4 | ***************************************************************************** |
| 5 | * Copyright (C) 1999-2003 VLC authors and VideoLAN |
| 6 | * |
| 7 | * Authors: Vincent Seguin <seguin@via.ecp.fr> |
| 8 | * Samuel Hocevar <sam@via.ecp.fr> |
| 9 | * |
| 10 | * This program is free software; you can redistribute it and/or modify it |
| 11 | * under the terms of the GNU Lesser General Public License as published by |
| 12 | * the Free Software Foundation; either version 2.1 of the License, or |
| 13 | * (at your option) any later version. |
| 14 | * |
| 15 | * This program is distributed in the hope that it will be useful, |
| 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 18 | * GNU Lesser General Public License for more details. |
| 19 | * |
| 20 | * You should have received a copy of the GNU Lesser General Public License |
| 21 | * along with this program; if not, write to the Free Software Foundation, |
| 22 | * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. |
| 23 | *****************************************************************************/ |
| 24 | |
| 25 | /** |
| 26 | * \file |
| 27 | * This file defines of values used in interface, vout, aout and vlc core functions. |
| 28 | */ |
| 29 | |
| 30 | /* Conventions regarding names of symbols and variables |
| 31 | * ---------------------------------------------------- |
| 32 | * |
| 33 | * - Symbols should begin with a prefix indicating in which module they are |
| 34 | * used, such as INTF_, VOUT_ or AOUT_. |
| 35 | */ |
| 36 | |
| 37 | /***************************************************************************** |
| 38 | * General configuration |
| 39 | *****************************************************************************/ |
| 40 | |
| 41 | /* All timestamp below or equal to this define are invalid/unset |
| 42 | * XXX the numerical value is 0 because of historical reason and will change.*/ |
| 43 | #define VLC_TS_INVALID INT64_C(0) |
| 44 | #define VLC_TS_0 INT64_C(1) |
| 45 | |
| 46 | #define CLOCK_FREQ INT64_C(1000000) |
| 47 | |
| 48 | /***************************************************************************** |
| 49 | * Interface configuration |
| 50 | *****************************************************************************/ |
| 51 | |
| 52 | /* Base delay in micro second for interface sleeps */ |
| 53 | #define INTF_IDLE_SLEEP (CLOCK_FREQ/20) |
| 54 | |
| 55 | /***************************************************************************** |
| 56 | * Input thread configuration |
| 57 | *****************************************************************************/ |
| 58 | |
| 59 | /* Used in ErrorThread */ |
| 60 | #define INPUT_IDLE_SLEEP (CLOCK_FREQ/10) |
| 61 | |
| 62 | /* |
| 63 | * General limitations |
| 64 | */ |
| 65 | |
| 66 | /* Duration between the time we receive the data packet, and the time we will |
| 67 | * mark it to be presented */ |
| 68 | #define DEFAULT_PTS_DELAY (3*CLOCK_FREQ/10) |
| 69 | |
| 70 | /***************************************************************************** |
| 71 | * SPU configuration |
| 72 | *****************************************************************************/ |
| 73 | |
| 74 | /* Buffer must avoid arriving more than SPU_MAX_PREPARE_TIME in advanced to |
| 75 | * the SPU */ |
| 76 | #define SPU_MAX_PREPARE_TIME (CLOCK_FREQ/2) |
| 77 | |
| 78 | /***************************************************************************** |
| 79 | * Video configuration |
| 80 | *****************************************************************************/ |
| 81 | |
| 82 | /* |
| 83 | * Default settings for video output threads |
| 84 | */ |
| 85 | |
| 86 | /* Multiplier value for aspect ratio calculation (2^7 * 3^3 * 5^3) */ |
| 87 | #define VOUT_ASPECT_FACTOR 432000 |
| 88 | |
| 89 | /* Maximum width of a scaled source picture - this should be relatively high, |
| 90 | * since higher stream values will result in no display at all. */ |
| 91 | #define VOUT_MAX_WIDTH 4096 |
| 92 | |
| 93 | /* Number of planes in a picture */ |
| 94 | #define VOUT_MAX_PLANES 5 |
| 95 | |
| 96 | /* |
| 97 | * Time settings |
| 98 | */ |
| 99 | |
| 100 | /* Time to sleep when waiting for a buffer (from vout or the video fifo). |
| 101 | * It should be approximately the time needed to perform a complete picture |
| 102 | * loop. Since it only happens when the video heap is full, it does not need |
| 103 | * to be too low, even if it blocks the decoder. */ |
| 104 | #define VOUT_OUTMEM_SLEEP (CLOCK_FREQ/50) |
| 105 | |
| 106 | /* The default video output window title */ |
| 107 | #define VOUT_TITLE "VLC" |
| 108 | |
| 109 | /***************************************************************************** |
| 110 | * Messages and console interfaces configuration |
| 111 | *****************************************************************************/ |
| 112 | |
| 113 | /* Maximal depth of the object tree output by vlc_dumpstructure */ |
| 114 | #define MAX_DUMPSTRUCTURE_DEPTH 100 |
| 115 | |