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

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Functions
deinterlace.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include "deinterlace.h"`
`#include <xine/xine_internal.h>`

## Data Structures
struct | methodlist_item_s

## Macros
#define | LOG_MODULE "deinterlace"
#define | LOG_VERBOSE

## Typedefs
typedef struct methodlist_item_s | methodlist_item_t

## Functions
void | free_deinterlace_methods (deinterlace_methods_t *methodlist)
void | register_deinterlace_method (deinterlace_methods_t *methodlist, const deinterlace_method_t *method)
int | get_num_deinterlace_methods (deinterlace_methods_t methodlist)
const deinterlace_method_t * | get_deinterlace_method (deinterlace_methods_t methodlist, int i)
void | filter_deinterlace_methods (deinterlace_methods_t *methodlist, int accel, int fields_available)

## Macro Definition Documentation

## ◆ LOG_MODULE

#define LOG_MODULE "deinterlace"

Copyright (c) 2002, 2005 Billy Biggs vekto.nosp@m.r@du.nosp@m.mbter.nosp@m.m.ne.nosp@m.t.

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.

## ◆ LOG_VERBOSE

#define LOG_VERBOSE

## Typedef Documentation

## ◆ methodlist_item_t

typedef struct methodlist_item_s methodlist_item_t

## Function Documentation

## ◆ filter_deinterlace_methods()

void filter_deinterlace_methods | ( | deinterlace_methods_t * | methodlist,
|  | int | accel,
|  | int | fieldsavailable )

Builds the usable method list.

References deinterlace_method_s::accelrequired, deinterlace_method_s::fields_required, lprintf, methodlist_item_s::method, methodlist_item_s::next, and deinterlace_method_s::short_name.

Referenced by deinterlace_init_plugin().

## ◆ free_deinterlace_methods()

void free_deinterlace_methods | ( | deinterlace_methods_t * | methodlist | ) |

References methodlist_item_s::next, and NULL.

Referenced by deinterlace_class_dispose().

## ◆ get_deinterlace_method()

const deinterlace_method_t * get_deinterlace_method | ( | deinterlace_methods_t | methodlist,
|  | int | i )

Returns the specified method in the list.

References methodlist_item_s::method, and methodlist_item_s::next.

Referenced by deinterlace_draw(), and deinterlace_init_plugin().

## ◆ get_num_deinterlace_methods()

int get_num_deinterlace_methods | ( | deinterlace_methods_t | methodlist | ) |

Returns how many deinterlacing methods are available.

References methodlist_item_s::next.

Referenced by deinterlace_init_plugin().

## ◆ register_deinterlace_method()

void register_deinterlace_method | ( | deinterlace_methods_t * | methodlist,
|  | const deinterlace_method_t * | method )

Registers a new deinterlace method.

References methodlist_item_s::method, and methodlist_item_s::next.

Referenced by deinterlace_init_plugin().