annotate libdvdcss/common.h @ 30543:ee0b9c3bbf29

Add support for decoding 4:2:2 and 4:4:4 Theora files. Patch by Giorgio Vazzana [mywing81 gmail com]
author reimar
date Sun, 14 Feb 2010 15:39:52 +0000
parents 60bd1a7f3fc6
children 9e9595c779cf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
1 /*****************************************************************************
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
2 * common.h: common definitions
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
3 * Collection of useful common types and macros definitions
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
4 *****************************************************************************
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
5 * Copyright (C) 1998, 1999, 2000 VideoLAN
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
6 * $Id$
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
7 *
27462
60bd1a7f3fc6 Sync libdvdcss with upstream version 1.2.10.
diego
parents: 20730
diff changeset
8 * Authors: Sam Hocevar <sam@via.ecp.fr>
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
9 * Vincent Seguin <seguin@via.ecp.fr>
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
10 * Gildas Bazin <gbazin@netcourrier.com>
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
11 *
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
15 * (at your option) any later version.
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
16 *
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
20 * GNU General Public License for more details.
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
21 *
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
25 *****************************************************************************/
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
26
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
27 /*****************************************************************************
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
28 * Basic types definitions
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
29 *****************************************************************************/
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
30 #if defined( HAVE_STDINT_H )
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
31 # include <stdint.h>
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
32 #elif defined( HAVE_INTTYPES_H )
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
33 # include <inttypes.h>
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
34 #elif defined( SYS_CYGWIN )
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
35 # include <sys/types.h>
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
36 /* Cygwin only defines half of these... */
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
37 typedef u_int8_t uint8_t;
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
38 typedef u_int32_t uint32_t;
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
39 #else
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
40 /* Fallback types (very x86-centric, sorry) */
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
41 typedef unsigned char uint8_t;
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
42 typedef signed char int8_t;
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
43 typedef unsigned int uint32_t;
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
44 typedef signed int int32_t;
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
45 #endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
46
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
47 #if defined( WIN32 )
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
48
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
49 # ifndef PATH_MAX
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
50 # define PATH_MAX MAX_PATH
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
51 # endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
52
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
53 /* several type definitions */
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
54 # if defined( __MINGW32__ )
20730
66c2f233ccff Fix linking on Cygwin and remove nonsense lseek64 --> lseek indirection,
diego
parents: 20613
diff changeset
55 # define lseek _lseeki64
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
56 # if !defined( _OFF_T_ )
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
57 typedef long long _off_t;
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
58 typedef _off_t off_t;
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
59 # define _OFF_T_
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
60 # else
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
61 # define off_t long long
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
62 # endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
63 # endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
64
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
65 # if defined( _MSC_VER )
20730
66c2f233ccff Fix linking on Cygwin and remove nonsense lseek64 --> lseek indirection,
diego
parents: 20613
diff changeset
66 # define lseek _lseeki64
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
67 # if !defined( _OFF_T_DEFINED )
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
68 typedef __int64 off_t;
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
69 # define _OFF_T_DEFINED
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
70 # else
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
71 # define off_t __int64
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
72 # endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
73 # define stat _stati64
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
74 # endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
75
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
76 # ifndef snprintf
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
77 # define snprintf _snprintf /* snprintf not defined in mingw32 (bug?) */
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
78 # endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
79
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
80 #endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
81