diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-12-23 00:37:48 +0100 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-12-23 00:37:48 +0100 |
commit | 1dda55c79b90c27303628a42c7ad8d948d613146 (patch) | |
tree | fad68e0e7513130582e28cf05d4ceff413f5343c /include/xine/attributes.h | |
parent | d23cc6dbac6f2b212d99453fddc0f20ccd178ab4 (diff) | |
parent | dca820a7cb6f1087f6d29482a1ee6d4916fc9f71 (diff) | |
download | xine-lib-1dda55c79b90c27303628a42c7ad8d948d613146.tar.gz xine-lib-1dda55c79b90c27303628a42c7ad8d948d613146.tar.bz2 |
Merge from 1.2 main branch.
--HG--
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
rename : src/libxineadec/Makefile.am => src/audio_dec/Makefile.am
rename : src/libxineadec/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c
rename : src/libffmpeg/Makefile.am => src/combined/ffmpeg/Makefile.am
rename : src/libffmpeg/ff_audio_decoder.c => src/combined/ffmpeg/ff_audio_decoder.c
rename : src/libffmpeg/ff_dvaudio_decoder.c => src/combined/ffmpeg/ff_dvaudio_decoder.c
rename : src/libffmpeg/ff_dvdata.h => src/combined/ffmpeg/ff_dvdata.h
rename : src/libffmpeg/ff_video_decoder.c => src/combined/ffmpeg/ff_video_decoder.c
rename : src/libffmpeg/ffmpeg_encoder.c => src/combined/ffmpeg/ffmpeg_encoder.c
rename : src/libmpeg2/Makefile.am => src/video_dec/libmpeg2/Makefile.am
rename : src/libmpeg2/decode.c => src/video_dec/libmpeg2/decode.c
Diffstat (limited to 'include/xine/attributes.h')
-rw-r--r-- | include/xine/attributes.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/include/xine/attributes.h b/include/xine/attributes.h new file mode 100644 index 000000000..b25c76572 --- /dev/null +++ b/include/xine/attributes.h @@ -0,0 +1,86 @@ +/* + * attributes.h + * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca> + * Copyright (C) 2001-2007 xine developers + * + * This file was originally part of mpeg2dec, a free MPEG-2 video stream + * decoder. + * + * mpeg2dec is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * mpeg2dec is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + */ + +/* use gcc attribs to align critical data structures */ + +#ifndef ATTRIBUTE_H_ +#define ATTRIBUTE_H_ + +#ifdef ATTRIBUTE_ALIGNED_MAX +#define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_MAX < align) ? ATTRIBUTE_ALIGNED_MAX : align))) +#else +#define ATTR_ALIGN(align) +#endif + +#ifdef XINE_COMPILE +# include "configure.h" +#endif + +/* Export protected only for libxine functions */ +#if defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY_PROTECTED) +# define XINE_PROTECTED __attribute__((__visibility__("protected"))) +#elif defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT) +# define XINE_PROTECTED __attribute__((__visibility__("default"))) +#else +# define XINE_PROTECTED +#endif + +#ifdef SUPPORT_ATTRIBUTE_SENTINEL +# define XINE_SENTINEL __attribute__((__sentinel__)) +#else +# define XINE_SENTINEL +#endif + +#ifndef __attr_unused +# ifdef SUPPORT_ATTRIBUTE_UNUSED +# define __attr_unused __attribute__((__unused__)) +# else +# define __attr_unused +# endif +#endif + +/* Format attributes */ +#ifdef SUPPORT_ATTRIBUTE_FORMAT +# define XINE_FORMAT_PRINTF(fmt,var) __attribute__((__format__(__printf__, fmt, var))) +#else +# define XINE_FORMAT_PRINTF(fmt,var) +#endif +#ifdef SUPPORT_ATTRIBUTE_FORMAT_ARG +# define XINE_FORMAT_PRINTF_ARG(fmt) __attribute__((__format_arg__(fmt))) +#else +# define XINE_FORMAT_PRINTF_ARG(fmt) +#endif + +#ifdef SUPPORT_ATTRIBUTE_PACKED +# define XINE_PACKED __attribute__((packed)) +#else +# define XINE_PACKED +#endif + +#ifdef SUPPORT_ATTRIBUTE_MALLOC +# define XINE_MALLOC __attribute__((__malloc__)) +#else +# define XINE_MALLOC +#endif + +#endif /* ATTRIBUTE_H_ */ |