Move Xv and XvMC from extmod to built-in
Always build these extensions into the core server, rather than letting them languish in extmod. Signed-off-by: Tomas Carnecky <tom@dbservice.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Jamey Sharp <jamey@minilop.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
committed by
Keith Packard
parent
7d859bd878
commit
7a11b817e7
@@ -46,7 +46,7 @@ endif
|
||||
# XVideo extension
|
||||
XV_SRCS = xvmain.c xvdisp.c xvmc.c xvdix.h xvmcext.h xvdisp.h
|
||||
if XV
|
||||
MODULE_SRCS += $(XV_SRCS)
|
||||
BUILTIN_SRCS += $(XV_SRCS)
|
||||
endif
|
||||
|
||||
# XResource extension: lets clients get data about per-client resource usage
|
||||
|
||||
@@ -55,7 +55,6 @@ SOFTWARE.
|
||||
#include "scrnintstr.h"
|
||||
#include <X11/extensions/Xvproto.h>
|
||||
|
||||
#ifndef XorgLoader
|
||||
extern _X_EXPORT unsigned long XvExtensionGeneration;
|
||||
extern _X_EXPORT unsigned long XvScreenGeneration;
|
||||
extern _X_EXPORT unsigned long XvResourceGeneration;
|
||||
@@ -70,7 +69,10 @@ extern _X_EXPORT RESTYPE XvRTGrab;
|
||||
extern _X_EXPORT RESTYPE XvRTVideoNotify;
|
||||
extern _X_EXPORT RESTYPE XvRTVideoNotifyList;
|
||||
extern _X_EXPORT RESTYPE XvRTPortNotify;
|
||||
#endif
|
||||
|
||||
extern DevPrivateKey (*XvGetScreenKeyProc)(void);
|
||||
extern unsigned long (*XvGetRTPortProc)(void);
|
||||
extern int (*XvScreenInitProc)(ScreenPtr);
|
||||
|
||||
typedef struct {
|
||||
int numerator;
|
||||
@@ -231,7 +233,6 @@ typedef struct {
|
||||
#define _XvBadPort (XvBadPort+XvErrorBase)
|
||||
#define _XvBadEncoding (XvBadEncoding+XvErrorBase)
|
||||
|
||||
#ifndef XorgLoader
|
||||
extern _X_EXPORT int ProcXvDispatch(ClientPtr);
|
||||
extern _X_EXPORT int SProcXvDispatch(ClientPtr);
|
||||
|
||||
@@ -267,6 +268,4 @@ extern _X_EXPORT int XvdiPreemptVideo(ClientPtr, XvPortPtr, DrawablePtr);
|
||||
extern _X_EXPORT int XvdiMatchPort(XvPortPtr, DrawablePtr);
|
||||
extern _X_EXPORT int XvdiGrabPort(ClientPtr, XvPortPtr, Time, int *);
|
||||
extern _X_EXPORT int XvdiUngrabPort(ClientPtr, XvPortPtr, Time);
|
||||
#endif /* XorgLoader */
|
||||
|
||||
#endif /* XVDIX_H */
|
||||
|
||||
@@ -194,6 +194,18 @@ XvExtensionInit(void)
|
||||
}
|
||||
}
|
||||
|
||||
DevPrivateKey (*XvGetScreenKeyProc)(void) = NULL;
|
||||
unsigned long (*XvGetRTPortProc)(void) = NULL;
|
||||
int (*XvScreenInitProc)(ScreenPtr) = NULL;
|
||||
|
||||
void
|
||||
XvRegister(void)
|
||||
{
|
||||
XvScreenInitProc = XvScreenInit;
|
||||
XvGetScreenKeyProc = XvGetScreenKey;
|
||||
XvGetRTPortProc = XvGetRTPort;
|
||||
}
|
||||
|
||||
static Bool
|
||||
CreateResourceTypes(void)
|
||||
{
|
||||
|
||||
@@ -46,6 +46,8 @@ static RESTYPE XvMCRTContext;
|
||||
static RESTYPE XvMCRTSurface;
|
||||
static RESTYPE XvMCRTSubpicture;
|
||||
|
||||
int (*XvMCScreenInitProc)(ScreenPtr, int, XvMCAdaptorPtr) = NULL;
|
||||
|
||||
typedef struct {
|
||||
int num_adaptors;
|
||||
XvMCAdaptorPtr adaptors;
|
||||
@@ -762,6 +764,12 @@ XvMCScreenInit(ScreenPtr pScreen, int num, XvMCAdaptorPtr pAdapt)
|
||||
return Success;
|
||||
}
|
||||
|
||||
void
|
||||
XvMCRegister(void)
|
||||
{
|
||||
XvMCScreenInitProc = XvMCScreenInit;
|
||||
}
|
||||
|
||||
XvImagePtr
|
||||
XvMCFindXvImage(XvPortPtr pPort, CARD32 id)
|
||||
{
|
||||
|
||||
@@ -84,7 +84,8 @@ typedef struct {
|
||||
XvMCDestroySubpictureProcPtr DestroySubpicture;
|
||||
} XvMCAdaptorRec, *XvMCAdaptorPtr;
|
||||
|
||||
#ifndef XorgLoader
|
||||
extern int (*XvMCScreenInitProc)(ScreenPtr, int, XvMCAdaptorPtr);
|
||||
|
||||
extern _X_EXPORT int XvMCScreenInit(ScreenPtr pScreen,
|
||||
int num, XvMCAdaptorPtr adapt);
|
||||
|
||||
@@ -93,6 +94,5 @@ extern _X_EXPORT XvImagePtr XvMCFindXvImage(XvPortPtr pPort, CARD32 id);
|
||||
extern _X_EXPORT int xf86XvMCRegisterDRInfo(ScreenPtr pScreen, char *name,
|
||||
char *busID, int major, int minor,
|
||||
int patchLevel);
|
||||
#endif
|
||||
|
||||
#endif /* _XVMC_H */
|
||||
|
||||
Reference in New Issue
Block a user