MythTV  master
Public Member Functions | Private Attributes | List of all members
MythPictureDeinterlacer Class Reference

MythPictureDeinterlacer simple deinterlacer based on FFmpeg's yadif filter. More...

#include <mythavutil.h>

Collaboration diagram for MythPictureDeinterlacer:
Collaboration graph
[legend]

Public Member Functions

 MythPictureDeinterlacer (AVPixelFormat pixfmt, int width, int height, float ar=1.0F)
 
 ~MythPictureDeinterlacer ()
 
int Deinterlace (AVFrame *dst, const AVFrame *src)
 
int DeinterlaceSingle (AVFrame *dst, const AVFrame *src)
 
int Flush ()
 

Private Attributes

AVFilterGraph * m_filterGraph {nullptr}
 
MythAVFrame m_filterFrame
 
AVFilterContext * m_bufferSinkCtx {nullptr}
 
AVFilterContext * m_bufferSrcCtx {nullptr}
 
AVPixelFormat m_pixfmt {AV_PIX_FMT_NONE}
 
int m_width {0}
 
int m_height {0}
 
float m_ar
 
bool m_errored {false}
 

Detailed Description

MythPictureDeinterlacer simple deinterlacer based on FFmpeg's yadif filter.

Yadif requires 3 frames before starting to return a deinterlaced frame.

Definition at line 169 of file mythavutil.h.

Constructor & Destructor Documentation

◆ MythPictureDeinterlacer()

MythPictureDeinterlacer::MythPictureDeinterlacer ( AVPixelFormat  pixfmt,
int  width,
int  height,
float  ar = 1.0F 
)

Definition at line 386 of file mythavutil.cpp.

◆ ~MythPictureDeinterlacer()

MythPictureDeinterlacer::~MythPictureDeinterlacer ( )

Definition at line 500 of file mythavutil.cpp.

Member Function Documentation

◆ Deinterlace()

int MythPictureDeinterlacer::Deinterlace ( AVFrame dst,
const AVFrame src 
)

Definition at line 399 of file mythavutil.cpp.

Referenced by DeinterlaceSingle().

◆ DeinterlaceSingle()

int MythPictureDeinterlacer::DeinterlaceSingle ( AVFrame dst,
const AVFrame src 
)

Definition at line 434 of file mythavutil.cpp.

Referenced by grabThumbnail().

◆ Flush()

int MythPictureDeinterlacer::Flush ( void  )

Definition at line 454 of file mythavutil.cpp.

Referenced by DeinterlaceSingle(), and MythPictureDeinterlacer().

Member Data Documentation

◆ m_filterGraph

AVFilterGraph* MythPictureDeinterlacer::m_filterGraph {nullptr}
private

Definition at line 184 of file mythavutil.h.

Referenced by DeinterlaceSingle(), Flush(), and ~MythPictureDeinterlacer().

◆ m_filterFrame

MythAVFrame MythPictureDeinterlacer::m_filterFrame
private

Definition at line 185 of file mythavutil.h.

Referenced by Deinterlace().

◆ m_bufferSinkCtx

AVFilterContext* MythPictureDeinterlacer::m_bufferSinkCtx {nullptr}
private

Definition at line 186 of file mythavutil.h.

Referenced by Deinterlace(), and Flush().

◆ m_bufferSrcCtx

AVFilterContext* MythPictureDeinterlacer::m_bufferSrcCtx {nullptr}
private

Definition at line 187 of file mythavutil.h.

Referenced by Deinterlace(), and Flush().

◆ m_pixfmt

AVPixelFormat MythPictureDeinterlacer::m_pixfmt {AV_PIX_FMT_NONE}
private

Definition at line 188 of file mythavutil.h.

Referenced by Deinterlace(), and Flush().

◆ m_width

int MythPictureDeinterlacer::m_width {0}
private

Definition at line 189 of file mythavutil.h.

Referenced by Deinterlace(), and Flush().

◆ m_height

int MythPictureDeinterlacer::m_height {0}
private

Definition at line 190 of file mythavutil.h.

Referenced by Deinterlace(), and Flush().

◆ m_ar

float MythPictureDeinterlacer::m_ar
private

Definition at line 191 of file mythavutil.h.

Referenced by Flush().

◆ m_errored

bool MythPictureDeinterlacer::m_errored {false}
private

Definition at line 192 of file mythavutil.h.

Referenced by Deinterlace(), DeinterlaceSingle(), and MythPictureDeinterlacer().


The documentation for this class was generated from the following files: