mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 12:25:07 +00:00
xv: inline SWriteEncodingInfo()
Instead of complex macro machinery, just move the conditional swapping directly into ProcXvQueryEncodings(). Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
committed by
Enrico Weigelt
parent
73ca100659
commit
1adc19e10c
@@ -54,21 +54,6 @@ SOFTWARE.
|
||||
unsigned long XvXRTPort;
|
||||
#endif /* XINERAMA */
|
||||
|
||||
static int
|
||||
SWriteEncodingInfo(ClientPtr client, xvEncodingInfo * pEncoding)
|
||||
{
|
||||
|
||||
swapl(&pEncoding->encoding);
|
||||
swaps(&pEncoding->name_size);
|
||||
swaps(&pEncoding->width);
|
||||
swaps(&pEncoding->height);
|
||||
swapl(&pEncoding->rate.numerator);
|
||||
swapl(&pEncoding->rate.denominator);
|
||||
WriteToClient(client, sz_xvEncodingInfo, pEncoding);
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
||||
static int
|
||||
SWriteFormat(ClientPtr client, xvFormat * pFormat)
|
||||
{
|
||||
@@ -194,10 +179,6 @@ SWriteListImageFormatsReply(ClientPtr client, xvListImageFormatsReply * rep)
|
||||
if ((_c)->swapped) SWriteAttributeInfo(_c, _d); \
|
||||
else WriteToClient(_c, sz_xvAttributeInfo, _d)
|
||||
|
||||
#define _WriteEncodingInfo(_c,_d) \
|
||||
if ((_c)->swapped) SWriteEncodingInfo(_c, _d); \
|
||||
else WriteToClient(_c, sz_xvEncodingInfo, _d)
|
||||
|
||||
#define _WriteFormat(_c,_d) \
|
||||
if ((_c)->swapped) SWriteFormat(_c, _d); \
|
||||
else WriteToClient(_c, sz_xvFormat, _d)
|
||||
@@ -353,7 +334,6 @@ ProcXvQueryAdaptors(ClientPtr client)
|
||||
static int
|
||||
ProcXvQueryEncodings(ClientPtr client)
|
||||
{
|
||||
xvEncodingInfo einfo;
|
||||
int totalSize;
|
||||
int nameSize;
|
||||
XvPortPtr pPort;
|
||||
@@ -393,13 +373,23 @@ ProcXvQueryEncodings(ClientPtr client)
|
||||
ne = pPort->pAdaptor->nEncodings;
|
||||
pe = pPort->pAdaptor->pEncodings;
|
||||
while (ne--) {
|
||||
xvEncodingInfo einfo = { 0 };
|
||||
einfo.encoding = pe->id;
|
||||
einfo.name_size = nameSize = strlen(pe->name);
|
||||
einfo.width = pe->width;
|
||||
einfo.height = pe->height;
|
||||
einfo.rate.numerator = pe->rate.numerator;
|
||||
einfo.rate.denominator = pe->rate.denominator;
|
||||
_WriteEncodingInfo(client, &einfo);
|
||||
|
||||
if (client->swapped) {
|
||||
swapl(&einfo.encoding);
|
||||
swaps(&einfo.name_size);
|
||||
swaps(&einfo.width);
|
||||
swaps(&einfo.height);
|
||||
swapl(&einfo.rate.numerator);
|
||||
swapl(&einfo.rate.denominator);
|
||||
}
|
||||
WriteToClient(client, sz_xvEncodingInfo, &einfo);
|
||||
WriteToClient(client, nameSize, pe->name);
|
||||
pe++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user