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_VIDEOCONFIGPARAMSENC_H__
10bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define __MIX_VIDEOCONFIGPARAMSENC_H__
11bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
12bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include <mixvideoconfigparams.h>
13bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include "mixvideodef.h"
14bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
15bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
16bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_TYPE_VIDEOCONFIGPARAMSENC:
17bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
18bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Get type of class.
19bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
20bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_TYPE_VIDEOCONFIGPARAMSENC (mix_videoconfigparamsenc_get_type ())
21bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
22bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
23bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_VIDEOCONFIGPARAMSENC:
24bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: object to be type-casted.
25bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
26bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_VIDEOCONFIGPARAMSENC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MIX_TYPE_VIDEOCONFIGPARAMSENC, MixVideoConfigParamsEnc))
27bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
28bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
29bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_IS_VIDEOCONFIGPARAMSENC:
30bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: an object.
31bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
32bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Checks if the given object is an instance of #MixParams
33bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
34bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_IS_VIDEOCONFIGPARAMSENC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIX_TYPE_VIDEOCONFIGPARAMSENC))
35bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
36bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
37bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_VIDEOCONFIGPARAMSENC_CLASS:
38bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @klass: class to be type-casted.
39bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
40bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_VIDEOCONFIGPARAMSENC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIX_TYPE_VIDEOCONFIGPARAMSENC, MixVideoConfigParamsEncClass))
41bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
42bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
43bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_IS_VIDEOCONFIGPARAMSENC_CLASS:
44bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @klass: a class.
45bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
46bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Checks if the given class is #MixParamsClass
47bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
48bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_IS_VIDEOCONFIGPARAMSENC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIX_TYPE_VIDEOCONFIGPARAMSENC))
49bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
50bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
51bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_VIDEOCONFIGPARAMSENC_GET_CLASS:
52bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: a #MixParams object.
53bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
54bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Get the class instance of the object.
55bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
56bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_VIDEOCONFIGPARAMSENC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MIX_TYPE_VIDEOCONFIGPARAMSENC, MixVideoConfigParamsEncClass))
57bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
58bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef struct _MixVideoConfigParamsEnc MixVideoConfigParamsEnc;
59bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef struct _MixVideoConfigParamsEncClass MixVideoConfigParamsEncClass;
60bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
61bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
62bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MixVideoConfigParamsEnc:
63bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
64bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MI-X VideoConfig Parameter object
65bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
66bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestruct _MixVideoConfigParamsEnc {
67bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	/*< public > */
68bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	MixVideoConfigParams parent;
69bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
70bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	/*< public > */
71bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	//MixIOVec header;
72bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
73bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	/* the type of the following members will be changed after MIX API doc is ready */
74bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
75bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee       MixProfile profile;
76bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee       MixRawTargetFormat raw_format;
77bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee       MixRateControl rate_control;
78bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
79bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint bitrate;
80bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint frame_rate_num;
81bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint frame_rate_denom;
82bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint initial_qp;
83bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint min_qp;
84bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint intra_period;
85bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint16 picture_width;
86bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint16 picture_height;
87bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
88bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	GString * mime_type;
89bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	MixEncodeTargetFormat encode_format;
90bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
91bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint mixbuffer_pool_size;
92bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
93bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	gboolean share_buf_mode;
94bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
95bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	gulong *	ci_frame_id;
96bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	guint	ci_frame_num;
97bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
98bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	gulong draw;
99bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	gboolean need_display;
100bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
101bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	void *reserved1;
102bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	void *reserved2;
103bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	void *reserved3;
104bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	void *reserved4;
105bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee};
106bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
107bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
108bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MixVideoConfigParamsEncClass:
109bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
110bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MI-X VideoConfig object class
111bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
112bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestruct _MixVideoConfigParamsEncClass {
113bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	/*< public > */
114bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	MixVideoConfigParamsClass parent_class;
115bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
116bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee	/* class members */
117bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee};
118bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
119bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
120bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoconfigparamsenc_get_type:
121bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: type
122bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
123bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Get the type of object.
124bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
125bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeGType mix_videoconfigparamsenc_get_type(void);
126bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
127bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
128bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoconfigparamsenc_new:
129bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: A newly allocated instance of #MixVideoConfigParamsEnc
130bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
131bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Use this method to create new instance of #MixVideoConfigParamsEnc
132bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
133bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixVideoConfigParamsEnc *mix_videoconfigparamsenc_new(void);
134bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
135bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoconfigparamsenc_ref:
136bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @mix: object to add reference
137bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: the MixVideoConfigParamsEnc instance where reference count has been increased.
138bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
139bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Add reference count.
140bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
141bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixVideoConfigParamsEnc *mix_videoconfigparamsenc_ref(MixVideoConfigParamsEnc * mix);
142bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
143bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/**
144bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoconfigparamsenc_unref:
145bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: object to unref.
146bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *
147bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Decrement reference count of the object.
148bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
149bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define mix_videoconfigparamsenc_unref(obj) mix_params_unref(MIX_PARAMS(obj))
150bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
151bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* Class Methods */
152bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
153bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
154bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_mime_type(MixVideoConfigParamsEnc * obj,
155bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		const gchar * mime_type);
156bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
157bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_mime_type(MixVideoConfigParamsEnc * obj,
158bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		gchar ** mime_type);
159bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
160bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_frame_rate(MixVideoConfigParamsEnc * obj,
161bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		guint frame_rate_num, guint frame_rate_denom);
162bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
163bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_frame_rate(MixVideoConfigParamsEnc * obj,
164bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		guint * frame_rate_num, guint * frame_rate_denom);
165bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
166bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_picture_res(MixVideoConfigParamsEnc * obj,
167bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		guint picture_width, guint picture_height);
168bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
169bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_picture_res(MixVideoConfigParamsEnc * obj,
170bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		guint * picture_width, guint * picture_height);
171bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
172bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_encode_format (MixVideoConfigParamsEnc * obj,
173bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		MixEncodeTargetFormat encode_format);
174bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
175bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_encode_format (MixVideoConfigParamsEnc * obj,
176bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		MixEncodeTargetFormat * encode_format);
177bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
178bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_bit_rate (MixVideoConfigParamsEnc * obj,
179bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        guint bps);
180bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
181bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_bit_rate (MixVideoConfigParamsEnc * obj,
182bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        guint *bps);
183bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
184bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_init_qp (MixVideoConfigParamsEnc * obj,
185bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        guint initial_qp);
186bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
187bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_init_qp (MixVideoConfigParamsEnc * obj,
188bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        guint *initial_qp);
189bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
190bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_min_qp (MixVideoConfigParamsEnc * obj,
191bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        guint min_qp);
192bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
193bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_min_qp(MixVideoConfigParamsEnc * obj,
194bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        guint *min_qp);
195bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
196bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_intra_period (MixVideoConfigParamsEnc * obj,
197bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        guint intra_period);
198bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
199bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_intra_period (MixVideoConfigParamsEnc * obj,
200bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        guint *intra_period);
201bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
202bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_buffer_pool_size(MixVideoConfigParamsEnc * obj,
203bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		guint bufpoolsize);
204bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
205bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_buffer_pool_size(MixVideoConfigParamsEnc * obj,
206bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		guint *bufpoolsize);
207bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
208bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_share_buf_mode (MixVideoConfigParamsEnc * obj,
209bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		gboolean share_buf_mod);
210bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
211bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_share_buf_mode(MixVideoConfigParamsEnc * obj,
212bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		gboolean *share_buf_mod);
213bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
214bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_ci_frame_info(MixVideoConfigParamsEnc * obj,
215bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		gulong *	ci_frame_id, guint  ci_frame_num);
216bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
217bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_ci_frame_info (MixVideoConfigParamsEnc * obj,
218bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		gulong * *ci_frame_id, guint *ci_frame_num);
219bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
220bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_drawable (MixVideoConfigParamsEnc * obj,
221bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		gulong draw);
222bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
223bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_drawable (MixVideoConfigParamsEnc * obj,
224bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        gulong *draw);
225bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
226bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_need_display (
227bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee        MixVideoConfigParamsEnc * obj, gboolean need_display);
228bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
229bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_need_display(MixVideoConfigParamsEnc * obj,
230bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		gboolean *need_display);
231bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
232bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
233bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_rate_control(MixVideoConfigParamsEnc * obj,
234bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		MixRateControl rcmode);
235bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
236bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_rate_control(MixVideoConfigParamsEnc * obj,
237bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		MixRateControl * rcmode);
238bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
239bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_raw_format (MixVideoConfigParamsEnc * obj,
240bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		MixRawTargetFormat raw_format);
241bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
242bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_raw_format (MixVideoConfigParamsEnc * obj,
243bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		MixRawTargetFormat * raw_format);
244bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
245bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_set_profile (MixVideoConfigParamsEnc * obj,
246bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		MixProfile profile);
247bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
248bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsenc_get_profile (MixVideoConfigParamsEnc * obj,
249bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee		MixProfile * profile);
250bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
251bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* TODO: Add getters and setters for other properties */
252bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
253bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#endif /* __MIX_VIDEOCONFIGPARAMSENC_H__ */
254bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
255