// OpenGL does YUV->RGB in the compositing step
if( use_opengl )
best_color_model = BC_RGB888;
-
+ else if( BC_CModels::has_alpha(best_color_model) ) {
+ best_color_model =
+ BC_CModels::is_float(best_color_model ) ?
+ BC_RGB_FLOAT :
+ BC_CModels::is_yuv(best_color_model ) ?
+ ( BC_CModels::calculate_pixelsize(best_color_model) > 8 ?
+ BC_YUV161616 : BC_YUV888 ) :
+ ( BC_CModels::calculate_pixelsize(best_color_model) > 8 ?
+ BC_RGB161616 : BC_RGB888 ) ;
+ }
int out_w = output_frame->get_w();
int out_h = output_frame->get_h();
if( refresh_frame &&
get_canvas()->lock_window(" Canvas::output_refresh");
}
else
- refresh_frame->copy_from(output_frame);
+ refresh_frame->transfer_from(output_frame, -1);
}