diff options
author | Luc Verhaegen <libv@skynet.be> | 2009-08-03 15:46:57 +0200 |
---|---|---|
committer | Luc Verhaegen <libv@skynet.be> | 2009-11-04 15:13:01 +0100 |
commit | 430a114355c0ae23bd2c4a29221ff4f31ed99e5b (patch) | |
tree | 8dfae2913d4c7ec123f7d4c408d9b4c4aa872d79 | |
parent | 50bf8d8dc4843c19fe4a887c5b2e91c0ab2e5723 (diff) |
XvMC: xvmc_unichrome.c: order functions logically.
-rw-r--r-- | lib/xvmc/xvmc_unichrome.c | 308 |
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; } |