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 | |