FFMPEG Class Reference

#include <ffmpeg.h>

Collaboration diagram for FFMPEG:

Collaboration graph
[legend]

Public Member Functions

 FFMPEG (Asset *asset_in)
 ~FFMPEG ()
int init (char *codec_string)
int decode (uint8_t *data, long data_size, VFrame *frame_out)

Static Public Member Functions

static int convert_cmodel (AVPicture *picture_in, PixelFormat pix_fmt, int width_in, int height_in, VFrame *frame_out)
static int convert_cmodel (VFrame *frame_in, VFrame *frame_out)
static int convert_cmodel_transfer (VFrame *frame_in, VFrame *frame_out)
static int init_picture_from_frame (AVPicture *picture, VFrame *frame)
static CodecID codec_id (char *codec_string)

Static Private Member Functions

static PixelFormat color_model_to_pix_fmt (int color_model)
static int pix_fmt_to_color_model (PixelFormat pix_fmt)

Private Attributes

int got_picture
Assetasset
AVCodeccodec
AVCodecContextcontext
AVFramepicture

Detailed Description

Definition at line 13 of file ffmpeg.h.


Constructor & Destructor Documentation

FFMPEG::FFMPEG ( Asset asset_in  ) 

Definition at line 16 of file ffmpeg.C.

References codec, context, got_picture, and picture.

FFMPEG::~FFMPEG (  ) 

Definition at line 48 of file ffmpeg.C.

References avcodec_close(), context, and picture.

Here is the call graph for this function:


Member Function Documentation

int FFMPEG::init ( char *  codec_string  ) 

Definition at line 24 of file ffmpeg.C.

References avcodec_alloc_context(), avcodec_alloc_frame(), avcodec_find_decoder(), avcodec_init(), avcodec_open(), avcodec_register_all(), codec, codec_id(), context, NULL, and picture.

Referenced by FileYUV::write_frames().

Here is the call graph for this function:

int FFMPEG::decode ( uint8_t *  data,
long  data_size,
VFrame frame_out 
)

Definition at line 368 of file ffmpeg.C.

References asset, avcodec_decode_video(), context, convert_cmodel(), FFMPEG_LATENCY, got_picture, Asset::height, picture, AVCodecContext::pix_fmt, and Asset::width.

Referenced by FileYUV::close_file(), and FileYUV::write_frames().

Here is the call graph for this function:

int FFMPEG::convert_cmodel ( AVPicture picture_in,
PixelFormat  pix_fmt,
int  width_in,
int  height_in,
VFrame frame_out 
) [static]

int FFMPEG::convert_cmodel ( VFrame frame_in,
VFrame frame_out 
) [static]

int FFMPEG::convert_cmodel_transfer ( VFrame frame_in,
VFrame frame_out 
) [static]

Definition at line 201 of file ffmpeg.C.

References cmodel_transfer(), VFrame::get_color_model(), VFrame::get_h(), VFrame::get_rows(), VFrame::get_u(), VFrame::get_v(), VFrame::get_w(), and VFrame::get_y().

Referenced by convert_cmodel().

Here is the call graph for this function:

int FFMPEG::init_picture_from_frame ( AVPicture picture,
VFrame frame 
) [static]

CodecID FFMPEG::codec_id ( char *  codec_string  )  [static]

PixelFormat FFMPEG::color_model_to_pix_fmt ( int  color_model  )  [static, private]

int FFMPEG::pix_fmt_to_color_model ( PixelFormat  pix_fmt  )  [static, private]


Field Documentation

int FFMPEG::got_picture [private]

Definition at line 35 of file ffmpeg.h.

Referenced by decode(), and FFMPEG().

Asset* FFMPEG::asset [private]

Definition at line 36 of file ffmpeg.h.

Referenced by decode().

AVCodec* FFMPEG::codec [private]

Definition at line 37 of file ffmpeg.h.

Referenced by FFMPEG(), and init().

Definition at line 38 of file ffmpeg.h.

Referenced by decode(), FFMPEG(), init(), and ~FFMPEG().

Definition at line 39 of file ffmpeg.h.

Referenced by decode(), FFMPEG(), init(), and ~FFMPEG().


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

Generated on Mon Apr 28 14:24:36 2008 for Cinelerra by  doxygen 1.5.5