Mercurial > mplayer.hg
comparison libvo/vo_xv.c @ 5566:e01c664def74
VFCAP added
author | arpi |
---|---|
date | Thu, 11 Apr 2002 21:07:00 +0000 |
parents | 1e90dd889c34 |
children | 1972c3475d93 |
comparison
equal
deleted
inserted
replaced
5565:0b301fec999a | 5566:e01c664def74 |
---|---|
705 return VO_TRUE; | 705 return VO_TRUE; |
706 } | 706 } |
707 return VO_FALSE; | 707 return VO_FALSE; |
708 } | 708 } |
709 | 709 |
710 | |
711 static uint32_t query_format(uint32_t format) | 710 static uint32_t query_format(uint32_t format) |
712 { | 711 { |
713 int flag=1; | 712 int flag=3|VFCAP_HWSCALE_UP|VFCAP_HWSCALE_DOWN|VFCAP_OSD; // FIXME! check for DOWN |
714 /* check image formats */ | 713 /* check image formats */ |
715 fo = XvListImageFormats(mDisplay, xv_port, (int*)&formats); | 714 if(format==IMGFMT_BGR24){ format=IMGFMT_YV12;flag&=~2;flag|=VFCAP_FLIP;} // conversion! |
716 if(format==IMGFMT_BGR24){ format=IMGFMT_YV12;flag|=2;} // conversion! | |
717 for(i = 0; i < formats; i++){ | 715 for(i = 0; i < formats; i++){ |
718 // printf("Xvideo image format: 0x%x (%4.4s) %s\n", fo[i].id,(char*)&fo[i].id, (fo[i].format == XvPacked) ? "packed" : "planar"); | 716 // printf("Xvideo image format: 0x%x (%4.4s) %s\n", fo[i].id,(char*)&fo[i].id, (fo[i].format == XvPacked) ? "packed" : "planar"); |
719 if (fo[i].id == format) return flag; //xv_format = fo[i].id; | 717 if (fo[i].id == format) return flag; //xv_format = fo[i].id; |
720 } | 718 } |
721 return 0; | 719 return 0; |
789 } | 787 } |
790 if(!xv_port){ | 788 if(!xv_port){ |
791 printf("Couldn't find free Xvideo port - maybe other applications keep open it\n"); | 789 printf("Couldn't find free Xvideo port - maybe other applications keep open it\n"); |
792 return -1; | 790 return -1; |
793 } | 791 } |
792 | |
793 fo = XvListImageFormats(mDisplay, xv_port, (int*)&formats); | |
794 | 794 |
795 return 0; | 795 return 0; |
796 } | 796 } |
797 | 797 |
798 static void query_vaa(vo_vaa_t *vaa) | 798 static void query_vaa(vo_vaa_t *vaa) |