#include <vrender.h>
Inherits CommonRender.

Public Member Functions | |
| VRender (RenderEngine *renderengine) | |
| VRender (MWindow *mwindow, RenderEngine *renderengine) | |
| ~VRender () | |
| VirtualConsole * | new_vconsole_object () |
| int | get_total_tracks () |
| Module * | new_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) |
Data Fields | |
| 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 |
| int64_t | output_offset |
| VFrame * | input_temp |
| VFrame * | transition_temp |
| OverlayFrame * | overlayer |
| 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 |
Definition at line 13 of file vrender.h.
| 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 | ( | ) |
| VirtualConsole * VRender::new_vconsole_object | ( | ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 56 of file vrender.C.
References CommonRender::renderengine.
| 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.

Reimplemented from CommonRender.
Definition at line 66 of file vrender.C.
References CommonRender::renderengine.
| 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 | |||
| ) |
| void VRender::run | ( | ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 371 of file vrender.C.
References CommonRender::advance_position(), TransportCommand::command, RenderEngine::command, CommonRender::current_position, Timer::delay(), CommonRender::done, RenderEngine::edl, first_frame, RenderEngine::first_frame_lock, flash_output(), EDLSession::frame_rate, framerate_counter, framerate_timer, fromunits(), CommonRender::get_boundaries(), Timer::get_difference(), 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, SET_TRACE, TransportCommand::single_frame(), CommonRender::start_lock, CommonRender::stop_plugins(), RenderEngine::sync_position(), VirtualConsole::test_reconfigure(), timer, Units::toframes(), Units::tosamples(), Condition::unlock(), Timer::update(), 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, CommonRender::renderengine, and Thread::start().
Referenced by RenderEngine::start_video().

| int VRender::get_datatype | ( | ) | [virtual] |
| 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, CommonRender::restart_playback(), VirtualConsole::test_reconfigure(), and CommonRender::vconsole.
Referenced by PackageRenderer::do_video(), and run().

| int VRender::process_buffer | ( | int64_t | input_position | ) |
Definition at line 101 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_buffer(), RenderEngine::preferences, File::read_frame(), TransportCommand::realtime, CommonRender::renderengine, EDL::session, File::set_cache_frames(), SET_TRACE, File::set_video_position(), RenderEngine::show_tc, TransportCommand::single_frame(), File::start_video_decode_thread(), File::stop_video_thread(), CommonRender::vconsole, RenderEngine::video, EDLSession::video_asynchronous, and video_out.

| 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().

| void VRender::get_render_strategy | ( | Edit *& | playable_edit, | |
| int & | colormodel, | |||
| int & | use_vconsole, | |||
| int64_t | position | |||
| ) |
| int VRender::get_use_vconsole | ( | Edit *& | playable_edit, | |
| int64_t | position, | |||
| int & | get_use_vconsole | |||
| ) |
Definition at line 192 of file vrender.C.
References Edit::asset, BC_ILACE_FIXMETHOD_NONE, RenderEngine::brender_available(), RenderEngine::command, Track::direct_copy_possible(), Edits::editof(), Track::edits, RenderEngine::edl, TransportCommand::get_direction(), Asset::height, ilaceautofixmethod2(), 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_exit_nodes, ArrayList< TYPE >::values, CommonRender::vconsole, and Asset::width.
Referenced by process_buffer().

| int VRender::get_colormodel | ( | Edit *& | playable_edit, | |
| int | use_vconsole, | |||
| int | use_brender | |||
| ) |
Definition at line 330 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().

Definition at line 245 of file vrender.C.
References Edit::asset, CommonRender::current_position, RenderEngine::edl, Asset::frame_rate, EDLSession::frame_rate, EDLSession::frames_per_foot, VFrame::get_bytes_per_line(), VFrame::get_color_model(), EDLSession::get_frame_offset(), VFrame::get_h(), VFrame::get_w(), input, MIN, CommonRender::renderengine, EDLSession::sample_rate, EDL::session, Edit::startproject, Edit::startsource, Asset::tcstart, EDLSession::time_format, Units::totext(), TRACE, UNTRACE, and RenderEngine::vrender.
Referenced by process_buffer(), and VirtualVNode::render_as_module().

| 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, Units::round(), EDL::session, and Units::to_int64().

| 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::init_device_buffers | ( | ) | [private] |
Definition at line 597 of file vrender.C.
References render_strategy, CommonRender::renderengine, RenderEngine::video, and video_out.
| int64_t VRender::session_frame |
Definition at line 71 of file vrender.h.
Referenced by run(), RenderEngine::session_position(), and VRender().
| int VRender::track_w |
| int VRender::track_h |
| int64_t VRender::vmodule_render_fragment |
| int64_t VRender::playback_buffer |
Definition at line 82 of file vrender.h.
Referenced by flash_output(), init_device_buffers(), process_buffer(), VirtualVConsole::process_buffer(), VirtualVNode::render(), and VRender().
| int64_t VRender::output_offset |
Definition at line 87 of file vrender.h.
Referenced by VModule::import_frame(), VRender(), and ~VRender().
Definition at line 89 of file vrender.h.
Referenced by VModule::render(), VRender(), and ~VRender().
Definition at line 91 of file vrender.h.
Referenced by VModule::import_frame(), VirtualVNode::render_projector(), VRender(), and ~VRender().
| int64_t VRender::source_length |
Timer VRender::timer [private] |
int64_t VRender::framerate_counter [private] |
Timer VRender::framerate_timer [private] |
int VRender::render_strategy [private] |
1.5.5