x1 = new CWindowCoord(thread->tool_gui, x, y,
mwindow->edl->session->crop_x1);
x1->create_objects();
+ x1->set_boundaries((int64_t)0, (int64_t)65536);
y += pad;
width = new CWindowCoord(thread->tool_gui, x, y,
mwindow->edl->session->crop_x2 - mwindow->edl->session->crop_x1);
width->create_objects();
+ width->set_boundaries((int64_t)1, (int64_t)65536);
x += x1->get_w() + 10;
y1 = new CWindowCoord(thread->tool_gui, x, y,
mwindow->edl->session->crop_y1);
y1->create_objects();
+ y1->set_boundaries((int64_t)0, (int64_t)65536);
y += pad;
height = new CWindowCoord(thread->tool_gui, x, y,
mwindow->edl->session->crop_y2 - mwindow->edl->session->crop_y1);
height->create_objects();
+ height->set_boundaries((int64_t)1, (int64_t)65536);
y += pad;
add_subwindow(crop_mode = new CWindowCropOpMode(mwindow, this,
lwindow->gui->panel->set_meters(channels, 1);
lwindow->gui->flush();
lwindow->gui->unlock_window();
-
+#ifdef GLx4
// Warn user
if(((edl->session->output_w % 4) ||
(edl->session->output_h % 4)) &&
_("This project's dimensions are not multiples of 4 so\n"
"it can't be rendered by OpenGL."));
}
-
+#endif
// Flash frame
sync_parameters(CHANGE_ALL);
double framerate = asset->get_frame_rate();
int width = asset->get_w();
int height = asset->get_h();
+#ifdef GLx4
// must be multiple of 4 for opengl
width = (width+3) & ~3; height = (height+3) & ~3;
+#endif
int driver = session->playback_config->vconfig->driver;
int color_model = file->get_best_colormodel(asset, driver);
// color_model = BC_CModels::is_yuv(color_model) ?
}
}
-
+#ifdef GLx4
if( ((edl->session->output_w % 4) ||
(edl->session->output_h % 4)) &&
edl->session->playback_config->vconfig->driver == PLAYBACK_X11_GL ) {
_("This project's dimensions are not multiples of 4 so\n"
"it can't be rendered by OpenGL."));
}
-
+#endif
// Get aspect ratio
if( defaults->get("AUTOASPECT", 0) ) {
create_aspect_ratio(
h = indexable->get_h();
edl->session->output_w = w;
edl->session->output_h = h;
-
+#ifdef GLx4
if( ((edl->session->output_w % 4) ||
(edl->session->output_h % 4)) &&
edl->session->playback_config->vconfig->driver == PLAYBACK_X11_GL ) {
_("This project's dimensions are not multiples of 4 so\n"
"it can't be rendered by OpenGL."));
}
-
+#endif
// Get aspect ratio
if( defaults->get("AUTOASPECT", 0) ) {
create_aspect_ratio(edl->session->aspect_w,
// command->frame->get_w(),
// command->frame->get_h(),
// command->frame->get_color_model());
-// With NVidia at least,
+#ifdef GLx4
+// With NVidia at least
if(w % 4)
{
printf("Playback3D::copy_from_sync: w=%d not supported because it is not divisible by 4.\n", w);
}
else
+#endif
// Copy to texture
if(command->want_texture)
{
//edl->session->recording_format->dump();
//mwindow->edl->session->recording_format->dump();
-
+#ifdef GLx4
if(((mwindow->edl->session->output_w % 4) ||
(mwindow->edl->session->output_h % 4)) &&
mwindow->edl->session->playback_config->vconfig->driver == PLAYBACK_X11_GL)
_("This project's dimensions are not multiples of 4 so\n"
"it can't be rendered by OpenGL."));
}
-
+#endif
if(redraw_meters)
{
if(!result) {
update();
}
-
+#ifdef GLx4
if(((w % 4) || (h % 4)) &&
mwindow->edl->session->playback_config->vconfig->driver == PLAYBACK_X11_GL)
{
_("This track's dimensions are not multiples of 4 so\n"
"it can't be rendered by OpenGL."));
}
+#endif
}
# More VP9 options if choose format of webm
# Refer to Appendix C.3 in Cinelerra_GG manual
# 1920x1080 (24, 25 or 30 frames per second)
-bitrate=1800k
+b=1800k
minrate=900k
maxrate=2610k
tile-columns=2
mov mpeg4
-bitrate=1800k
+b=1800k
# pass 1 of 2, you must render the 2nd pass using pass2of2...
cin_stats_filename /tmp/cin_video_vp9_webm
flags +pass1
-bitrate=1024k
+b=1024k
minrate=512k
maxrate=1485k
tile-columns=2
# Pass 2 of 2, you must first render using pass1of2...
cin_stats_filename /tmp/cin_video_vp9_webm
flags +pass2
-bitrate=1024k
+b=1024k
minrate=512k
maxrate=1485k
tile-columns=2
# More VP9 options if choose format of webm
# Refer to Appendix C.3 in Cinelerra_GG manual
# 640x480 (Medium Quality, 24/25/30 frames per second)
-bitrate=750k
+b=750k
minrate=375k
maxrate=1088k
tile-columns=1
# More VP9 options if choose format of webm
# Refer to Appendix C.3 in Cinelerra_GG manual
# 3840x2160 (50 or 60 frames per second)
-bitrate=18000k
+b=18000k
minrate=9000k
maxrate=26100k
tile-columns=4
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 320x240 (24, 25 or 30 frames per second)
-bitrate=150k
+b=150k
minrate=75k
maxrate=218k
tile-columns=0
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 320x240 (24, 25 or 30 frames per second)
-bitrate=150k
+b=150k
minrate=75k
maxrate=218k
tile-columns=0
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 640x360 (24, 25 or 30 frames per second)
-bitrate=276k
+b=276k
minrate=138k
maxrate=400k
tile-columns=1
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 640x360 (24, 25 or 30 frames per second)
-bitrate=276k
+b=276k
minrate=138k
maxrate=400k
tile-columns=1
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 640x480 (Low Quality, 24, 25 or 30 frames per second)
-bitrate=512k
+b=512k
minrate=256k
maxrate=742k
tile-columns=1
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 640x480 (Low Quality, 24, 25 or 30 frames per second)
-bitrate=512k
+b=512k
minrate=256k
maxrate=742k
tile-columns=1
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 640x480 (Medium Quality, 24, 25 or 30 frames per second)
-bitrate=750k
+b=750k
minrate=375k
maxrate=1088k
tile-columns=1
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 640x480 (Medium Quality, 24, 25 or 30 frames per second)
-bitrate=750k
+b=750k
minrate=375k
maxrate=1088k
tile-columns=1
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 1280x720 (24, 25 or 30 frames per second)
-bitrate=1024k
+b=1024k
minrate=512k
maxrate=1485k
tile-columns=2
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 1280x720 (24, 25 or 30 frames per second)
-bitrate=1024k
+b=1024k
minrate=512k
maxrate=1485k
tile-columns=2
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 1280x720 (50 or 60 frames per second)
-bitrate=1800k
+b=1800k
minrate=900k
maxrate=2610k
tile-columns=2
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 1280x720 (50 or 60 frames per second)
-bitrate=1800k
+b=1800k
minrate=900k
maxrate=2610k
tile-columns=2
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 1920x1080 (24, 25 or 30 frames per second)
-bitrate=1800k
+b=1800k
minrate=900k
maxrate=2610k
tile-columns=2
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 1920x1080 (24, 25 or 30 frames per second)
-bitrate=1800k
+b=1800k
minrate=900k
maxrate=2610k
tile-columns=2
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 1920x1080 (50 or 60 frames per second)
-bitrate=3000k
+b=3000k
minrate=1500k
maxrate=4350k
tile-columns=2
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 1920x1080 (50 or 60 frames per second)
-bitrate=3000k
+b=3000k
minrate=1500k
maxrate=4350k
tile-columns=2
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 2560x1440 (24, 25 or 30 frames per second)
-bitrate=6000k
+b=6000k
minrate=3000k
maxrate=8700k
tile-columns=3
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 2560x1440 (24, 25 or 30 frames per second)
-bitrate=6000k
+b=6000k
minrate=3000k
maxrate=8700k
tile-columns=3
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 2560x1440 (50 or 60 frames per second)
-bitrate=9000k
+b=9000k
minrate=4500k
maxrate=13050k
tile-columns=3
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 2560x1440 (50 or 60 frames per second)
-bitrate=9000k
+b=9000k
minrate=4500k
maxrate=13050k
tile-columns=3
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 3840x2160 (24, 25 or 30 frames per second)
-bitrate=12000k
+b=12000k
minrate=6000k
maxrate=17400k
tile-columns=4
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 3840x2160 (24, 25 or 30 frames per second)
-bitrate=12000k
+b=12000k
minrate=6000k
maxrate=17400k
tile-columns=4
matroska libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 3840x2160 (50 or 60 frames per second)
-bitrate=18000k
+b=18000k
minrate=9000k
maxrate=26100k
tile-columns=4
webm libvpx-vp9
# 20171119-2100
# based on https://developers.google.com/media/vp9/settings/vod/
-# for explanations see Feature5.pdf section 3
+# for explanations reference the Cinelerra Manual
# 3840x2160 (50 or 60 frames per second)
-bitrate=18000k
+b=18000k
minrate=9000k
maxrate=26100k
tile-columns=4
void BC_PBuffer::create_pbuffer(int w, int h)
{
#ifdef HAVE_GL
+#ifdef GLx4
int ww = (w + 3) & ~3, hh = (h + 3) & ~3;
+#else
+ int ww = w, hh = h;
+#endif
BC_WindowBase *current_window = BC_WindowBase::get_synchronous()->current_window;
window_id = current_window->get_id();
void VFrame::create_pbuffer()
{
+#ifdef GLx4
int ww = (get_w()+3) & ~3, hh = (get_h()+3) & ~3;
+#else
+ int ww = get_w(), hh = get_h();
+#endif
if( pbuffer && (pbuffer->w != ww || pbuffer->h != hh ||
pbuffer->window_id != BC_WindowBase::get_synchronous()->current_window->get_id() ) ) {
delete pbuffer;
glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, zero);
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, zero);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 0);
+#ifndef GLx4
+ glPixelStorei(GL_PACK_ALIGNMENT,1);
+ glPixelStorei(GL_UNPACK_ALIGNMENT,1);
+#endif
#endif
}
color3way \
colorbalance \
crikey \
+ cropp \
crossfade \
decimate \
deinterlace \