Mercurial > mplayer.hg
annotate libmpeg2/attributes.h @ 18044:b693d92e6210
workaround to prevent segfault: when using -ve lavc with b-frames write_chunk(1st video frame) gets called with len=-1UL; -1ULl to whomever calls me that way
author | nicodvb |
---|---|
date | Wed, 05 Apr 2006 20:51:35 +0000 |
parents | 1385ec491ffb |
children | 0783dd397f74 |
rev | line source |
---|---|
1 | 1 /* |
2 * attributes.h | |
12932 | 3 * Copyright (C) 2000-2003 Michel Lespinasse <walken@zoy.org> |
9852 | 4 * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca> |
1 | 5 * |
6 * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. | |
9852 | 7 * See http://libmpeg2.sourceforge.net/ for updates. |
1 | 8 * |
9 * mpeg2dec is free software; you can redistribute it and/or modify | |
10 * it under the terms of the GNU General Public License as published by | |
11 * the Free Software Foundation; either version 2 of the License, or | |
12 * (at your option) any later version. | |
13 * | |
14 * mpeg2dec is distributed in the hope that it will be useful, | |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 * GNU General Public License for more details. | |
18 * | |
19 * You should have received a copy of the GNU General Public License | |
20 * along with this program; if not, write to the Free Software | |
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
14732
1385ec491ffb
Mark locally modified files as such to comply more closely with GPL 2a.
diego
parents:
13133
diff
changeset
|
22 * |
1385ec491ffb
Mark locally modified files as such to comply more closely with GPL 2a.
diego
parents:
13133
diff
changeset
|
23 * Modified for use with MPlayer, see libmpeg-0.4.0.diff for the exact changes. |
1385ec491ffb
Mark locally modified files as such to comply more closely with GPL 2a.
diego
parents:
13133
diff
changeset
|
24 * detailed CVS changelog at http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/ |
1385ec491ffb
Mark locally modified files as such to comply more closely with GPL 2a.
diego
parents:
13133
diff
changeset
|
25 * $Id$ |
1 | 26 */ |
27 | |
36 | 28 /* use gcc attribs to align critical data structures */ |
1 | 29 #ifdef ATTRIBUTE_ALIGNED_MAX |
9852 | 30 #define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_MAX < align) ? ATTRIBUTE_ALIGNED_MAX : align))) |
1 | 31 #else |
13133
f283e0e499bf
allow alignment without ATTRIBUTE_ALIGNED_MAX been defined, it fixes sparc unaligned memory access
iive
parents:
12932
diff
changeset
|
32 #define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((16 < align) ? 16 : align))) |
1 | 33 #endif |
9852 | 34 |
35 #ifdef HAVE_BUILTIN_EXPECT | |
36 #define likely(x) __builtin_expect ((x) != 0, 1) | |
37 #define unlikely(x) __builtin_expect ((x) != 0, 0) | |
38 #else | |
39 #define likely(x) (x) | |
40 #define unlikely(x) (x) | |
41 #endif |