diff -r 71ca22bcf22a -r 5a06f39ad45b khronosfws/openmax_al/src/common/xavideopostprocessingitf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/khronosfws/openmax_al/src/common/xavideopostprocessingitf.h Fri Apr 16 15:29:42 2010 +0300 @@ -0,0 +1,93 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef XAVIDEOPOSTPROCESSINGITF_H +#define XAVIDEOPOSTPROCESSINGITF_H + +#include "openmaxalwrapper.h" +#include "xaglobals.h" +#ifdef _GSTREAMER_BACKEND_ +#include "XAAdaptationContextBase.h" +#endif +/** MACROS **/ + +/** TYPES **/ + +/** ENUMERATIONS **/ + +/** STRUCTURES **/ +/* Definition of XAVideoPostProcessingItf implementation */ +typedef struct XAVideoPostProcessingItfImpl_ +{ + /* parent interface */ + struct XAVideoPostProcessingItf_ itf; + /* pointer to self */ + struct XAVideoPostProcessingItfImpl_* self; + + /* variables */ + XAboolean supported; + XARectangle srcRect; + XARectangle destRect; + XAuint32 scaleOptions; + XAuint32 backgroundColor; + XAuint32 renderingHints; + XAuint32 mirror; + XAmillidegree rotation; + XAboolean isRotate; + XAboolean isMirror; + XAboolean isDestRect; + XAboolean isSrcRect; + XAboolean isScaleOptions; +#ifdef _GSTREAMER_BACKEND_ + /*Adaptation variables*/ + XAAdaptationBaseCtx *adapCtx; +#endif +} XAVideoPostProcessingItfImpl; + +/** METHODS **/ + +/* Base interface XAVideoPostProcessingItf implementation */ +XAresult XAVideoPostProcessingItfImpl_SetRotation(XAVideoPostProcessingItf self, + XAmillidegree rotation); + +XAresult XAVideoPostProcessingItfImpl_IsArbitraryRotationSupported(XAVideoPostProcessingItf self, + XAboolean *pSupported); + +XAresult XAVideoPostProcessingItfImpl_SetScaleOptions(XAVideoPostProcessingItf self, + XAuint32 scaleOptions, + XAuint32 backgroundColor, + XAuint32 renderingHints); + +XAresult XAVideoPostProcessingItfImpl_SetSourceRectangle(XAVideoPostProcessingItf self, + const XARectangle *pSrcRect); + +XAresult XAVideoPostProcessingItfImpl_SetDestinationRectangle(XAVideoPostProcessingItf self, + const XARectangle *pDestRect); + +XAresult XAVideoPostProcessingItfImpl_SetMirror(XAVideoPostProcessingItf self, + XAuint32 mirror); + +XAresult XAVideoPostProcessingItfImpl_Commit(XAVideoPostProcessingItf self); +#ifdef _GSTREAMER_BACKEND_ +/* XAVideoPostProcessingItfImpl -specific methods */ +XAVideoPostProcessingItfImpl* XAVideoPostProcessingItfImpl_Create(XAAdaptationBaseCtx *adapCtx); +XAresult XAVideoPostProcessingItfImpl_ThreadEntry(XAAdaptationBaseCtx *adapCtx); +XAresult XAVideoPostProcessingItfImpl_ThreadExit(XAVideoPostProcessingItfImpl* impl); +#endif +void XAVideoPostProcessingItfImpl_Free(XAVideoPostProcessingItfImpl* self); + +#endif /* XAVIDEOPOSTPROCESSINGITF_H */