xine-lib: xine-lib-1.2.13/src/post/deinterlace/plugins/greedy2frame.c File Reference

xine-lib 1.2.13-20230125hg15249

Macros | Functions | Variables
greedy2frame.c File Reference
`#include <stdio.h>`
`#include <stdint.h>`
`#include <xine/attributes.h>`
`#include <xine/xineutils.h>`
`#include "xine_mmx.h"`
`#include "deinterlace.h"`
`#include "speedtools.h"`
`#include "speedy.h"`
`#include "plugins.h"`

## Macros
#define | GREEDYTWOFRAMETHRESHOLD 4
#define | GREEDYTWOFRAMETHRESHOLD2 8

## Functions
static void | DeinterlaceGreedy2Frame (uint8_t *output, int outstride, deinterlace_frame_data_t *data, int bottom_field, int second_field, int width, int height)
const deinterlace_method_t * | greedy2frame_get_method (void)

## Variables
static const deinterlace_method_t | greedy2framemethod

## Macro Definition Documentation

## ◆ GREEDYTWOFRAMETHRESHOLD

#define GREEDYTWOFRAMETHRESHOLD 4

Copyright (c) 2000 John Adcock, Tom Barry, Steve Grimm All rights reserved. port copyright (c) 2003 Miguel Freitas

This code is ported from DScaler: http://deinterlace.sf.net/

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA.

## ◆ GREEDYTWOFRAMETHRESHOLD2

#define GREEDYTWOFRAMETHRESHOLD2 8

## Function Documentation

## ◆ DeinterlaceGreedy2Frame()

static void DeinterlaceGreedy2Frame | ( | uint8_t * | output,
|  | int | outstride,
|  | deinterlace_frame_data_t * | data,
|  | int | bottom_field,
|  | int | second_field,
|  | int | width,
|  | int | height )
| static

References DeinterlaceGreedy2Frame_SSE2(), deinterlace_frame_data_s::f0, deinterlace_frame_data_s::f1, height, MM_ACCEL_X86_SSE2, width, and xine_mm_accel().

## ◆ greedy2frame_get_method()

const deinterlace_method_t * greedy2frame_get_method | ( | void |  | ) |

References greedy2framemethod.

Referenced by deinterlace_init_plugin().

## Variable Documentation

## ◆ greedy2framemethod

const deinterlace_method_t greedy2framemethod
| static

Initial value:
=
{
"Greedy 2-frame (DScaler)",
"Greedy2Frame",
4,
MM_ACCEL_X86_MMXEXT,
0,
0,
0,
0,
DeinterlaceGreedy2Frame,
1,
NULL
}
DeinterlaceGreedy2Frame
static void DeinterlaceGreedy2Frame(uint8_t *output, int outstride, deinterlace_frame_data_t *data, int bottom_field, int second_field, int width, int height)
Definition greedy2frame.c:59
NULL
NULL
Definition xine_plugin.c:78
MM_ACCEL_X86_MMXEXT
#define MM_ACCEL_X86_MMXEXT
Definition xineutils.h:167

Referenced by greedy2frame_get_method().