mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Add and use DECLARE_ASM_CONST for constants used in assembler code.
Should make it easier to work around compilation problems with e.g. ICC. Originally committed as revision 11641 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
038f0f9b34
commit
766324fc49
@ -5303,7 +5303,7 @@ static inline int get_cabac_cbf_ctx( H264Context *h, int cat, int idx ) {
|
|||||||
return ctx + 4 * cat;
|
return ctx + 4 * cat;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const attribute_used uint8_t last_coeff_flag_offset_8x8[63] = {
|
DECLARE_ASM_CONST(1, const uint8_t, last_coeff_flag_offset_8x8[63]) = {
|
||||||
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||||
3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
|
3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
@ -24,13 +24,13 @@
|
|||||||
#include "dsputil.h"
|
#include "dsputil.h"
|
||||||
#include "x86_cpu.h"
|
#include "x86_cpu.h"
|
||||||
|
|
||||||
static const __attribute__ ((aligned(8))) uint64_t round_tab[3]={
|
DECLARE_ASM_CONST(8, uint64_t, round_tab[3])={
|
||||||
0x0000000000000000ULL,
|
0x0000000000000000ULL,
|
||||||
0x0001000100010001ULL,
|
0x0001000100010001ULL,
|
||||||
0x0002000200020002ULL,
|
0x0002000200020002ULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
static attribute_used __attribute__ ((aligned(8))) uint64_t bone= 0x0101010101010101LL;
|
DECLARE_ASM_CONST(8, uint64_t, bone)= 0x0101010101010101LL;
|
||||||
|
|
||||||
static inline void sad8_1_mmx(uint8_t *blk1, uint8_t *blk2, int stride, int h)
|
static inline void sad8_1_mmx(uint8_t *blk1, uint8_t *blk2, int stride, int h)
|
||||||
{
|
{
|
||||||
|
@ -48,8 +48,8 @@
|
|||||||
#define ROW_SHIFT 11
|
#define ROW_SHIFT 11
|
||||||
#define COL_SHIFT 20 // 6
|
#define COL_SHIFT 20 // 6
|
||||||
|
|
||||||
static const uint64_t attribute_used __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000ULL;
|
DECLARE_ASM_CONST(8, uint64_t, wm1010)= 0xFFFF0000FFFF0000ULL;
|
||||||
static const uint64_t attribute_used __attribute__((aligned(8))) d40000= 0x0000000000040000ULL;
|
DECLARE_ASM_CONST(8, uint64_t, d40000)= 0x0000000000040000ULL;
|
||||||
|
|
||||||
DECLARE_ALIGNED(8, static const int16_t, coeffs[])= {
|
DECLARE_ALIGNED(8, static const int16_t, coeffs[])= {
|
||||||
1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,
|
1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,
|
||||||
|
@ -28,8 +28,10 @@
|
|||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n)))
|
#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n)))
|
||||||
|
#define DECLARE_ASM_CONST(n,t,v) static const t v attribute_used __attribute__ ((aligned (n)))
|
||||||
#else
|
#else
|
||||||
#define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
|
#define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
|
||||||
|
#define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user