- switch(best_colormodel)
- {
- case BC_YUV420P:
- if(device->out_config->driver == PLAYBACK_X11_XV &&
- output->get_canvas()->accel_available(best_colormodel, 0) &&
- !output->use_scrollbars)
- {
- bitmap = new BC_Bitmap(output->get_canvas(),
- device->out_w, device->out_h,
- best_colormodel, 1);
- output_frame = new VFrame(bitmap,
- device->out_w, device->out_h,
- best_colormodel, -1);
- bitmap_type = BITMAP_PRIMARY;
- }
- break;
-
- case BC_YUV422P:
- if(device->out_config->driver == PLAYBACK_X11_XV &&
- output->get_canvas()->accel_available(best_colormodel, 0) &&
- !output->use_scrollbars)
- {
- bitmap = new BC_Bitmap(output->get_canvas(),
- device->out_w, device->out_h,
- best_colormodel, 1);
- output_frame = new VFrame(bitmap,
- device->out_w, device->out_h,
- best_colormodel, -1);
- bitmap_type = BITMAP_PRIMARY;
- }
- else
- if(device->out_config->driver == PLAYBACK_X11_XV &&
- output->get_canvas()->accel_available(BC_YUV422, 0))
- {
- bitmap = new BC_Bitmap(output->get_canvas(),
- device->out_w,
- device->out_h,
- BC_YUV422,
- 1);
- bitmap_type = BITMAP_TEMP;
- }
- break;
-
- case BC_YUV422:
- if(device->out_config->driver == PLAYBACK_X11_XV &&
- output->get_canvas()->accel_available(best_colormodel, 0) &&
- !output->use_scrollbars)
- {
- bitmap = new BC_Bitmap(output->get_canvas(),
- device->out_w, device->out_h,
- best_colormodel, 1);
- output_frame = new VFrame(bitmap,
- device->out_w, device->out_h,
- best_colormodel, -1);
- bitmap_type = BITMAP_PRIMARY;
- }
- else
- if(device->out_config->driver == PLAYBACK_X11_XV &&
- output->get_canvas()->accel_available(BC_YUV422P, 0))
- {
- bitmap = new BC_Bitmap(output->get_canvas(),
- device->out_w, device->out_h,
- BC_YUV422P, 1);
- bitmap_type = BITMAP_TEMP;
- }
- break;
- }
+ bitmap_type = BITMAP_TEMP;
+ switch( best_colormodel ) {
+ case BC_YUV420P:
+ if( device->out_config->driver == PLAYBACK_X11_XV &&
+ output->get_canvas()->accel_available(best_colormodel, 0) &&
+ !output->use_scrollbars )
+ bitmap_type = BITMAP_PRIMARY;
+ break;
+
+ case BC_YUV422P:
+ if( device->out_config->driver == PLAYBACK_X11_XV &&
+ output->get_canvas()->accel_available(best_colormodel, 0) &&
+ !output->use_scrollbars )
+ bitmap_type = BITMAP_PRIMARY;
+ else if( device->out_config->driver == PLAYBACK_X11_XV &&
+ output->get_canvas()->accel_available(BC_YUV422, 0) ) {
+ bitmap = new BC_Bitmap(output->get_canvas(),
+ device->out_w, device->out_h, BC_YUV422, 1);
+ }
+ break;