Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

FileYUV Class Reference

#include <fileyuv.h>

Inheritance diagram for FileYUV:

FileBase List of all members.

Public Member Functions

 FileYUV (Asset *asset, File *file)
 ~FileYUV ()
int open_file (int rd, int wr)
int colormodel_supported (int colormodel)
int read_frame (VFrame *frame)
int write_frames (VFrame ***frame, int len)
int can_copy_from (Edit *edit, int64_t position)
int close_file ()
int set_video_position (int64_t x)
void ensure_temp (int width, int height)

Static Public Member Functions

static void get_parameters (BC_WindowBase *parent_window, Asset *asset, BC_WindowBase *&format_window, int video_options, FormatTools *format)
static int check_sig (Asset *asset)
static int get_best_colormodel (Asset *asset, int driver)

Private Attributes

VFrame * temp
YUVStreamstream
Assetincoming_asset
FFMPEGffmpeg
int pipe_latency

Detailed Description

Definition at line 11 of file fileyuv.h.


Constructor & Destructor Documentation

FileYUV::FileYUV Asset asset,
File file
 

Definition at line 17 of file fileyuv.C.

References Asset::byte_order, ffmpeg, Asset::format, pipe_latency, stream, and temp.

FileYUV::~FileYUV  ) 
 

Definition at line 28 of file fileyuv.C.

References stream.


Member Function Documentation

int FileYUV::can_copy_from Edit edit,
int64_t  position
[virtual]
 

Reimplemented from FileBase.

Definition at line 278 of file fileyuv.C.

References Edit::asset, FFMPEG::codec_id(), Asset::format, incoming_asset, and Asset::vcodec.

int FileYUV::check_sig Asset asset  )  [static]
 

Definition at line 263 of file fileyuv.C.

References fclose(), fopen(), fread(), Asset::path, and temp.

Referenced by File::open_file().

int FileYUV::close_file  )  [virtual]
 

Reimplemented from FileBase.

Definition at line 91 of file fileyuv.C.

References YUVStream::close_fd(), FFMPEG::decode(), ensure_temp(), ffmpeg, Asset::height, incoming_asset, pipe_latency, stream, temp, Asset::width, and YUVStream::write_frame().

int FileYUV::colormodel_supported int  colormodel  )  [virtual]
 

Reimplemented from FileBase.

Definition at line 303 of file fileyuv.C.

void FileYUV::ensure_temp int  width,
int  height
 

Definition at line 325 of file fileyuv.C.

References temp.

Referenced by close_file(), read_frame(), and write_frames().

int FileYUV::get_best_colormodel Asset asset,
int  driver
[static]
 

Definition at line 296 of file fileyuv.C.

Referenced by File::get_best_colormodel().

void FileYUV::get_parameters BC_WindowBase *  parent_window,
Asset asset,
BC_WindowBase *&  format_window,
int  video_options,
FormatTools format
[static]
 

Definition at line 233 of file fileyuv.C.

References PipeConfig::checkbox, YUVConfigVideo::create_objects(), Asset::format, Asset::path, YUVConfigVideo::path_recent, FormatTools::path_textbox, YUVConfigVideo::path_textbox, Asset::pipe, YUVConfigVideo::pipe_config, FormatTools::pipe_status, PipeConfig::recent, PipeStatus::set_status(), PipeConfig::textbox, and Asset::use_pipe.

Referenced by File::get_options().

int FileYUV::open_file int  rd,
int  wr
[virtual]
 

Reimplemented from FileBase.

Definition at line 34 of file fileyuv.C.

References Asset::aspect_ratio, FileBase::asset, Asset::audio_data, YUVStream::frame_count, Asset::frame_rate, YUVStream::get_aspect_ratio(), YUVStream::get_frame_rate(), YUVStream::get_height(), YUVStream::get_interlace(), YUVStream::get_width(), Asset::height, Asset::interlace_mode, Asset::layers, YUVStream::open_read(), YUVStream::open_write(), Asset::path, Asset::pipe, YUVStream::set_aspect_ratio(), YUVStream::set_frame_rate(), YUVStream::set_height(), YUVStream::set_interlace(), YUVStream::set_width(), stream, Asset::use_pipe, Asset::video_data, Asset::video_length, Asset::width, and YUVStream::write_header().

int FileYUV::read_frame VFrame *  frame  )  [virtual]
 

Reimplemented from FileBase.

Definition at line 116 of file fileyuv.C.

References FFMPEG::convert_cmodel(), ensure_temp(), YUVStream::get_height(), YUVStream::get_width(), YUVStream::read_frame(), YUVStream::read_frame_raw(), stream, and temp.

int FileYUV::set_video_position int64_t  x  )  [virtual]
 

Reimplemented from FileBase.

Definition at line 112 of file fileyuv.C.

References YUVStream::seek_frame(), and stream.

int FileYUV::write_frames VFrame ***  frame,
int  len
[virtual]
 

Reimplemented from FileBase.

Definition at line 155 of file fileyuv.C.

References FileBase::asset, FFMPEG::codec_id(), FFMPEG::convert_cmodel(), FFMPEG::decode(), ensure_temp(), ffmpeg, FFMPEG_LATENCY, Asset::format, YUVStream::get_height(), YUVStream::get_width(), Asset::height, incoming_asset, FFMPEG::init(), pipe_latency, stream, temp, Asset::vcodec, Asset::width, YUVStream::write_frame(), and YUVStream::write_frame_raw().


Member Data Documentation

FFMPEG* FileYUV::ffmpeg [private]
 

Definition at line 40 of file fileyuv.h.

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

Asset* FileYUV::incoming_asset [private]
 

Definition at line 39 of file fileyuv.h.

Referenced by can_copy_from(), close_file(), and write_frames().

int FileYUV::pipe_latency [private]
 

Definition at line 41 of file fileyuv.h.

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

YUVStream* FileYUV::stream [private]
 

Definition at line 38 of file fileyuv.h.

Referenced by close_file(), FileYUV(), open_file(), read_frame(), set_video_position(), write_frames(), and ~FileYUV().

VFrame* FileYUV::temp [private]
 

Definition at line 37 of file fileyuv.h.

Referenced by check_sig(), close_file(), ensure_temp(), FileYUV(), read_frame(), and write_frames().


The documentation for this class was generated from the following files:
Generated on Sun Jan 8 13:39:15 2006 for Cinelerra-svn by  doxygen 1.4.4