comparison libvo/vo_fbdev.c @ 1076:52bbb0e913d8

8bpp fix
author szabii
date Sat, 09 Jun 2001 17:33:21 +0000
parents d3354ad8aa7b
children e2e9a82f9134
comparison
equal deleted inserted replaced
1075:a981413af7cd 1076:52bbb0e913d8
704 } 704 }
705 fb_orig_vinfo = fb_vinfo; 705 fb_orig_vinfo = fb_vinfo;
706 706
707 fb_bpp = fb_vinfo.bits_per_pixel; 707 fb_bpp = fb_vinfo.bits_per_pixel;
708 708
709 if (fb_bpp == 8 && !vo_dbpp) {
710 printf(FBDEV "8 bpp output is not supported.\n");
711 goto err_out_fd;
712 }
713
709 /* 16 and 15 bpp is reported 16 bpp */ 714 /* 16 and 15 bpp is reported 16 bpp */
710 if (fb_bpp == 16) 715 if (fb_bpp == 16)
711 fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length + 716 fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length +
712 fb_vinfo.blue.length; 717 fb_vinfo.blue.length;
713 718
714 if (vo_dbpp) { 719 if (vo_dbpp) {
715 if (vo_dbpp != 15 && vo_dbpp != 16 && vo_dbpp != 24 && 720 if (vo_dbpp != 15 && vo_dbpp != 16 && vo_dbpp != 24 &&
716 vo_dbpp != 32) { 721 vo_dbpp != 32) {
717 printf(FBDEV "can't switch to %d bpp\n", vo_dbpp); 722 printf(FBDEV "can't switch to %d bpp\n", vo_dbpp);
718 goto err_out; 723 goto err_out_fd;
719 } 724 }
720 fb_bpp = vo_dbpp; 725 fb_bpp = vo_dbpp;
721 } 726 }
722 727
723 fb_preinit_done = 1; 728 fb_preinit_done = 1;
895 fb_pixel_size = fb_vinfo.bits_per_pixel / 8; 900 fb_pixel_size = fb_vinfo.bits_per_pixel / 8;
896 fb_real_bpp = fb_vinfo.red.length + fb_vinfo.green.length + 901 fb_real_bpp = fb_vinfo.red.length + fb_vinfo.green.length +
897 fb_vinfo.blue.length; 902 fb_vinfo.blue.length;
898 fb_bpp = (fb_pixel_size == 4) ? 32 : fb_real_bpp; 903 fb_bpp = (fb_pixel_size == 4) ? 32 : fb_real_bpp;
899 if (fb_bpp_we_want != fb_bpp) 904 if (fb_bpp_we_want != fb_bpp)
900 printf(FBDEV "requested %d bpp, got %d bpp)!!!\n", 905 printf(FBDEV "requested %d bpp, got %d bpp!!!\n",
901 fb_bpp_we_want, fb_bpp); 906 fb_bpp_we_want, fb_bpp);
902 907
903 switch (fb_bpp) { 908 switch (fb_bpp) {
904 case 32: 909 case 32:
905 draw_alpha_p = vo_draw_alpha_rgb32; 910 draw_alpha_p = vo_draw_alpha_rgb32;