summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuc Verhaegen <libv@skynet.be>2009-08-03 15:46:57 +0200
committerLuc Verhaegen <libv@skynet.be>2009-11-04 15:13:01 +0100
commit430a114355c0ae23bd2c4a29221ff4f31ed99e5b (patch)
tree8dfae2913d4c7ec123f7d4c408d9b4c4aa872d79
parent50bf8d8dc4843c19fe4a887c5b2e91c0ab2e5723 (diff)
XvMC: xvmc_unichrome.c: order functions logically.
-rw-r--r--lib/xvmc/xvmc_unichrome.c308
1 files changed, 162 insertions, 146 deletions
diff --git a/lib/xvmc/xvmc_unichrome.c b/lib/xvmc/xvmc_unichrome.c
index d034715..6d7c827 100644
--- a/lib/xvmc/xvmc_unichrome.c
+++ b/lib/xvmc/xvmc_unichrome.c
@@ -211,13 +211,11 @@ XvMCHideSurface(Display *display, XvMCSurface *surface)
*
*/
_X_EXPORT Status
-XvMCCreateSubpicture(Display *display, XvMCContext *context,
- XvMCSubpicture *subpicture, unsigned short width,
- unsigned short height, int xvimage_id)
+XvMCSyncSurface(Display *display, XvMCSurface *surface)
{
- printf("%s\n", __func__);
+ printf("%s: 0x%08X\n", __func__, surface->surface_id);
- return BadImplementation;
+ return Success;
}
@@ -225,13 +223,11 @@ XvMCCreateSubpicture(Display *display, XvMCContext *context,
*
*/
_X_EXPORT Status
-XvMCClearSubpicture(Display *display, XvMCSubpicture *subpicture,
- short x, short y, unsigned short width,
- unsigned short height, unsigned int flags)
+XvMCFlushSurface(Display *display, XvMCSurface *surface)
{
- printf("%s\n", __func__);
+ printf("%s: 0x%08X (%dbytes)\n", __func__, surface->surface_id, current_surface_size);
- return BadImplementation;
+ return Success;
}
@@ -239,10 +235,7 @@ XvMCClearSubpicture(Display *display, XvMCSubpicture *subpicture,
*
*/
_X_EXPORT Status
-XvMCCompositeSubpicture(Display *display, XvMCSubpicture *subpicture,
- XvImage *image, short src_x, short src_y,
- unsigned short width, unsigned short height,
- short dst_x, short dst_y)
+XvMCGetSurfaceStatus(Display *display, XvMCSurface *surface, int *stat)
{
printf("%s\n", __func__);
@@ -254,9 +247,19 @@ XvMCCompositeSubpicture(Display *display, XvMCSubpicture *subpicture,
*
*/
_X_EXPORT Status
-XvMCDestroySubpicture(Display *display, XvMCSubpicture *subpicture)
+XvMCBeginSurface(Display *display, XvMCContext *context, XvMCSurface *target,
+ XvMCSurface *past, XvMCSurface *future,
+ const XvMCMpegControl *control)
{
- printf("%s\n", __func__);
+ if (current_surface_id == target->surface_id)
+ return BadValue;
+
+ printf("%s: 0x%08X (0x%08X <- | -> 0x%08X)\n", __func__,
+ target->surface_id,
+ past ? past->surface_id : 0,
+ future? future->surface_id : 0);
+ current_surface_id = target->surface_id;
+ current_surface_size = 0;
return Success;
}
@@ -266,12 +269,15 @@ XvMCDestroySubpicture(Display *display, XvMCSubpicture *subpicture)
*
*/
_X_EXPORT Status
-XvMCSetSubpicturePalette(Display *display, XvMCSubpicture *subpicture,
- unsigned char *palette)
+XvMCPutSlice(Display *display, XvMCContext *context,
+ char *slice, int size)
{
- printf("%s\n", __func__);
+ printf("%s:0x%08X (%dbytes)\n", __func__,
+ current_surface_id, size);
- return BadImplementation;
+ current_surface_size += size;
+
+ return Success;
}
@@ -279,43 +285,82 @@ XvMCSetSubpicturePalette(Display *display, XvMCSubpicture *subpicture,
*
*/
_X_EXPORT Status
-XvMCBlendSubpicture(Display *display, XvMCSurface *surface,
- XvMCSubpicture *subpicture, short sub_x, short sub_y,
- unsigned short sub_width, unsigned short sub_h,
- short surface_x, short surface_y,
- unsigned short surface_width, unsigned short surface_h)
+XvMCPutSlice2(Display *display, XvMCContext *context,
+ char *slice, int size, int slicecode)
{
- printf("%s\n", __func__);
+ printf("%s: 0x%08X: %02X (%dbytes)\n", __func__,
+ current_surface_id, slicecode, size);
- return BadImplementation;
-}
+ current_surface_size += size;
+ return Success;
+}
/*
*
*/
_X_EXPORT Status
-XvMCBlendSubpicture2(Display *display, XvMCSurface *source, XvMCSurface *target,
- XvMCSubpicture *subpicture, short sub_x, short sub_y,
- unsigned short sub_width, unsigned short sub_h,
- short surface_x, short surface_y,
- unsigned short surface_width, unsigned short surface_h)
+XvMCLoadQMatrix(Display *display, XvMCContext *context,
+ const XvMCQMatrix *qmatrix)
{
- printf("%s\n", __func__);
+ Status status = Success;
- return BadImplementation;
+ if (!display || !context)
+ return XvMCBadContext;
+
+ if (!qmatrix)
+ return BadValue;
+
+ if (qmatrix->load_intra_quantiser_matrix) {
+ status = XvMCEQMatrixSend(display, context->port, XVMCE_QMATRIX_INTRA,
+ qmatrix->intra_quantiser_matrix);
+ if (status != Success)
+ printf("%s: XvMCEQMatrixSend %s failed: %d\n", __func__,
+ "INTRA", status);
+ }
+
+ if (qmatrix->load_non_intra_quantiser_matrix) {
+ status = XvMCEQMatrixSend(display, context->port, XVMCE_QMATRIX_NONINTRA,
+ qmatrix->non_intra_quantiser_matrix);
+ if (status != Success)
+ printf("%s: XvMCEQMatrixSend %s failed: %d\n", __func__,
+ "NONINTRA", status);
+ }
+
+ if (qmatrix->load_chroma_intra_quantiser_matrix) {
+ status = XvMCEQMatrixSend(display, context->port, XVMCE_QMATRIX_INTRA_CHROMA,
+ qmatrix->chroma_intra_quantiser_matrix);
+ if (status != Success)
+ printf("%s: XvMCEQMatrixSend %s failed: %d\n", __func__,
+ "INTRA_CHROMA", status);
+ }
+
+ if (qmatrix->load_chroma_non_intra_quantiser_matrix) {
+ status = XvMCEQMatrixSend(display, context->port, XVMCE_QMATRIX_NONINTRA_CHROMA,
+ qmatrix->chroma_non_intra_quantiser_matrix);
+ if (status != Success)
+ printf("%s: XvMCEQMatrixSend %s failed: %d\n", __func__,
+ "NONINTRA_CHROME", status);
+ }
+
+ /* return last failure/success */
+ return status;
}
/*
*
+ * Xv Attribute system wrapping.
+ *
*/
-_X_EXPORT Status
-XvMCSyncSurface(Display *display, XvMCSurface *surface)
-{
- printf("%s: 0x%08X\n", __func__, surface->surface_id);
- return Success;
+/*
+ *
+ */
+_X_EXPORT XvAttribute *
+XvMCQueryAttributes(Display *display, XvMCContext *context, int *number)
+{
+ return XvQueryPortAttributes(display, context->port, number);
}
@@ -323,19 +368,35 @@ XvMCSyncSurface(Display *display, XvMCSurface *surface)
*
*/
_X_EXPORT Status
-XvMCFlushSurface(Display *display, XvMCSurface *surface)
+XvMCSetAttribute(Display *display, XvMCContext *context,
+ Atom Attribute, int value)
{
- printf("%s: 0x%08X (%dbytes)\n", __func__, surface->surface_id, current_surface_size);
+ return XvSetPortAttribute(display, context->port, Attribute, value);
+}
- return Success;
+
+/*
+ *
+ */
+_X_EXPORT Status
+XvMCGetAttribute(Display *display, XvMCContext *context,
+ Atom Attribute, int *value)
+{
+ return XvGetPortAttribute(display, context->port, Attribute, value);
}
/*
*
+ * Subpicture support.
+ *
+ */
+
+/*
+ *
*/
_X_EXPORT Status
-XvMCGetSurfaceStatus(Display *display, XvMCSurface *surface, int *stat)
+XvMCSyncSubpicture(Display *display, XvMCSubpicture *subpicture)
{
printf("%s\n", __func__);
@@ -347,11 +408,7 @@ XvMCGetSurfaceStatus(Display *display, XvMCSurface *surface, int *stat)
*
*/
_X_EXPORT Status
-XvMCRenderSurface(Display *display, XvMCContext *context,
- unsigned int picture_structure, XvMCSurface *target,
- XvMCSurface *past, XvMCSurface *future, unsigned int flags,
- unsigned int num_macroblocks, unsigned int first_macroblock,
- XvMCMacroBlockArray *macroblock_array, XvMCBlockArray *blocks)
+XvMCFlushSubpicture(Display *display, XvMCSubpicture *subpicture)
{
printf("%s\n", __func__);
@@ -363,7 +420,7 @@ XvMCRenderSurface(Display *display, XvMCContext *context,
*
*/
_X_EXPORT Status
-XvMCSyncSubpicture(Display *display, XvMCSubpicture *subpicture)
+XvMCGetSubpictureStatus(Display *display, XvMCSubpicture *subpicture, int *stat)
{
printf("%s\n", __func__);
@@ -375,7 +432,9 @@ XvMCSyncSubpicture(Display *display, XvMCSubpicture *subpicture)
*
*/
_X_EXPORT Status
-XvMCFlushSubpicture(Display *display, XvMCSubpicture *subpicture)
+XvMCCreateSubpicture(Display *display, XvMCContext *context,
+ XvMCSubpicture *subpicture, unsigned short width,
+ unsigned short height, int xvimage_id)
{
printf("%s\n", __func__);
@@ -387,7 +446,9 @@ XvMCFlushSubpicture(Display *display, XvMCSubpicture *subpicture)
*
*/
_X_EXPORT Status
-XvMCGetSubpictureStatus(Display *display, XvMCSubpicture *subpicture, int *stat)
+XvMCClearSubpicture(Display *display, XvMCSubpicture *subpicture,
+ short x, short y, unsigned short width,
+ unsigned short height, unsigned int flags)
{
printf("%s\n", __func__);
@@ -399,10 +460,12 @@ XvMCGetSubpictureStatus(Display *display, XvMCSubpicture *subpicture, int *stat)
*
*/
_X_EXPORT Status
-XvMCCreateBlocks(Display *display, XvMCContext *context,
- unsigned int num_blocks, XvMCBlockArray *blocks)
+XvMCCompositeSubpicture(Display *display, XvMCSubpicture *subpicture,
+ XvImage *image, short src_x, short src_y,
+ unsigned short width, unsigned short height,
+ short dst_x, short dst_y)
{
- fprintf(stderr, "%s is not implemented.\n", __func__);
+ printf("%s\n", __func__);
return BadImplementation;
}
@@ -412,9 +475,9 @@ XvMCCreateBlocks(Display *display, XvMCContext *context,
*
*/
_X_EXPORT Status
-XvMCDestroyBlocks(Display *display, XvMCBlockArray *blocks)
+XvMCDestroySubpicture(Display *display, XvMCSubpicture *subpicture)
{
- fprintf(stderr, "%s is not implemented.\n", __func__);
+ printf("%s\n", __func__);
return Success;
}
@@ -424,10 +487,10 @@ XvMCDestroyBlocks(Display *display, XvMCBlockArray *blocks)
*
*/
_X_EXPORT Status
-XvMCCreateMacroBlocks(Display *display, XvMCContext *context,
- unsigned int num_blocks, XvMCMacroBlockArray *blocks)
+XvMCSetSubpicturePalette(Display *display, XvMCSubpicture *subpicture,
+ unsigned char *palette)
{
- fprintf(stderr, "%s is not implemented.\n", __func__);
+ printf("%s\n", __func__);
return BadImplementation;
}
@@ -437,42 +500,49 @@ XvMCCreateMacroBlocks(Display *display, XvMCContext *context,
*
*/
_X_EXPORT Status
-XvMCDestroyMacroBlocks(Display *display, XvMCMacroBlockArray *blocks)
+XvMCBlendSubpicture(Display *display, XvMCSurface *surface,
+ XvMCSubpicture *subpicture, short sub_x, short sub_y,
+ unsigned short sub_width, unsigned short sub_h,
+ short surface_x, short surface_y,
+ unsigned short surface_width, unsigned short surface_h)
{
- fprintf(stderr, "%s is not implemented.\n", __func__);
+ printf("%s\n", __func__);
- return Success;
+ return BadImplementation;
}
+
/*
*
*/
-_X_EXPORT XvAttribute *
-XvMCQueryAttributes(Display *display, XvMCContext *context, int *number)
+_X_EXPORT Status
+XvMCBlendSubpicture2(Display *display, XvMCSurface *source, XvMCSurface *target,
+ XvMCSubpicture *subpicture, short sub_x, short sub_y,
+ unsigned short sub_width, unsigned short sub_h,
+ short surface_x, short surface_y,
+ unsigned short surface_width, unsigned short surface_h)
{
- return XvQueryPortAttributes(display, context->port, number);
+ printf("%s\n", __func__);
+
+ return BadImplementation;
}
/*
*
+ * These are empty ones and should not be used: Macroblock only.
+ *
*/
-_X_EXPORT Status
-XvMCSetAttribute(Display *display, XvMCContext *context,
- Atom Attribute, int value)
-{
- return XvSetPortAttribute(display, context->port, Attribute, value);
-}
-
-
/*
*
*/
_X_EXPORT Status
-XvMCGetAttribute(Display *display, XvMCContext *context,
- Atom Attribute, int *value)
+XvMCCreateBlocks(Display *display, XvMCContext *context,
+ unsigned int num_blocks, XvMCBlockArray *blocks)
{
- return XvGetPortAttribute(display, context->port, Attribute, value);
+ fprintf(stderr, "%s is not implemented.\n", __func__);
+
+ return BadImplementation;
}
@@ -480,19 +550,9 @@ XvMCGetAttribute(Display *display, XvMCContext *context,
*
*/
_X_EXPORT Status
-XvMCBeginSurface(Display *display, XvMCContext *context, XvMCSurface *target,
- XvMCSurface *past, XvMCSurface *future,
- const XvMCMpegControl *control)
+XvMCDestroyBlocks(Display *display, XvMCBlockArray *blocks)
{
- if (current_surface_id == target->surface_id)
- return BadValue;
-
- printf("%s: 0x%08X (0x%08X <- | -> 0x%08X)\n", __func__,
- target->surface_id,
- past ? past->surface_id : 0,
- future? future->surface_id : 0);
- current_surface_id = target->surface_id;
- current_surface_size = 0;
+ fprintf(stderr, "%s is not implemented.\n", __func__);
return Success;
}
@@ -502,51 +562,12 @@ XvMCBeginSurface(Display *display, XvMCContext *context, XvMCSurface *target,
*
*/
_X_EXPORT Status
-XvMCLoadQMatrix(Display *display, XvMCContext *context,
- const XvMCQMatrix *qmatrix)
+XvMCCreateMacroBlocks(Display *display, XvMCContext *context,
+ unsigned int num_blocks, XvMCMacroBlockArray *blocks)
{
- Status status = Success;
-
- if (!display || !context)
- return XvMCBadContext;
-
- if (!qmatrix)
- return BadValue;
-
- if (qmatrix->load_intra_quantiser_matrix) {
- status = XvMCEQMatrixSend(display, context->port, XVMCE_QMATRIX_INTRA,
- qmatrix->intra_quantiser_matrix);
- if (status != Success)
- printf("%s: XvMCEQMatrixSend %s failed: %d\n", __func__,
- "INTRA", status);
- }
-
- if (qmatrix->load_non_intra_quantiser_matrix) {
- status = XvMCEQMatrixSend(display, context->port, XVMCE_QMATRIX_NONINTRA,
- qmatrix->non_intra_quantiser_matrix);
- if (status != Success)
- printf("%s: XvMCEQMatrixSend %s failed: %d\n", __func__,
- "NONINTRA", status);
- }
-
- if (qmatrix->load_chroma_intra_quantiser_matrix) {
- status = XvMCEQMatrixSend(display, context->port, XVMCE_QMATRIX_INTRA_CHROMA,
- qmatrix->chroma_intra_quantiser_matrix);
- if (status != Success)
- printf("%s: XvMCEQMatrixSend %s failed: %d\n", __func__,
- "INTRA_CHROMA", status);
- }
-
- if (qmatrix->load_chroma_non_intra_quantiser_matrix) {
- status = XvMCEQMatrixSend(display, context->port, XVMCE_QMATRIX_NONINTRA_CHROMA,
- qmatrix->chroma_non_intra_quantiser_matrix);
- if (status != Success)
- printf("%s: XvMCEQMatrixSend %s failed: %d\n", __func__,
- "NONINTRA_CHROME", status);
- }
+ fprintf(stderr, "%s is not implemented.\n", __func__);
- /* return last failure/success */
- return status;
+ return BadImplementation;
}
@@ -554,29 +575,24 @@ XvMCLoadQMatrix(Display *display, XvMCContext *context,
*
*/
_X_EXPORT Status
-XvMCPutSlice(Display *display, XvMCContext *context,
- char *slice, int size)
+XvMCDestroyMacroBlocks(Display *display, XvMCMacroBlockArray *blocks)
{
- printf("%s:0x%08X (%dbytes)\n", __func__,
- current_surface_id, size);
-
- current_surface_size += size;
+ fprintf(stderr, "%s is not implemented.\n", __func__);
return Success;
}
-
/*
*
*/
_X_EXPORT Status
-XvMCPutSlice2(Display *display, XvMCContext *context,
- char *slice, int size, int slicecode)
+XvMCRenderSurface(Display *display, XvMCContext *context,
+ unsigned int picture_structure, XvMCSurface *target,
+ XvMCSurface *past, XvMCSurface *future, unsigned int flags,
+ unsigned int num_macroblocks, unsigned int first_macroblock,
+ XvMCMacroBlockArray *macroblock_array, XvMCBlockArray *blocks)
{
- printf("%s: 0x%08X: %02X (%dbytes)\n", __func__,
- current_surface_id, slicecode, size);
-
- current_surface_size += size;
+ fprintf(stderr, "%s is not implemented.\n", __func__);
- return Success;
+ return BadImplementation;
}