Deinterlacer
Video

Deinterlacer. More...

## Typedefs

typedef struct gavl_video_deinterlacer_s | gavl_video_deinterlacer_t
| Opaque deinterlacer structure. More...

## Functions

GAVL_PUBLIC gavl_video_deinterlacer_t * | gavl_video_deinterlacer_create ()
| Create a video deinterlacer. More...
GAVL_PUBLIC void | gavl_video_deinterlacer_destroy (gavl_video_deinterlacer_t *deinterlacer)
| Destroy a video deinterlacer. More...
GAVL_PUBLIC gavl_video_options_t * | gavl_video_deinterlacer_get_options (gavl_video_deinterlacer_t *deinterlacer)
| gets options of a deinterlacer More...
GAVL_PUBLIC int | gavl_video_deinterlacer_init (gavl_video_deinterlacer_t *deinterlacer, const gavl_video_format_t *src_format)
| Initialize a video deinterlacer. More...
GAVL_PUBLIC void | gavl_video_deinterlacer_deinterlace (gavl_video_deinterlacer_t *deinterlacer, const gavl_video_frame_t *input_frame, gavl_video_frame_t *output_frame)
| Deinterlace video. More...

## Detailed Description

Deinterlacer.

Deinterlacing is supported either through the gavl_video_converter_t or using a low level deinterlacer

## Typedef Documentation

## gavl_video_deinterlacer_t

typedef struct gavl_video_deinterlacer_s gavl_video_deinterlacer_t

Opaque deinterlacer structure.

You don't want to know what's inside.

## Function Documentation

## gavl_video_deinterlacer_create()

GAVL_PUBLIC gavl_video_deinterlacer_t * gavl_video_deinterlacer_create | ( |  | ) |

Create a video deinterlacer.

Returns
  A newly allocated video deinterlacer

## gavl_video_deinterlacer_destroy()

GAVL_PUBLIC void gavl_video_deinterlacer_destroy | ( | gavl_video_deinterlacer_t * | deinterlacer | ) |

Destroy a video deinterlacer.

Parameters

  deinterlacer | A video deinterlacer

## gavl_video_deinterlacer_get_options()

GAVL_PUBLIC gavl_video_options_t * gavl_video_deinterlacer_get_options | ( | gavl_video_deinterlacer_t * | deinterlacer | ) |

gets options of a deinterlacer

Parameters

  deinterlacer | A video deinterlacer

After you called this, you can use the gavl_video_options_set_*() functions to change the options. Options will become valid with the next call to gavl_video_deinterlacer_init

## gavl_video_deinterlacer_init()

GAVL_PUBLIC int gavl_video_deinterlacer_init | ( | gavl_video_deinterlacer_t * | deinterlacer,
|  | const gavl_video_format_t * | src_format
| ) |  |

Initialize a video deinterlacer.

Parameters

  deinterlacer | A video deinterlacer
  src_format | Input format

Returns
  If something goes wrong (should never happen), -1 is returned.

You should have equal pixelformats in the source and destination. This function can be called multiple times with one instance.

## gavl_video_deinterlacer_deinterlace()

GAVL_PUBLIC void gavl_video_deinterlacer_deinterlace | ( | gavl_video_deinterlacer_t * | deinterlacer,
|  | const gavl_video_frame_t * | input_frame,
|  | gavl_video_frame_t * | output_frame
| ) |  |

Deinterlace video.

Parameters

  deinterlacer | A video deinterlacer
  input_frame | Input frame
  output_frame | Output frame