Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 591550
Collapse All | Expand All

(-)a/gst/yadif/vf_yadif.c (-2 / +2 lines)
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
(-)a/gst/yadif/yadif.c (-1 / +1 lines)
Lines 17-33 Link Here
17
 * with Libav; if not, write to the Free Software Foundation, Inc.,
17
 * with Libav; if not, write to the Free Software Foundation, Inc.,
18
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
 */
19
 */
20
20
21
#include "config.h"
21
#include "config.h"
22
22
23
#include <glib.h>
23
#include <glib.h>
24
24
25
#if HAVE_CPU_X86_64
25
#if defined(HAVE_CPU_X86_64) && !defined(__ILP32__)
26
26
27
typedef struct xmm_reg
27
typedef struct xmm_reg
28
{
28
{
29
  guint64 a, b;
29
  guint64 a, b;
30
} xmm_reg;
30
} xmm_reg;
31
typedef gint64 x86_reg;
31
typedef gint64 x86_reg;
32
#define DECLARE_ALIGNED(n,t,v)      t __attribute__ ((aligned (n))) v
32
#define DECLARE_ALIGNED(n,t,v)      t __attribute__ ((aligned (n))) v
33
#define DECLARE_ASM_CONST(n,t,v)    static const t __attribute__((used)) __attribute__ ((aligned (n))) v
33
#define DECLARE_ASM_CONST(n,t,v)    static const t __attribute__((used)) __attribute__ ((aligned (n))) v

Return to bug 591550