1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
diff -ruN libmpeg3.orig/mpeg3private.h libmpeg3/mpeg3private.h
--- libmpeg3.orig/mpeg3private.h 2004-10-19 21:58:45.000000000 +0200
+++ libmpeg3/mpeg3private.h 2005-01-14 18:06:56.000000000 +0100
@@ -877,7 +877,12 @@
int64_t byte_pts;
} mpeg3_t;
-
-
+#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
+# define attribute_used __attribute__((used))
+# define always_inline __attribute__((always_inline)) inline
+#else
+# define attribute_used
+# define always_inline inline
+#endif
#endif
diff -ruN libmpeg3.orig/video/output.c libmpeg3/video/output.c
--- libmpeg3.orig/video/output.c 2003-12-05 23:22:34.000000000 +0100
+++ libmpeg3/video/output.c 2005-01-14 18:10:10.000000000 +0100
@@ -4,25 +4,25 @@
#define CLIP(x) ((x) >= 0 ? ((x) < 255 ? (x) : 255) : 0)
-static long long mpeg3_MMX_0 = 0L;
-static unsigned long mpeg3_MMX_10w[] = {0x00100010, 0x00100010}; /*dd 00010 0010h, 000100010h */
-static unsigned long mpeg3_MMX_80w[] = {0x00800080, 0x00800080}; /*dd 00080 0080h, 000800080h */
+static long long attribute_used mpeg3_MMX_0 = 0L;
+static unsigned long attribute_used mpeg3_MMX_10w[] = {0x00100010, 0x00100010}; /*dd 00010 0010h, 000100010h */
+static unsigned long attribute_used mpeg3_MMX_80w[] = {0x00800080, 0x00800080}; /*dd 00080 0080h, 000800080h */
-static unsigned long mpeg3_MMX_00FFw[] = {0x00ff00ff, 0x00ff00ff}; /*dd 000FF 00FFh, 000FF00FFh */
+static unsigned long attribute_used mpeg3_MMX_00FFw[] = {0x00ff00ff, 0x00ff00ff}; /*dd 000FF 00FFh, 000FF00FFh */
-static unsigned short mpeg3_MMX_Ublucoeff[] = {0x81, 0x81, 0x81, 0x81}; /*dd 00081 0081h, 000810081h */
-static unsigned short mpeg3_MMX_Vredcoeff[] = {0x66, 0x66, 0x66, 0x66}; /*dd 00066 0066h, 000660066h */
+static unsigned short attribute_used mpeg3_MMX_Ublucoeff[] = {0x81, 0x81, 0x81, 0x81}; /*dd 00081 0081h, 000810081h */
+static unsigned short attribute_used mpeg3_MMX_Vredcoeff[] = {0x66, 0x66, 0x66, 0x66}; /*dd 00066 0066h, 000660066h */
-static unsigned short mpeg3_MMX_Ugrncoeff[] = {0xffe8, 0xffe8, 0xffe8, 0xffe8}; /*dd 0FFE7 FFE7h, 0FFE7FFE7h */
-static unsigned short mpeg3_MMX_Vgrncoeff[] = {0xffcd, 0xffcd, 0xffcd, 0xffcd}; /*dd 0FFCC FFCCh, 0FFCCFFCCh */
+static unsigned short attribute_used mpeg3_MMX_Ugrncoeff[] = {0xffe8, 0xffe8, 0xffe8, 0xffe8}; /*dd 0FFE7 FFE7h, 0FFE7FFE7h */
+static unsigned short attribute_used mpeg3_MMX_Vgrncoeff[] = {0xffcd, 0xffcd, 0xffcd, 0xffcd}; /*dd 0FFCC FFCCh, 0FFCCFFCCh */
-static unsigned short mpeg3_MMX_Ycoeff[] = {0x4a, 0x4a, 0x4a, 0x4a}; /*dd 0004A 004Ah, 0004A004Ah */
+static unsigned short attribute_used mpeg3_MMX_Ycoeff[] = {0x4a, 0x4a, 0x4a, 0x4a}; /*dd 0004A 004Ah, 0004A004Ah */
-static unsigned short mpeg3_MMX_redmask[] = {0xf800, 0xf800, 0xf800, 0xf800}; /*dd 07c00 7c00h, 07c007c00h */
+static unsigned short attribute_used mpeg3_MMX_redmask[] = {0xf800, 0xf800, 0xf800, 0xf800}; /*dd 07c00 7c00h, 07c007c00h */
-static unsigned short mpeg3_MMX_grnmask[] = {0x7e0, 0x7e0, 0x7e0, 0x7e0}; /*dd 003e0 03e0h, 003e003e0h */
+static unsigned short attribute_used mpeg3_MMX_grnmask[] = {0x7e0, 0x7e0, 0x7e0, 0x7e0}; /*dd 003e0 03e0h, 003e003e0h */
-static unsigned char mpeg3_601_to_rgb[256];
+static unsigned char attribute_used mpeg3_601_to_rgb[256];
/* Algorithm */
/* r = (int)(*y + 1.371 * (*cr - 128)); */
@@ -211,12 +211,12 @@
);
}
-static unsigned long long mpeg3_MMX_U_80 = 0x0000008000800000LL;
-static unsigned long long mpeg3_MMX_V_80 = 0x0000000000800080LL;
-static long long mpeg3_MMX_U_COEF = 0x00000058ffd30000LL;
-static long long mpeg3_MMX_V_COEF = 0x00000000ffea006fLL;
-static long long mpeg3_MMX_601_Y_COEF = 0x0000004800480048LL;
-static long long mpeg3_MMX_601_Y_DIFF = 0x0000000000000010LL;
+static unsigned long long attribute_used mpeg3_MMX_U_80 = 0x0000008000800000LL;
+static unsigned long long attribute_used mpeg3_MMX_V_80 = 0x0000000000800080LL;
+static long long attribute_used mpeg3_MMX_U_COEF = 0x00000058ffd30000LL;
+static long long attribute_used mpeg3_MMX_V_COEF = 0x00000000ffea006fLL;
+static long long attribute_used mpeg3_MMX_601_Y_COEF = 0x0000004800480048LL;
+static long long attribute_used mpeg3_MMX_601_Y_DIFF = 0x0000000000000010LL;
inline void mpeg3_bgra32_mmx(unsigned long y,
unsigned long u,
@@ -301,10 +301,10 @@
: "r" (&y), "r" (&u), "r" (&v), "r" (output));
}
-static unsigned long long mpeg3_MMX_U_80_RGB = 0x0000000000800080LL;
-static unsigned long long mpeg3_MMX_V_80_RGB = 0x0000008000800000LL;
-static long long mpeg3_MMX_U_COEF_RGB = 0x00000000ffd30058LL;
-static long long mpeg3_MMX_V_COEF_RGB = 0x0000006fffea0000LL;
+static unsigned long long attribute_used mpeg3_MMX_U_80_RGB = 0x0000000000800080LL;
+static unsigned long long attribute_used mpeg3_MMX_V_80_RGB = 0x0000008000800000LL;
+static long long attribute_used mpeg3_MMX_U_COEF_RGB = 0x00000000ffd30058LL;
+static long long attribute_used mpeg3_MMX_V_COEF_RGB = 0x0000006fffea0000LL;
inline void mpeg3_rgba32_mmx(unsigned long y,
unsigned long u,
diff -ruN libmpeg3.orig/video/slice.c libmpeg3/video/slice.c
--- libmpeg3.orig/video/slice.c 2003-12-05 23:22:34.000000000 +0100
+++ libmpeg3/video/slice.c 2005-01-14 18:07:15.000000000 +0100
@@ -6,7 +6,7 @@
#define CLIP(x) ((x) >= 0 ? ((x) < 255 ? (x) : 255) : 0)
-static unsigned long long MMX_128 = 0x80008000800080LL;
+static unsigned long long attribute_used MMX_128 = 0x80008000800080LL;
int mpeg3_new_slice_buffer(mpeg3_slice_buffer_t *slice_buffer)
{
|