由于是一老显卡且带有TV输出和S端子输出,想用它来在电视上看电影,PCI接口,主芯片上写着EXPERTCOLOR,T-2000,启动时,显卡的LOGO里面显示支持VESA2.0,于是在编译MPlayer的时候加上了--enable-vesa参数,结果在编译的时候出错,好像是没有vbe.h这个头文件,出错信息摘录如下:
make[1]: Entering directory `/root/build/MPlayer-1.0rc1/libvo'
cc -c -I. -I.. -I../osdep -I../libavutil -Wdeclaration-after-statement -fno-PIC -O4 -march=pentium4 -mtune=pentium4 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 -I/usr/X11R6/include -DMPG12PLAY -o vo_vesa.o vo_vesa.c
In file included from vo_vesa.c:20:
gtf.h:4:17: vbe.h: No such file or directory
In file included from vo_vesa.c:20:
gtf.h:46: warning: "struct VesaCRTCInfoBlock" declared inside parameter list
gtf.h:46: warning: its scope is only this definition or declaration, which is probably not what you want
vo_vesa.c:129: error: `NEO_PAL' undeclared here (not in a function)
vo_vesa.c: In function `vbeErrToStr':
vo_vesa.c:139: error: `VBE_VESA_ERROR_MASK' undeclared (first use in this function)
vo_vesa.c:139: error: (Each undeclared identifier is reported only once
vo_vesa.c:139: error: for each function it appears in.)
vo_vesa.c:141: error: `VBE_VESA_ERRCODE_MASK' undeclared (first use in this function)
vo_vesa.c:147: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c:148: error: `VBE_VM86_FAIL' undeclared (first use in this function)
vo_vesa.c:149: error: `VBE_OUT_OF_DOS_MEM' undeclared (first use in this function)
vo_vesa.c:150: error: `VBE_OUT_OF_MEM' undeclared (first use in this function)
vo_vesa.c:151: error: `VBE_BROKEN_BIOS' undeclared (first use in this function)
vo_vesa.c: In function `vesa_term':
vo_vesa.c:166: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c: In function `__vbeSwitchBank':
vo_vesa.c:185: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:188: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c:197: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `__vbeSetPixel':
vo_vesa.c:202: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:203: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:204: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:205: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:206: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:208: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:213: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:214: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:215: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `__vbeCopyData':
vo_vesa.c:259: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:261: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_slice':
vo_vesa.c:281: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:289: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_alpha_32':
vo_vesa.c:300: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_alpha_24':
vo_vesa.c:313: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_alpha_16':
vo_vesa.c:326: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_alpha_15':
vo_vesa.c:339: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `flip_page':
vo_vesa.c:391: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c: In function `draw_frame':
vo_vesa.c:420: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:434: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `parseSubDevice':
vo_vesa.c:454: error: `NEO_NTSC' undeclared (first use in this function)
vo_vesa.c: In function `paintBkGnd':
vo_vesa.c:480: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:481: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `clear_screen':
vo_vesa.c:508: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:509: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `model2str':
vo_vesa.c:522: error: `memText' undeclared (first use in this function)
vo_vesa.c:523: error: `memCGA' undeclared (first use in this function)
vo_vesa.c:524: error: `memHercules' undeclared (first use in this function)
vo_vesa.c:525: error: `memPL' undeclared (first use in this function)
vo_vesa.c:526: error: `memPK' undeclared (first use in this function)
vo_vesa.c:527: error: `mem256' undeclared (first use in this function)
vo_vesa.c:528: error: `memRGB' undeclared (first use in this function)
vo_vesa.c:529: error: `memYUV' undeclared (first use in this function)
vo_vesa.c: In function `fillMultiBuffer':
vo_vesa.c:539: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:539: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: At top level:
vo_vesa.c:554: warning: "struct VesaCRTCInfoBlock" declared inside parameter list
vo_vesa.c: In function `set_refresh':
vo_vesa.c:579: warning: passing arg 7 of `GTF_calcTimings' from incompatible pointer type
vo_vesa.c:582: error: dereferencing pointer to incomplete type
vo_vesa.c:585: error: dereferencing pointer to incomplete type
vo_vesa.c:589: warning: passing arg 7 of `GTF_calcTimings' from incompatible pointer type
vo_vesa.c:603: error: dereferencing pointer to incomplete type
vo_vesa.c: In function `config':
vo_vesa.c:622: error: storage size of 'vib' isn't known
vo_vesa.c:623: error: storage size of 'vmib' isn't known
vo_vesa.c:624: error: storage size of 'crtc_pass' isn't known
vo_vesa.c:649: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c:664: error: `VBE_DAC_8BIT' undeclared (first use in this function)
vo_vesa.c:665: error: `VBE_NONVGA_CRTC' undeclared (first use in this function)
vo_vesa.c:666: error: `VBE_SNOWED_RAMDAC' undeclared (first use in this function)
vo_vesa.c:667: error: `VBE_STEREOSCOPIC' undeclared (first use in this function)
vo_vesa.c:668: error: `VBE_STEREO_EVC' undeclared (first use in this function)
vo_vesa.c:747: error: `MODE_ATTR_COLOR' undeclared (first use in this function)
vo_vesa.c:747: error: `MODE_ATTR_GRAPHICS' undeclared (first use in this function)
vo_vesa.c:749: error: `memRGB' undeclared (first use in this function)
vo_vesa.c:791: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:793: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:794: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:795: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:807: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:807: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:813: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:814: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:833: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:833: error: `MODE_WIN_RELOCATABLE' undeclared (first use in this function)
vo_vesa.c:833: error: `MODE_WIN_WRITEABLE' undeclared (first use in this function)
vo_vesa.c:836: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:840: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:840: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:840: error: `MODE_ATTR_LINEAR' undeclared (first use in this function)
vo_vesa.c:845: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:845: warning: assignment makes pointer from integer without a cast
vo_vesa.c:854: error: `VESA_MODE_USE_LINEAR' undeclared (first use in this function)
vo_vesa.c:856: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:878: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:878: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:883: warning: assignment makes pointer from integer without a cast
vo_vesa.c:885: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:889: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:890: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:892: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:893: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:898: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:898: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:914: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:914: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:937: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:937: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:983: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:983: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:1043: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:1043: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: At top level:
vo_vesa.c:108: error: storage size of `video_mode_info' isn't known
make[1]: *** [vo_vesa.o] Error 1
make[1]: Leaving directory `/root/build/MPlayer-1.0rc1/libvo'
make: *** [libvo/libvo.a] Error 2