diff options
author | Thomas Hellstrom <unichrome@shipmail.org> | 2004-03-11 21:25:46 +0000 |
---|---|---|
committer | Thomas Hellstrom <unichrome@shipmail.org> | 2004-03-11 21:25:46 +0000 |
commit | beb1882b72309cd2ea9ebd3ddd4c3c262ca7f73e (patch) | |
tree | e516ba4bfbdcbc64a1b61933fca20d891449b01c /src/via_driver.h | |
parent | 7382a56ddac6a9bd92b8fa30bd08492b9c97a2b1 (diff) |
Added X server side of XvMC extension for HW mpeg2 decoding: New file
via_xvmc.c. Cleanup of Xv picture types. Added a dummy zero size Xv
picture type, FOURCC_VIA, that only updates the overlay when it is
displayed. An aid for the XvMC client lib. Redefined the FOURCC_VIA
code in via_swov.c and via_overlay.c to have the same meaning as
FOURCC_YV12, which is the HW mpeg2 format.
Diffstat (limited to 'src/via_driver.h')
-rw-r--r-- | src/via_driver.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/via_driver.h b/src/via_driver.h index 347b963..e145b4e 100644 --- a/src/via_driver.h +++ b/src/via_driver.h @@ -220,6 +220,30 @@ typedef struct { Bool b3DRegsInitialized; } ViaSharedRec, *ViaSharedPtr; +#ifdef XF86DRI + +#define VIA_XVMC_MAX_BUFFERS 4 +#define VIA_XVMC_MAX_CONTEXTS 4 +#define VIA_XVMC_MAX_SURFACES 4 + + + + +typedef struct { + VIAMem memory_ref; + unsigned long offsets[VIA_XVMC_MAX_BUFFERS]; +} ViaXvMCSurfacePriv; + + +typedef struct { + XID contexts[VIA_XVMC_MAX_CONTEXTS]; + XID surfaces[VIA_XVMC_MAX_SURFACES]; + ViaXvMCSurfacePriv *sPrivs[VIA_XVMC_MAX_SURFACES]; + int nContexts,nSurfaces; + drmHandle mmioBase,fbBase; +}ViaXvMC, *ViaXvMCPtr; + +#endif typedef struct _VIA { VIARegRec SavedReg; @@ -325,6 +349,7 @@ typedef struct _VIA { #ifdef XF86DRI Bool directRenderingEnabled; + Bool XvMCEnabled; DRIInfoPtr pDRIInfo; int drmFD; int numVisualConfigs; @@ -338,6 +363,7 @@ typedef struct _VIA { unsigned int agpSize; Bool IsPCI; Bool drixinerama; + ViaXvMC xvmc; #endif unsigned char ActiveDevice; /* if SAMM, non-equal pBIOSInfo->ActiveDevice */ unsigned char *CursorImage; @@ -485,5 +511,9 @@ void ViaAudioMute(VIAPtr pVia, int mute); void ViaTunerProbe(ScrnInfoPtr pScrn); void ViaTunerDestroy(ScrnInfoPtr pScrn); +/* In via_hwmc.c */ + +void ViaInitXVMC(ScreenPtr); +void ViaCleanupXVMC(ScreenPtr); #endif /* _VIA_DRIVER_H_ */ |