GLx4 w/h mult of 4 is not req, cwdw crop input range checks, fix cropp.png dir, chang...
authorGood Guy <good1.2guy@gmail.com>
Mon, 23 Sep 2019 00:13:02 +0000 (18:13 -0600)
committerGood Guy <good1.2guy@gmail.com>
Mon, 23 Sep 2019 00:13:02 +0000 (18:13 -0600)
39 files changed:
cinelerra-5.1/cinelerra/cwindowtool.C
cinelerra-5.1/cinelerra/mwindow.C
cinelerra-5.1/cinelerra/mwindowedit.C
cinelerra-5.1/cinelerra/playback3d.C
cinelerra-5.1/cinelerra/preferencesthread.C
cinelerra-5.1/cinelerra/resizetrackthread.C
cinelerra-5.1/ffmpeg/video/hd.youtube
cinelerra-5.1/ffmpeg/video/mov.mov
cinelerra-5.1/ffmpeg/video/pass1of2_vp9.webm
cinelerra-5.1/ffmpeg/video/pass2of2_vp9.webm
cinelerra-5.1/ffmpeg/video/sd.youtube
cinelerra-5.1/ffmpeg/video/uhd.youtube
cinelerra-5.1/ffmpeg/video/vp9_0320x240_24or25or30fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_0320x240_24or25or30fps.webm
cinelerra-5.1/ffmpeg/video/vp9_0640x360_24or25or30fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_0640x360_24or25or30fps.webm
cinelerra-5.1/ffmpeg/video/vp9_0640x480_lowQuality_24or25or30fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_0640x480_lowQuality_24or25or30fps.webm
cinelerra-5.1/ffmpeg/video/vp9_0640x480_mediumQuality_24or25or30fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_0640x480_mediumQuality_24or25or30fps.webm
cinelerra-5.1/ffmpeg/video/vp9_1280x720_24or25or30fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_1280x720_24or25or30fps.webm
cinelerra-5.1/ffmpeg/video/vp9_1280x720_50or60fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_1280x720_50or60fps.webm
cinelerra-5.1/ffmpeg/video/vp9_1920x1080_24or25or30fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_1920x1080_24or25or30fps.webm
cinelerra-5.1/ffmpeg/video/vp9_1920x1080_50or60fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_1920x1080_50or60fps.webm
cinelerra-5.1/ffmpeg/video/vp9_2560x1440_24or25or30fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_2560x1440_24or25or30fps.webm
cinelerra-5.1/ffmpeg/video/vp9_2560x1440_50or60fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_2560x1440_50or60fps.webm
cinelerra-5.1/ffmpeg/video/vp9_3840x2160_24or25or30fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_3840x2160_24or25or30fps.webm
cinelerra-5.1/ffmpeg/video/vp9_3840x2160_50or60fps.mkv
cinelerra-5.1/ffmpeg/video/vp9_3840x2160_50or60fps.webm
cinelerra-5.1/guicast/bcpbuffer.C
cinelerra-5.1/guicast/vframe3d.C
cinelerra-5.1/plugin_defs

index a7e4f3b..e701b9d 100644 (file)
@@ -480,10 +480,12 @@ void CWindowCropGUI::create_objects()
        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;
@@ -501,11 +503,13 @@ void CWindowCropGUI::create_objects()
        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,
index b3ad59a..35bd21e 100644 (file)
@@ -4489,7 +4489,7 @@ void MWindow::resync_guis()
        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)) &&
@@ -4499,7 +4499,7 @@ void MWindow::resync_guis()
                        _("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);
@@ -4524,8 +4524,10 @@ int MWindow::select_asset(Asset *asset, int vstream, int astream, int delete_tra
                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) ?
index f7d43ee..82c4f1e 100644 (file)
@@ -203,7 +203,7 @@ void MWindow::asset_to_all()
                                }
                        }
 
-
+#ifdef GLx4
                        if( ((edl->session->output_w % 4) ||
                                (edl->session->output_h % 4)) &&
                                edl->session->playback_config->vconfig->driver == PLAYBACK_X11_GL ) {
@@ -211,7 +211,7 @@ void MWindow::asset_to_all()
                                        _("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(
@@ -250,7 +250,7 @@ void MWindow::asset_to_size()
                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 ) {
@@ -258,7 +258,7 @@ void MWindow::asset_to_size()
                                _("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,
index a7f185b..1844f80 100644 (file)
@@ -521,12 +521,14 @@ void Playback3D::copy_from_sync(Playback3DCommand *command)
 // 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)
                        {
index 58b659c..73d8d5d 100644 (file)
@@ -273,7 +273,7 @@ int PreferencesThread::apply_settings()
 
 //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)
@@ -282,7 +282,7 @@ int PreferencesThread::apply_settings()
                        _("This project's dimensions are not multiples of 4 so\n"
                        "it can't be rendered by OpenGL."));
        }
-
+#endif
 
        if(redraw_meters)
        {
index b8368ff..c929c64 100644 (file)
@@ -85,7 +85,7 @@ void ResizeVTrackThread::run()
        if(!result) {
                update();
        }
-
+#ifdef GLx4
        if(((w % 4) || (h % 4)) &&
                mwindow->edl->session->playback_config->vconfig->driver == PLAYBACK_X11_GL)
        {
@@ -93,6 +93,7 @@ void ResizeVTrackThread::run()
                        _("This track's dimensions are not multiples of 4 so\n"
                        "it can't be rendered by OpenGL."));
        }
+#endif
 }
 
 
index d1002a9..7bfaf32 100644 (file)
@@ -3,7 +3,7 @@ webm libvpx-vp9
 # 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
index 74f7a4f..555055d 100644 (file)
@@ -2,7 +2,7 @@ webm libvpx-vp9
 # 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
index 9f5978b..cfa09a5 100644 (file)
@@ -2,7 +2,7 @@ webm libvpx-vp9
 # 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
index f2a7835..ebbaceb 100644 (file)
@@ -3,7 +3,7 @@ webm libvpx-vp9
 # 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
index 630b91e..895ccb2 100644 (file)
@@ -3,7 +3,7 @@ webm libvpx-vp9
 # 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
index 9aa2d07..d157e1c 100644 (file)
@@ -1,9 +1,9 @@
 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
index 6c9a38a..2694405 100644 (file)
@@ -1,9 +1,9 @@
 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
index f32ccc3..764de73 100644 (file)
@@ -1,9 +1,9 @@
 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
index 000fab3..1e39d4d 100644 (file)
@@ -1,9 +1,9 @@
 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
index 615a32b..27df538 100644 (file)
@@ -1,9 +1,9 @@
 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
index 57353c1..0b3e0f0 100644 (file)
@@ -1,9 +1,9 @@
 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
index 46c806b..7e1a00a 100644 (file)
@@ -1,9 +1,9 @@
 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
index 169c4ae..e6e9c13 100644 (file)
@@ -1,9 +1,9 @@
 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
index 41dab1c..a217888 100644 (file)
@@ -1,9 +1,9 @@
 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
index c05b729..25762be 100644 (file)
@@ -1,9 +1,9 @@
 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
index 08fd094..309b12d 100644 (file)
@@ -1,9 +1,9 @@
 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
index b32a239..a2fc6c6 100644 (file)
@@ -1,9 +1,9 @@
 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
index cc1fc62..be0a83a 100644 (file)
@@ -1,9 +1,9 @@
 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
index 14c7453..88f772c 100644 (file)
@@ -1,9 +1,9 @@
 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
index 2c8423a..04d9b2f 100644 (file)
@@ -1,9 +1,9 @@
 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
index bbbecc9..8169ed5 100644 (file)
@@ -1,9 +1,9 @@
 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
index 278df02..3dc086d 100644 (file)
@@ -1,9 +1,9 @@
 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
index 0372d70..7f8b356 100644 (file)
@@ -1,9 +1,9 @@
 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
index cb617ef..786f5b0 100644 (file)
@@ -1,9 +1,9 @@
 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
index 4f97d4c..b9254cd 100644 (file)
@@ -1,9 +1,9 @@
 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
index 1d8aba5..26ce511 100644 (file)
@@ -1,9 +1,9 @@
 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
index 8130e83..cadd1a7 100644 (file)
@@ -1,9 +1,9 @@
 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
index 8c996cb..042c7b0 100644 (file)
@@ -1,9 +1,9 @@
 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
index 8b90345..105b556 100644 (file)
@@ -1,9 +1,9 @@
 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
index fed0d2d..c847e83 100644 (file)
@@ -64,7 +64,11 @@ GLXPbuffer BC_PBuffer::get_pbuffer()
 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();
 
index 42d91ba..ed47a40 100644 (file)
@@ -147,7 +147,11 @@ void VFrame::to_texture()
 
 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;
@@ -293,6 +297,10 @@ void VFrame::init_screen(int w, int h)
        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
 }
 
index afd04e8..50cf15a 100644 (file)
@@ -35,6 +35,7 @@ video := \
        color3way \
        colorbalance \
        crikey \
+       cropp \
        crossfade \
        decimate \
        deinterlace \