#include <playback3d.h>
Inherits BC_Synchronous.

Public Member Functions | |
| Playback3D (MWindow *mwindow) | |
| ~Playback3D () | |
| BC_SynchronousCommand * | new_command () |
| void | handle_command (BC_SynchronousCommand *command) |
| void | write_buffer (Canvas *canvas, VFrame *frame, float in_x1, float in_y1, float in_x2, float in_y2, float out_x1, float out_y1, float out_x2, float out_y2, int is_cleared) |
| void | copy_from (Canvas *canvas, VFrame *dst, VFrame *src, int want_texture=0) |
| void | clear_output (Canvas *canvas, VFrame *output) |
| void | do_fade (Canvas *canvas, VFrame *frame, float fade) |
| void | do_mask (Canvas *canvas, VFrame *output, int64_t start_position_project, MaskAutos *keyframe_set, MaskAuto *keyframe, MaskAuto *default_auto) |
| void | overlay (Canvas *canvas, VFrame *input, float in_x1, float in_y1, float in_x2, float in_y2, float out_x1, float out_y1, float out_x2, float out_y2, float alpha, int mode, int interpolation_type, VFrame *output=0) |
| int | run_plugin (Canvas *canvas, PluginClient *client) |
| void | clear_input (Canvas *canvas, VFrame *frame) |
| void | do_camera (Canvas *canvas, VFrame *output, VFrame *input, float in_x1, float in_y1, float in_x2, float in_y2, float out_x1, float out_y1, float out_x2, float out_y2) |
Private Member Functions | |
| void | init_frame (Playback3DCommand *command) |
| void | write_buffer_sync (Playback3DCommand *command) |
| void | draw_output (Playback3DCommand *command) |
| void | clear_output_sync (Playback3DCommand *command) |
| void | clear_input_sync (Playback3DCommand *command) |
| void | overlay_sync (Playback3DCommand *command) |
| void | enable_overlay_texture (Playback3DCommand *command) |
| void | do_fade_sync (Playback3DCommand *command) |
| void | do_mask_sync (Playback3DCommand *command) |
| void | run_plugin_sync (Playback3DCommand *command) |
| void | do_camera_sync (Playback3DCommand *command) |
| void | copy_from_sync (Playback3DCommand *command) |
| void | print_error (unsigned int object, int is_program) |
Private Attributes | |
| MWindow * | mwindow |
| BC_Texture * | temp_texture |
| int | canvas_w |
| int | canvas_h |
Definition at line 195 of file playback3d.h.
| Playback3D::Playback3D | ( | MWindow * | mwindow | ) |
| Playback3D::~Playback3D | ( | ) |
Definition at line 259 of file playback3d.C.
| BC_SynchronousCommand * Playback3D::new_command | ( | ) | [virtual] |
| void Playback3D::handle_command | ( | BC_SynchronousCommand * | command | ) | [virtual] |
Reimplemented from BC_Synchronous.
Definition at line 273 of file playback3d.C.
References Playback3DCommand::CLEAR_INPUT, clear_input_sync(), Playback3DCommand::CLEAR_OUTPUT, clear_output_sync(), BC_SynchronousCommand::command, Playback3DCommand::COPY_FROM, copy_from_sync(), Playback3DCommand::DO_CAMERA, do_camera_sync(), Playback3DCommand::DO_FADE, do_fade_sync(), Playback3DCommand::DO_MASK, do_mask_sync(), Playback3DCommand::OVERLAY, overlay_sync(), Playback3DCommand::PLUGIN, run_plugin_sync(), Playback3DCommand::WRITE_BUFFER, and write_buffer_sync().

| void Playback3D::write_buffer | ( | Canvas * | canvas, | |
| VFrame * | frame, | |||
| float | in_x1, | |||
| float | in_y1, | |||
| float | in_x2, | |||
| float | in_y2, | |||
| float | out_x1, | |||
| float | out_y1, | |||
| float | out_x2, | |||
| float | out_y2, | |||
| int | is_cleared | |||
| ) |
Definition at line 481 of file playback3d.C.
References Playback3DCommand::canvas, BC_SynchronousCommand::command, BC_SynchronousCommand::frame, Playback3DCommand::in_x1, Playback3DCommand::in_x2, Playback3DCommand::in_y1, Playback3DCommand::in_y2, Playback3DCommand::is_cleared, Playback3DCommand::out_x1, Playback3DCommand::out_x2, Playback3DCommand::out_y1, Playback3DCommand::out_y2, BC_Synchronous::send_command(), and Playback3DCommand::WRITE_BUFFER.
Referenced by VDeviceX11::write_buffer().

Definition at line 324 of file playback3d.C.
References Playback3DCommand::canvas, BC_SynchronousCommand::command, Playback3DCommand::COPY_FROM, BC_SynchronousCommand::frame, Playback3DCommand::input, BC_Synchronous::send_command(), and Playback3DCommand::want_texture.
Referenced by VDeviceX11::close_all(), and VDeviceX11::copy_frame().

Definition at line 659 of file playback3d.C.
References Playback3DCommand::canvas, Playback3DCommand::CLEAR_OUTPUT, BC_SynchronousCommand::command, BC_SynchronousCommand::frame, and BC_Synchronous::send_command().
Referenced by VDeviceX11::clear_output().

Definition at line 1388 of file playback3d.C.
References Playback3DCommand::alpha, Playback3DCommand::canvas, BC_SynchronousCommand::command, Playback3DCommand::DO_FADE, BC_SynchronousCommand::frame, and BC_Synchronous::send_command().
Referenced by VDeviceX11::do_fade().

| void Playback3D::do_mask | ( | Canvas * | canvas, | |
| VFrame * | output, | |||
| int64_t | start_position_project, | |||
| MaskAutos * | keyframe_set, | |||
| MaskAuto * | keyframe, | |||
| MaskAuto * | default_auto | |||
| ) |
Definition at line 1043 of file playback3d.C.
References Playback3DCommand::canvas, BC_SynchronousCommand::command, Playback3DCommand::default_auto, Playback3DCommand::DO_MASK, BC_SynchronousCommand::frame, Playback3DCommand::keyframe, Playback3DCommand::keyframe_set, BC_Synchronous::send_command(), and Playback3DCommand::start_position_project.
Referenced by VDeviceX11::do_mask().

| void Playback3D::overlay | ( | Canvas * | canvas, | |
| VFrame * | input, | |||
| float | in_x1, | |||
| float | in_y1, | |||
| float | in_x2, | |||
| float | in_y2, | |||
| float | out_x1, | |||
| float | out_y1, | |||
| float | out_x2, | |||
| float | out_y2, | |||
| float | alpha, | |||
| int | mode, | |||
| int | interpolation_type, | |||
| VFrame * | output = 0 | |||
| ) |
Definition at line 785 of file playback3d.C.
References Playback3DCommand::alpha, Playback3DCommand::canvas, BC_SynchronousCommand::command, BC_SynchronousCommand::frame, Playback3DCommand::in_x1, Playback3DCommand::in_x2, Playback3DCommand::in_y1, Playback3DCommand::in_y2, Playback3DCommand::input, Playback3DCommand::interpolation_type, Playback3DCommand::mode, Playback3DCommand::out_x1, Playback3DCommand::out_x2, Playback3DCommand::out_y1, Playback3DCommand::out_y2, Playback3DCommand::OVERLAY, and BC_Synchronous::send_command().
Referenced by VDeviceX11::overlay().

| int Playback3D::run_plugin | ( | Canvas * | canvas, | |
| PluginClient * | client | |||
| ) |
Definition at line 1495 of file playback3d.C.
References Playback3DCommand::canvas, BC_SynchronousCommand::command, Playback3DCommand::PLUGIN, Playback3DCommand::plugin_client, and BC_Synchronous::send_command().
Referenced by VDeviceX11::run_plugin().

Definition at line 691 of file playback3d.C.
References Playback3DCommand::canvas, Playback3DCommand::CLEAR_INPUT, BC_SynchronousCommand::command, BC_SynchronousCommand::frame, and BC_Synchronous::send_command().
Referenced by VDeviceX11::clear_input().

| void Playback3D::do_camera | ( | Canvas * | canvas, | |
| VFrame * | output, | |||
| VFrame * | input, | |||
| float | in_x1, | |||
| float | in_y1, | |||
| float | in_x2, | |||
| float | in_y2, | |||
| float | out_x1, | |||
| float | out_y1, | |||
| float | out_x2, | |||
| float | out_y2 | |||
| ) |
Definition at line 715 of file playback3d.C.
References Playback3DCommand::canvas, BC_SynchronousCommand::command, Playback3DCommand::DO_CAMERA, BC_SynchronousCommand::frame, Playback3DCommand::in_x1, Playback3DCommand::in_x2, Playback3DCommand::in_y1, Playback3DCommand::in_y2, Playback3DCommand::input, Playback3DCommand::out_x1, Playback3DCommand::out_x2, Playback3DCommand::out_y1, Playback3DCommand::out_y2, and BC_Synchronous::send_command().

| void Playback3D::init_frame | ( | Playback3DCommand * | command | ) | [private] |
Definition at line 647 of file playback3d.C.
References Playback3DCommand::canvas, canvas_h, canvas_w, Canvas::get_canvas(), BC_WindowBase::get_h(), and BC_WindowBase::get_w().
Referenced by clear_output_sync(), and draw_output().

| void Playback3D::write_buffer_sync | ( | Playback3DCommand * | command | ) | [private] |
Definition at line 510 of file playback3d.C.
References Playback3DCommand::canvas, draw_output(), BC_WindowBase::enable_opengl(), BC_WindowBase::flip_opengl(), BC_SynchronousCommand::frame, Canvas::get_canvas(), VFrame::get_opengl_state(), Canvas::lock_canvas(), BC_WindowBase::lock_window(), VFrame::RAM, VFrame::SCREEN, VFrame::TEXTURE, VFrame::to_texture(), Canvas::unlock_canvas(), BC_WindowBase::unlock_window(), BC_WindowBase::update_video_cursor(), and window.
Referenced by handle_command().

| void Playback3D::draw_output | ( | Playback3DCommand * | command | ) | [private] |
Definition at line 551 of file playback3d.C.
References BC_YUV888, BC_YUVA8888, VFrame::bind_texture(), Playback3DCommand::canvas, canvas_h, canvas_w, cmodel_components(), VFrame::draw_texture(), BC_WindowBase::flip_opengl(), BC_SynchronousCommand::frame, Canvas::get_canvas(), VFrame::get_color_model(), BC_WindowBase::get_h(), VFrame::get_texture_id(), BC_WindowBase::get_w(), Playback3DCommand::in_x1, Playback3DCommand::in_x2, Playback3DCommand::in_y1, Playback3DCommand::in_y2, init_frame(), VFrame::init_screen(), Playback3DCommand::is_cleared, VFrame::make_shader(), Playback3DCommand::out_x1, Playback3DCommand::out_x2, Playback3DCommand::out_y1, Playback3DCommand::out_y2, window, yuv_to_rgb_frag, and yuva_to_rgba_frag.
Referenced by write_buffer_sync().

| void Playback3D::clear_output_sync | ( | Playback3DCommand * | command | ) | [private] |
Definition at line 668 of file playback3d.C.
References Playback3DCommand::canvas, VFrame::enable_opengl(), BC_WindowBase::enable_opengl(), BC_SynchronousCommand::frame, Canvas::get_canvas(), init_frame(), Canvas::lock_canvas(), BC_WindowBase::lock_window(), Canvas::unlock_canvas(), and BC_WindowBase::unlock_window().
Referenced by handle_command().

| void Playback3D::clear_input_sync | ( | Playback3DCommand * | command | ) | [private] |
Definition at line 700 of file playback3d.C.
References Playback3DCommand::canvas, VFrame::clear_pbuffer(), VFrame::enable_opengl(), BC_WindowBase::enable_opengl(), BC_SynchronousCommand::frame, Canvas::get_canvas(), Canvas::lock_canvas(), BC_WindowBase::lock_window(), VFrame::SCREEN, VFrame::set_opengl_state(), Canvas::unlock_canvas(), and BC_WindowBase::unlock_window().
Referenced by handle_command().

| void Playback3D::overlay_sync | ( | Playback3DCommand * | command | ) | [private] |
Definition at line 819 of file playback3d.C.
References BC_YUV888, BC_YUVA8888, VFrame::bind_texture(), blend_add_frag, blend_divide_frag, blend_max_frag, blend_multiply_frag, blend_subtract_frag, Playback3DCommand::canvas, canvas_h, canvas_w, VFrame::draw_texture(), VFrame::enable_opengl(), BC_WindowBase::enable_opengl(), enable_overlay_texture(), BC_SynchronousCommand::frame, Canvas::get_canvas(), VFrame::get_color_model(), BC_WindowBase::get_h(), VFrame::get_h(), VFrame::get_opengl_state(), VFrame::get_texture_components(), BC_Texture::get_texture_h(), BC_Texture::get_texture_w(), BC_WindowBase::get_w(), VFrame::get_w(), Playback3DCommand::in_x1, Playback3DCommand::in_x2, Playback3DCommand::in_y1, Playback3DCommand::in_y2, VFrame::init_screen(), Playback3DCommand::input, Canvas::lock_canvas(), BC_WindowBase::lock_window(), VFrame::make_shader(), Playback3DCommand::mode, multiply_alpha_frag, Playback3DCommand::out_x1, Playback3DCommand::out_x2, Playback3DCommand::out_y1, Playback3DCommand::out_y2, VFrame::RAM, read_texture_frag, VFrame::SCREEN, VFrame::screen_to_texture(), VFrame::set_opengl_state(), temp_texture, VFrame::TEXTURE, VFrame::to_texture(), Canvas::unlock_canvas(), BC_WindowBase::unlock_window(), BC_WindowBase::update_video_cursor(), window, yuv_to_rgb_frag, and yuva_to_rgba_frag.
Referenced by handle_command().

| void Playback3D::enable_overlay_texture | ( | Playback3DCommand * | command | ) | [private] |
Definition at line 1017 of file playback3d.C.
References BC_Texture::bind(), canvas_h, canvas_w, VFrame::get_color_model(), Playback3DCommand::input, BC_Texture::new_texture(), and temp_texture.
Referenced by overlay_sync().

| void Playback3D::do_fade_sync | ( | Playback3DCommand * | command | ) | [private] |
Definition at line 1398 of file playback3d.C.
References Playback3DCommand::alpha, BC_RGB888, BC_RGBA8888, BC_RGBA_FLOAT, BC_YUV888, BC_YUVA8888, VFrame::bind_texture(), Playback3DCommand::canvas, VFrame::draw_texture(), VFrame::enable_opengl(), BC_WindowBase::enable_opengl(), fade_rgba_frag, fade_yuv_frag, BC_SynchronousCommand::frame, Canvas::get_canvas(), VFrame::get_color_model(), VFrame::get_opengl_state(), VFrame::init_screen(), Canvas::lock_canvas(), BC_WindowBase::lock_window(), VFrame::make_shader(), VFrame::RAM, VFrame::SCREEN, VFrame::screen_to_texture(), VFrame::set_opengl_state(), VFrame::to_texture(), Canvas::unlock_canvas(), BC_WindowBase::unlock_window(), and window.
Referenced by handle_command().
