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

VRender Class Reference

#include <vrender.h>

Inheritance diagram for VRender:

CommonRender List of all members.

Public Member Functions

 VRender (RenderEngine *renderengine)
 VRender (MWindow *mwindow, RenderEngine *renderengine)
 ~VRender ()
VirtualConsolenew_vconsole_object ()
int get_total_tracks ()
Modulenew_module (Track *track)
int arm_playback (int64_t current_position, int64_t input_length, int64_t module_render_fragment, int64_t playback_buffer, int track_w, int track_h, int output_w, int output_h)
void run ()
int wait_for_startup ()
int start_playback ()
int get_datatype ()
int process_buffer (VFrame **video_out, int64_t input_position, int last_buffer)
int process_buffer (int64_t input_position)
int flash_output ()
void get_render_strategy (Edit *&playable_edit, int &colormodel, int &use_vconsole, int64_t position)
int get_use_vconsole (Edit *&playable_edit, int64_t position, int &get_use_vconsole)
int get_colormodel (Edit *&playable_edit, int use_vconsole, int use_brender)
int insert_timecode (Edit *&playable_edit, int64_t position, VFrame *output)
int64_t tounits (double position, int round)
double fromunits (int64_t position)

Public Attributes

int64_t session_frame
int track_w
int track_h
int output_w
int output_h
int64_t vmodule_render_fragment
int64_t playback_buffer
VFrame * video_out [MAX_CHANNELS]
int64_t output_offset
VFrame * input_temp
VFrame * transition_temp
OverlayFrameoverlayer
int64_t source_length
int first_frame

Private Member Functions

int init_device_buffers ()

Private Attributes

Timer timer
int64_t framerate_counter
Timer framerate_timer
int render_strategy

Detailed Description

Definition at line 13 of file vrender.h.


Constructor & Destructor Documentation

VRender::VRender RenderEngine renderengine  ) 
 

Definition at line 39 of file vrender.C.

References CommonRender::data_type, input_temp, overlayer, RenderEngine::preferences, Preferences::processors, TRACK_VIDEO, and transition_temp.

VRender::VRender MWindow mwindow,
RenderEngine renderengine
 

Definition at line 584 of file vrender.C.

References CommonRender::asynchronous, framerate_counter, CommonRender::input_length, playback_buffer, render_strategy, session_frame, video_out, and vmodule_render_fragment.

VRender::~VRender  ) 
 

Definition at line 48 of file vrender.C.

References input_temp, overlayer, and transition_temp.


Member Function Documentation

int VRender::arm_playback int64_t  current_position,
int64_t  input_length,
int64_t  module_render_fragment,
int64_t  playback_buffer,
int  track_w,
int  track_h,
int  output_w,
int  output_h
 

int VRender::flash_output  ) 
 

Definition at line 71 of file vrender.C.

References RenderEngine::edl, CommonRender::renderengine, RenderEngine::video, video_out, and VideoDevice::write_buffer().

Referenced by run().

double VRender::fromunits int64_t  position  )  [virtual]
 

Reimplemented from CommonRender.

Definition at line 641 of file vrender.C.

References RenderEngine::edl, EDLSession::frame_rate, CommonRender::renderengine, and EDL::session.

Referenced by run().

int VRender::get_colormodel Edit *&  playable_edit,
int  use_vconsole,
int  use_brender
 

Definition at line 319 of file vrender.C.

References Edit::asset, Preferences::brender_asset, CICache::check_in(), CICache::check_out(), EDLSession::color_model, RenderEngine::command, RenderEngine::config, VideoOutConfig::driver, RenderEngine::edl, File::get_best_colormodel(), RenderEngine::get_vcache(), RenderEngine::preferences, CommonRender::renderengine, EDL::session, TransportCommand::single_frame(), and PlaybackConfig::vconfig.

Referenced by process_buffer().

int VRender::get_datatype  )  [virtual]
 

Reimplemented from CommonRender.

Definition at line 607 of file vrender.C.

References TRACK_VIDEO.

void VRender::get_render_strategy Edit *&  playable_edit,
int &  colormodel,
int &  use_vconsole,
int64_t  position
 

int VRender::get_total_tracks  )  [virtual]
 

Reimplemented from CommonRender.

Definition at line 61 of file vrender.C.

References RenderEngine::edl, CommonRender::renderengine, Tracks::total_video_tracks(), and EDL::tracks.

int VRender::get_use_vconsole Edit *&  playable_edit,
int64_t  position,
int &  get_use_vconsole
 

Definition at line 181 of file vrender.C.

References Edit::asset, RenderEngine::brender_available(), RenderEngine::command, Track::direct_copy_possible(), Edits::editof(), Track::edits, RenderEngine::edl, TransportCommand::get_direction(), Asset::height, Asset::interlace_autofixoption, Asset::interlace_fixmethod, Asset::interlace_mode, EDLSession::interlace_mode, EDLSession::output_h, EDLSession::output_w, VirtualConsole::playable_tracks, CommonRender::renderengine, EDL::session, VirtualConsole::total_entry_nodes, CommonRender::vconsole, and Asset::width.

Referenced by process_buffer().

int VRender::init_device_buffers  )  [private]
 

Definition at line 597 of file vrender.C.

References render_strategy, CommonRender::renderengine, RenderEngine::video, and video_out.

int VRender::insert_timecode Edit *&  playable_edit,
int64_t  position,
VFrame *  output
 

Definition at line 234 of file vrender.C.

References Edit::asset, CommonRender::current_position, RenderEngine::edl, Asset::frame_rate, EDLSession::frame_rate, EDLSession::frames_per_foot, EDLSession::get_frame_offset(), MIN, CommonRender::renderengine, EDLSession::sample_rate, EDL::session, Edit::startproject, Edit::startsource, Asset::tcstart, EDLSession::time_format, and RenderEngine::vrender.

Referenced by process_buffer(), and VirtualVNode::render_as_module().

Module * VRender::new_module Track track  )  [virtual]
 

Reimplemented from CommonRender.

Definition at line 66 of file vrender.C.

References CommonRender::renderengine.

VirtualConsole * VRender::new_vconsole_object  )  [virtual]
 

Reimplemented from CommonRender.

Definition at line 56 of file vrender.C.

References CommonRender::renderengine.

int VRender::process_buffer int64_t  input_position  ) 
 

Definition at line 102 of file vrender.C.

References Preferences::brender_asset, CICache::check_in(), CICache::check_out(), RenderEngine::command, CommonRender::current_position, RenderEngine::edl, EDLSession::frame_rate, get_colormodel(), TransportCommand::get_direction(), get_use_vconsole(), RenderEngine::get_vcache(), insert_timecode(), VideoDevice::new_output_buffers(), RenderEngine::preferences, File::read_frame(), TransportCommand::realtime, CommonRender::renderengine, EDL::session, File::set_cache_frames(), File::set_video_position(), RenderEngine::show_tc, TransportCommand::single_frame(), CommonRender::vconsole, RenderEngine::video, and video_out.

int VRender::process_buffer VFrame **  video_out,
int64_t  input_position,
int  last_buffer
 

Definition at line 76 of file vrender.C.

References CommonRender::current_position, CommonRender::last_playback, MAX_CHANNELS, CommonRender::restart_playback(), VirtualConsole::test_reconfigure(), and CommonRender::vconsole.

Referenced by PackageRenderer::do_video(), and run().

void VRender::run  )  [virtual]
 

Reimplemented from CommonRender.

Definition at line 365 of file vrender.C.

References CommonRender::advance_position(), TransportCommand::command, RenderEngine::command, CommonRender::current_position, CommonRender::done, RenderEngine::edl, first_frame, RenderEngine::first_frame_lock, flash_output(), EDLSession::frame_rate, framerate_counter, framerate_timer, fromunits(), CommonRender::get_boundaries(), TransportCommand::get_speed(), VideoDevice::interrupt, CommonRender::last_playback, RenderEngine::playback_engine, process_buffer(), TransportCommand::realtime, CommonRender::renderengine, RenderEngine::reset_sync_position(), CommonRender::restart_playback(), EDLSession::sample_rate, EDL::session, session_frame, TransportCommand::single_frame(), CommonRender::start_lock, RenderEngine::sync_position(), VirtualConsole::test_reconfigure(), timer, RenderEngine::update_framerate(), PlaybackEngine::update_tracking(), CommonRender::vconsole, RenderEngine::video, and EDLSession::video_every_frame.

int VRender::start_playback  ) 
 

Definition at line 613 of file vrender.C.

References RenderEngine::command, TransportCommand::realtime, and CommonRender::renderengine.

Referenced by RenderEngine::start_video().

int64_t VRender::tounits double  position,
int  round
[virtual]
 

Reimplemented from CommonRender.

Definition at line 633 of file vrender.C.

References RenderEngine::edl, EDLSession::frame_rate, CommonRender::renderengine, and EDL::session.

int VRender::wait_for_startup  ) 
 

Definition at line 623 of file vrender.C.


Member Data Documentation

int VRender::first_frame
 

Definition at line 97 of file vrender.h.

Referenced by run().

int64_t VRender::framerate_counter [private]
 

Definition at line 104 of file vrender.h.

Referenced by run(), and VRender().

Timer VRender::framerate_timer [private]
 

Definition at line 105 of file vrender.h.

Referenced by run().

VFrame* VRender::input_temp
 

Definition at line 85 of file vrender.h.

Referenced by VModule::import_frame(), VRender(), and ~VRender().

int VRender::output_h
 

Definition at line 74 of file vrender.h.

int64_t VRender::output_offset
 

Definition at line 82 of file vrender.h.

int VRender::output_w
 

Definition at line 74 of file vrender.h.

OverlayFrame* VRender::overlayer
 

Definition at line 89 of file vrender.h.

Referenced by VModule::import_frame(), VirtualVNode::render_projector(), VRender(), and ~VRender().

int64_t VRender::playback_buffer
 

Definition at line 78 of file vrender.h.

Referenced by VRender().

int VRender::render_strategy [private]
 

Definition at line 106 of file vrender.h.

Referenced by init_device_buffers(), and VRender().

int64_t VRender::session_frame
 

Definition at line 69 of file vrender.h.

Referenced by run(), RenderEngine::session_position(), and VRender().

int64_t VRender::source_length
 

Definition at line 94 of file vrender.h.

Timer VRender::timer [private]
 

Definition at line 101 of file vrender.h.

Referenced by run().

int VRender::track_h
 

Definition at line 72 of file vrender.h.

int VRender::track_w
 

Definition at line 72 of file vrender.h.

VFrame* VRender::transition_temp
 

Definition at line 87 of file vrender.h.

Referenced by VModule::render(), VRender(), and ~VRender().

VFrame* VRender::video_out[MAX_CHANNELS]
 

Definition at line 80 of file vrender.h.

Referenced by flash_output(), init_device_buffers(), process_buffer(), VirtualVConsole::process_buffer(), VirtualVNode::render(), and VRender().

int64_t VRender::vmodule_render_fragment
 

Definition at line 76 of file vrender.h.

Referenced by VRender().


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