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/** 10bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * SECTION:mixvideoconfigparamsdec_mp42 11bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @short_description: VideoConfig parameters 12bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 13bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * A data object which stores videoconfig specific parameters. 14bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 15bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 16bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include "mixvideolog.h" 17bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include "mixvideoconfigparamsdec_mp42.h" 18bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 19bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestatic GType _mix_videoconfigparamsdec_mp42_type = 0; 20bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestatic MixVideoConfigParamsDecClass *parent_class = NULL; 21bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 22bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define _do_init { _mix_videoconfigparamsdec_mp42_type = g_define_type_id; } 23bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 24bd8388b4555645b3d29abc6a94c303638064d69awonjong.leegboolean mix_videoconfigparamsdec_mp42_copy(MixParams * target, 25bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee const MixParams * src); 26bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixParams *mix_videoconfigparamsdec_mp42_dup(const MixParams * obj); 27bd8388b4555645b3d29abc6a94c303638064d69awonjong.leegboolean 28bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee mix_videoconfigparamsdec_mp42_equal(MixParams * first, MixParams * second); 29bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestatic void mix_videoconfigparamsdec_mp42_finalize(MixParams * obj); 30bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 31bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeG_DEFINE_TYPE_WITH_CODE (MixVideoConfigParamsDecMP42, /* The name of the new type, in Camel case */ 32bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee mix_videoconfigparamsdec_mp42, /* The name of the new type in lowercase */ 33bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_TYPE_VIDEOCONFIGPARAMSDEC, /* The GType of the parent type */ 34bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee _do_init); 35bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 36bd8388b4555645b3d29abc6a94c303638064d69awonjong.leevoid _mix_videoconfigparamsdec_mp42_initialize(void) { 37bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* the MixParams types need to be class_ref'd once before it can be 38bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * done from multiple threads; 39bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * see http://bugzilla.gnome.org/show_bug.cgi?id=304551 */ 40bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee g_type_class_ref(mix_videoconfigparamsdec_mp42_get_type()); 41bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 42bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 43bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestatic void mix_videoconfigparamsdec_mp42_init(MixVideoConfigParamsDecMP42 * self) { 44bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* initialize properties here */ 45bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* TODO: initialize properties */ 46bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 47bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee self->mpegversion = 0; 48bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee self->divxversion = 0; 49bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee self->reserved1 = NULL; 50bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee self->reserved2 = NULL; 51bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee self->reserved3 = NULL; 52bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee self->reserved4 = NULL; 53bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 54bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 55bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 56bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestatic void mix_videoconfigparamsdec_mp42_class_init( 57bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecMP42Class * klass) { 58bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecClass *this_parent_class = MIX_VIDEOCONFIGPARAMSDEC_CLASS( 59bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee klass); 60bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixParamsClass *this_root_class = MIX_PARAMS_CLASS(this_parent_class); 61bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 62bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* setup static parent class */ 63bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee parent_class 64bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee = (MixVideoConfigParamsDecClass *) g_type_class_peek_parent(klass); 65bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 66bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_root_class->finalize = mix_videoconfigparamsdec_mp42_finalize; 67bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_root_class->copy 68bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee = (MixParamsCopyFunction) mix_videoconfigparamsdec_mp42_copy; 69bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_root_class->dup 70bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee = (MixParamsDupFunction) mix_videoconfigparamsdec_mp42_dup; 71bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_root_class->equal 72bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee = (MixParamsEqualFunction) mix_videoconfigparamsdec_mp42_equal; 73bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 74bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 75bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixVideoConfigParamsDecMP42 * 76bd8388b4555645b3d29abc6a94c303638064d69awonjong.leemix_videoconfigparamsdec_mp42_new(void) { 77bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecMP42 *ret = 78bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee (MixVideoConfigParamsDecMP42 *) g_type_create_instance( 79bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_TYPE_VIDEOCONFIGPARAMSDEC_MP42); 80bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 81bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return ret; 82bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 83bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 84bd8388b4555645b3d29abc6a94c303638064d69awonjong.leevoid mix_videoconfigparamsdec_mp42_finalize(MixParams * obj) { 85bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* MixVideoConfigParamsDecMP42 *this_obj = MIX_VIDEOCONFIGPARAMSDEC_MP42 (obj); */ 86bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixParamsClass *root_class = MIX_PARAMS_CLASS(parent_class); 87bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 88bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* TODO: cleanup resources allocated */ 89bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 90bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* Chain up parent */ 91bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 92bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if (root_class->finalize) { 93bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee root_class->finalize(obj); 94bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } 95bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 96bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 97bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixVideoConfigParamsDecMP42 * 98bd8388b4555645b3d29abc6a94c303638064d69awonjong.leemix_videoconfigparamsdec_mp42_ref(MixVideoConfigParamsDecMP42 * mix) { 99bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return (MixVideoConfigParamsDecMP42 *) mix_params_ref(MIX_PARAMS(mix)); 100bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 101bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 102bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 103bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoconfigparamsdec_mp42_dup: 104bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: a #MixVideoConfigParamsDec object 105bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: a newly allocated duplicate of the object. 106bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 107bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Copy duplicate of the object. 108bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 109bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixParams * 110bd8388b4555645b3d29abc6a94c303638064d69awonjong.leemix_videoconfigparamsdec_mp42_dup(const MixParams * obj) { 111bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixParams *ret = NULL; 112bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 113bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee LOG_V( "Begin\n"); 114bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if (MIX_IS_VIDEOCONFIGPARAMSDEC_MP42(obj)) { 115bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecMP42 *duplicate = mix_videoconfigparamsdec_mp42_new(); 116bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee LOG_V( "duplicate = 0x%x\n", duplicate); 117bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if (mix_videoconfigparamsdec_mp42_copy(MIX_PARAMS(duplicate), MIX_PARAMS( 118bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee obj))) { 119bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee ret = MIX_PARAMS(duplicate); 120bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } else { 121bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee mix_videoconfigparamsdec_mp42_unref(duplicate); 122bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } 123bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } 124bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee LOG_V( "End\n"); 125bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return ret; 126bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 127bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 128bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 129bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoconfigparamsdec_mp42_copy: 130bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @target: copy to target 131bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @src: copy from src 132bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: boolean indicates if copy is successful. 133bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 134bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Copy instance data from @src to @target. 135bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 136bd8388b4555645b3d29abc6a94c303638064d69awonjong.leegboolean mix_videoconfigparamsdec_mp42_copy(MixParams * target, 137bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee const MixParams * src) { 138bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecMP42 *this_target, *this_src; 139bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixParamsClass *root_class; 140bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 141bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee LOG_V( "Begin\n"); 142bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if (MIX_IS_VIDEOCONFIGPARAMSDEC_MP42(target) && MIX_IS_VIDEOCONFIGPARAMSDEC_MP42( 143bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee src)) { 144bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee // Cast the base object to this child object 145bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_target = MIX_VIDEOCONFIGPARAMSDEC_MP42(target); 146bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_src = MIX_VIDEOCONFIGPARAMSDEC_MP42(src); 147bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 148bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee // TODO: copy properties */ 149bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_target->mpegversion = this_src->mpegversion; 150bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_target->divxversion = this_src->divxversion; 151bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 152bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee // Now chainup base class 153bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee root_class = MIX_PARAMS_CLASS(parent_class); 154bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 155bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if (root_class->copy) { 156bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee LOG_V( "root_class->copy != NULL\n"); 157bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return root_class->copy(MIX_PARAMS_CAST(target), MIX_PARAMS_CAST( 158bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee src)); 159bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } else { 160bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee LOG_V( "root_class->copy == NULL\n\n"); 161bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return TRUE; 162bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } 163bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } 164bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee LOG_V( "End\n"); 165bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return FALSE; 166bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 167bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 168bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 169bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_videoconfigparamsdec_mp42: 170bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @first: first object to compare 171bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @second: seond object to compare 172bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: boolean indicates if instance are equal. 173bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 174bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Copy instance data from @src to @target. 175bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 176bd8388b4555645b3d29abc6a94c303638064d69awonjong.leegboolean mix_videoconfigparamsdec_mp42_equal(MixParams * first, MixParams * second) { 177bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee gboolean ret = FALSE; 178bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecMP42 *this_first, *this_second; 179bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 180bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if (MIX_IS_VIDEOCONFIGPARAMSDEC_MP42(first) && MIX_IS_VIDEOCONFIGPARAMSDEC_MP42( 181bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee second)) { 182bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee // Deep compare 183bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee // Cast the base object to this child object 184bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 185bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_first = MIX_VIDEOCONFIGPARAMSDEC_MP42(first); 186bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee this_second = MIX_VIDEOCONFIGPARAMSDEC_MP42(second); 187bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 188bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* TODO: add comparison for properties */ 189bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee { 190bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee // members within this scope equal. chaining up. 191bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixParamsClass *klass = MIX_PARAMS_CLASS(parent_class); 192bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if (klass->equal) { 193bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee ret = klass->equal(first, second); 194bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } else { 195bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee ret = TRUE; 196bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } 197bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } 198bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee } 199bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 200bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return ret; 201bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 202bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 203bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* TODO: Add getters and setters for properties if any */ 204bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 205bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_VIDEOCONFIGPARAMSDEC_MP42_SETTER_CHECK_INPUT(obj) \ 206bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if(!obj) return MIX_RESULT_NULL_PTR; \ 207bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if(!MIX_IS_VIDEOCONFIGPARAMSDEC_MP42(obj)) return MIX_RESULT_FAIL; \ 208bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 209bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_VIDEOCONFIGPARAMSDEC_MP42_GETTER_CHECK_INPUT(obj, prop) \ 210bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if(!obj || !prop) return MIX_RESULT_NULL_PTR; \ 211bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee if(!MIX_IS_VIDEOCONFIGPARAMSDEC_MP42(obj)) return MIX_RESULT_FAIL; \ 212bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 213bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 214bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsdec_mp42_set_mpegversion( 215bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecMP42 *obj, guint version) { 216bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_VIDEOCONFIGPARAMSDEC_MP42_SETTER_CHECK_INPUT (obj); 217bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee obj->mpegversion = version; 218bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return MIX_RESULT_SUCCESS; 219bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 220bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 221bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsdec_mp42_get_mpegversion( 222bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecMP42 *obj, guint *version) { 223bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_VIDEOCONFIGPARAMSDEC_MP42_GETTER_CHECK_INPUT (obj, version); 224bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *version = obj->mpegversion; 225bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return MIX_RESULT_SUCCESS; 226bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 227bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 228bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsdec_mp42_set_divxversion( 229bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecMP42 *obj, guint version) { 230bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 231bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_VIDEOCONFIGPARAMSDEC_MP42_SETTER_CHECK_INPUT (obj); 232bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee obj->divxversion = version; 233bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return MIX_RESULT_SUCCESS; 234bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 235bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 236bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMIX_RESULT mix_videoconfigparamsdec_mp42_get_divxversion( 237bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixVideoConfigParamsDecMP42 *obj, guint *version) { 238bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 239bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_VIDEOCONFIGPARAMSDEC_MP42_GETTER_CHECK_INPUT (obj, version); 240bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee *version = obj->divxversion; 241bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee return MIX_RESULT_SUCCESS; 242bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 243bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} 244bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 245