Lines 111-127
filter_line_c_16bit (guint16 * dst,
Link Here
|
111 |
guint16 *next2 = parity ? cur : next; |
111 |
guint16 *next2 = parity ? cur : next; |
112 |
mrefs /= 2; |
112 |
mrefs /= 2; |
113 |
prefs /= 2; |
113 |
prefs /= 2; |
114 |
|
114 |
|
115 |
FILTER} |
115 |
FILTER} |
116 |
#endif |
116 |
#endif |
117 |
|
117 |
|
118 |
void yadif_filter (GstYadif * yadif, int parity, int tff); |
118 |
void yadif_filter (GstYadif * yadif, int parity, int tff); |
119 |
#ifdef HAVE_CPU_X86_64 |
119 |
#if defined(HAVE_CPU_X86_64) && !defined(__ILP32__) |
120 |
void filter_line_x86_64 (guint8 * dst, |
120 |
void filter_line_x86_64 (guint8 * dst, |
121 |
guint8 * prev, guint8 * cur, guint8 * next, |
121 |
guint8 * prev, guint8 * cur, guint8 * next, |
122 |
int w, int prefs, int mrefs, int parity, int mode); |
122 |
int w, int prefs, int mrefs, int parity, int mode); |
123 |
#endif |
123 |
#endif |
124 |
|
124 |
|
125 |
void |
125 |
void |
126 |
yadif_filter (GstYadif * yadif, int parity, int tff) |
126 |
yadif_filter (GstYadif * yadif, int parity, int tff) |
127 |
{ |
127 |
{ |
Lines 141-157
yadif_filter (GstYadif * yadif, int parity, int tff)
Link Here
|
141 |
|
141 |
|
142 |
for (y = 0; y < h; y++) { |
142 |
for (y = 0; y < h; y++) { |
143 |
if ((y ^ parity) & 1) { |
143 |
if ((y ^ parity) & 1) { |
144 |
guint8 *prev = prev_data + y * refs; |
144 |
guint8 *prev = prev_data + y * refs; |
145 |
guint8 *cur = cur_data + y * refs; |
145 |
guint8 *cur = cur_data + y * refs; |
146 |
guint8 *next = next_data + y * refs; |
146 |
guint8 *next = next_data + y * refs; |
147 |
guint8 *dst = dest_data + y * refs; |
147 |
guint8 *dst = dest_data + y * refs; |
148 |
int mode = ((y == 1) || (y + 2 == h)) ? 2 : yadif->mode; |
148 |
int mode = ((y == 1) || (y + 2 == h)) ? 2 : yadif->mode; |
149 |
#if HAVE_CPU_X86_64 |
149 |
#if defined(HAVE_CPU_X86_64) && !defined(__ILP32__) |
150 |
if (0) { |
150 |
if (0) { |
151 |
filter_line_c (dst, prev, cur, next, w, |
151 |
filter_line_c (dst, prev, cur, next, w, |
152 |
y + 1 < h ? refs : -refs, y ? -refs : refs, parity ^ tff, mode); |
152 |
y + 1 < h ? refs : -refs, y ? -refs : refs, parity ^ tff, mode); |
153 |
} else { |
153 |
} else { |
154 |
filter_line_x86_64 (dst, prev, cur, next, w, |
154 |
filter_line_x86_64 (dst, prev, cur, next, w, |
155 |
y + 1 < h ? refs : -refs, y ? -refs : refs, parity ^ tff, mode); |
155 |
y + 1 < h ? refs : -refs, y ? -refs : refs, parity ^ tff, mode); |
156 |
} |
156 |
} |
157 |
#else |
157 |
#else |