1bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* 2bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee INTEL CONFIDENTIAL 3bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee Copyright 2009 Intel Corporation All Rights Reserved. 4bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee The source code contained or described herein and all documents related to the source code ("Material") are owned by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or its suppliers and licensors. The Material contains trade secrets and proprietary and confidential information of Intel or its suppliers and licensors. The Material is protected by worldwide copyright and trade secret laws and treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted, transmitted, distributed, or disclosed in any way without Intel’s prior express written permission. 5bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 6bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee No license under any patent, copyright, trade secret or other intellectual property right is granted to or conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement, estoppel or otherwise. Any license under such intellectual property rights must be express and approved by Intel in writing. 7bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee*/ 8bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 9bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#ifndef __MIX_VIDEOINITPARAMS_H__ 10bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define __MIX_VIDEOINITPARAMS_H__ 11bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 12bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include <mixparams.h> 13bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include "mixdisplay.h" 14bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include "mixvideodef.h" 15bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 16bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 17bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_TYPE_VIDEOINITPARAMS: 18bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 19bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Get type of class. 20bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 21bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_TYPE_VIDEOINITPARAMS (mix_videoinitparams_get_type ()) 22bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 23bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 24bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_VIDEOINITPARAMS: 25bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: object to be type-casted. 26bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 27bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_VIDEOINITPARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MIX_TYPE_VIDEOINITPARAMS, MixVideoInitParams)) 28bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 29bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 30bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_IS_VIDEOINITPARAMS: 31bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: an object. 32bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 33bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Checks if the given object is an instance of #MixParams 34bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 35bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_IS_VIDEOINITPARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIX_TYPE_VIDEOINITPARAMS)) 36bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 37bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 38bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_VIDEOINITPARAMS_CLASS: 39bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @klass: class to be type-casted. 40bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 41bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_VIDEOINITPARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIX_TYPE_VIDEOINITPARAMS, MixVideoInitParamsClass)) 42bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 43bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 44bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_IS_VIDEOINITPARAMS_CLASS: 45bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @klass: a class. 46bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 47bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Checks if the given class is #MixParamsClass 48bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 49bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_IS_VIDEOINITPARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIX_TYPE_VIDEOINITPARAMS)) 50bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 51bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 52bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_VIDEOINITPARAMS_GET_CLASS: 53bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: a #MixParams object. 54bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 55bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Get the class instance of the object. 56bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 57bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_VIDEOINITPARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MIX_TYPE_VIDEOINITPARAMS, MixVideoInitParamsClass)) 58bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 59bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef struct _MixVideoInitParams MixVideoInitParams; 60bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef struct _MixVideoInitParamsClass MixVideoInitParamsClass; 61bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 62bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 63bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MixVideoInitParams: 64bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 65bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MI-X VideoInit Parameter object 66bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 67bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestruct _MixVideoInitParams 68bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee{ 69bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /*< public > */ 70bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixParams parent; 71bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 72bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /*< public > */ 73bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 74bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixDisplay *display; 75bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee void *reserved1; 76bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee void *reserved2; 77bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee void *reserved3; 78bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee void *reserved4; 79bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee}; 80bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 81bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 82bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MixVideoInitParamsClass: 83bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 84bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MI-X VideoInit object class 85bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 86bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestruct _MixVideoInitParamsClass 87bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee{ 88bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /*< public > */ 89bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixParamsClass parent_class; 90bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 91bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* class members */ 92bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee}; 93bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 94bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 95bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoinitparams_get_type: 96bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: type 97bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 98bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Get the type of object. 99bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 100bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeGType mix_videoinitparams_get_type (void); 101bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 102bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 103bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoinitparams_new: 104bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: A newly allocated instance of #MixVideoInitParams 105bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 106bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Use this method to create new instance of #MixVideoInitParams 107bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 108bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixVideoInitParams *mix_videoinitparams_new (void); 109bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 110bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoinitparams_ref: 111bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @mix: object to add reference 112bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: the MixVideoInitParams instance where reference count has been increased. 113bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 114bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Add reference count. 115bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 116bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixVideoInitParams *mix_videoinitparams_ref (MixVideoInitParams * mix); 117bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 118bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 119bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoinitparams_unref: 120bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: object to unref. 121bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 122bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Decrement reference count of the object. 123bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 124bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define mix_videoinitparams_unref(obj) mix_params_unref(MIX_PARAMS(obj)) 125bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 126bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* Class Methods */ 127bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 128bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* 129bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee TO DO: Add documents 130bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee*/ 131bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 132bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoinitparams_set_display (MixVideoInitParams * obj, 133bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixDisplay * display); 134bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 135bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoinitparams_get_display (MixVideoInitParams * obj, 136bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixDisplay ** dislay); 137bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 138bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#endif /* __MIX_VIDEOINITPARAMS_H__ */ 139