ARM: struct offsets for Apple ABI
[libav.git] / libavcodec / arm / asm-offsets.h
CommitLineData
a76eec3b
MR
1/*
2 * Copyright (c) 2010 Mans Rullgard
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21#ifndef AVCODEC_ARM_ASM_OFFSETS_H
22#define AVCODEC_ARM_ASM_OFFSETS_H
23
24#ifndef __ASSEMBLER__
25#include <stddef.h>
26#define CHK_OFFS(s, m, o) struct check_##o { \
27 int x_##o[offsetof(s, m) == o? 1: -1]; \
28 }
29#endif
30
31/* MpegEncContext */
c0f8ee0f 32#ifdef __ARM_EABI__
a76eec3b
MR
33#define Y_DC_SCALE 0xa54
34#define C_DC_SCALE 0xa58
35#define AC_PRED 0xa80
36#define BLOCK_LAST_INDEX 0x2278
37#define INTER_SCANTAB_RASTER_END 0x2478
38#define H263_AIC 0x2728
c0f8ee0f
MR
39#elif defined(__APPLE__)
40#define Y_DC_SCALE 0xa30
41#define C_DC_SCALE 0xa34
42#define AC_PRED 0xa5c
43#define BLOCK_LAST_INDEX 0x2254
44#define INTER_SCANTAB_RASTER_END 0x2454
45#define H263_AIC 0x26f8
46#endif
a76eec3b
MR
47
48#endif