prev/next label fix in viewer, inout highlight, modify folder layout, ffmpeg scan...
[goodguy/history.git] / cinelerra-5.1 / guicast / vframe3d.C
index 65d9d5ce7485e29b0c0b996cc0bc1093331e3d6a..aba006b8a11c43270ec1ab5ef53f16ae0b343105 100644 (file)
@@ -99,10 +99,6 @@ void VFrame::to_texture()
                return;
 
        case VFrame::SCREEN:
-               if((get_w() % 4) || (get_h() % 4)) {
-                       printf("VFrame::to_texture w=%d h=%d\n", get_w(), get_h());
-                       return;
-               }
                if(pbuffer) {
                        enable_opengl();
                        screen_to_texture();
@@ -151,30 +147,22 @@ void VFrame::to_texture()
 
 void VFrame::create_pbuffer()
 {
-       if( pbuffer && (pbuffer->w != get_w() || pbuffer->h != get_h() ||
-               pbuffer->window_id != BC_WindowBase::get_synchronous()->current_window->get_id() ) )
-       {
+       int ww = (get_w()+3) & ~3, hh = (get_h()+3) & ~3;
+       if( pbuffer && (pbuffer->w != ww || pbuffer->h != hh ||
+           pbuffer->window_id != BC_WindowBase::get_synchronous()->current_window->get_id() ) ) {
                delete pbuffer;
                pbuffer = 0;
        }
 
-       if((get_w() % 4) || (get_h() % 4))
-       {
-               printf("VFrame::create_pbuffer w=%d h=%d\n", get_w(), get_h());
-               return;
-       }
-
-       if(!pbuffer)
-       {
-               pbuffer = new BC_PBuffer(get_w(), get_h());
+       if( !pbuffer ) {
+               pbuffer = new BC_PBuffer(ww, hh);
        }
 }
 
 void VFrame::enable_opengl()
 {
        create_pbuffer();
-       if(pbuffer)
-       {
+       if( pbuffer ) {
                pbuffer->enable_opengl();
        }
 }