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_VIDEO_DEF_H__ 10bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define __MIX_VIDEO_DEF_H__ 11bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include <mixresult.h> 12bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 13bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* 14bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MI-X video error code 15bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 16bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef enum { 17bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RESULT_FRAME_NOTAVAIL = MIX_RESULT_ERROR_VIDEO_START + 1, 18bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RESULT_EOS, 19bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RESULT_POOLEMPTY, 20bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RESULT_OUTOFSURFACES, 21bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RESULT_DROPFRAME, 22bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RESULT_NOTIMPL, 23bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RESULT_VIDEO_LAST 24bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MIX_VIDEO_ERROR_CODE; 25bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 26bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* 27bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixCodecMode 28bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 29bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef enum { 30bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_CODEC_MODE_ENCODE = 0, 31bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_CODEC_MODE_DECODE, 32bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_CODEC_MODE_LAST 33bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixCodecMode; 34bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 35bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef enum { 36bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_FRAMEORDER_MODE_DISPLAYORDER = 0, 37bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_FRAMEORDER_MODE_DECODEORDER, 38bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_FRAMEORDER_MODE_LAST 39bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixFrameOrderMode; 40bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 41bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef struct _MixIOVec { 42bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee guchar *data; 43bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee gint buffer_size; 44bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee gint data_size; 45bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixIOVec; 46bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 47bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef struct _MixRect { 48bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee gshort x; 49bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee gshort y; 50bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee gushort width; 51bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee gushort height; 52bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixRect; 53bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 54bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef enum { 55bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_STATE_UNINITIALIZED = 0, 56bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_STATE_INITIALIZED, 57bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_STATE_CONFIGURED, 58bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_STATE_LAST 59bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixState; 60bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 61bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 62bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef enum 63bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee{ 64bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RAW_TARGET_FORMAT_NONE = 0, 65bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RAW_TARGET_FORMAT_YUV420 = 1, 66bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RAW_TARGET_FORMAT_YUV422 = 2, 67bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RAW_TARGET_FORMAT_YUV444 = 4, 68bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RAW_TARGET_FORMAT_PROTECTED = 0x80000000, 69bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RAW_TARGET_FORMAT_LAST 70bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixRawTargetFormat; 71bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 72bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 73bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef enum 74bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee{ 75bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_ENCODE_TARGET_FORMAT_MPEG4 = 0, 76bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_ENCODE_TARGET_FORMAT_H263 = 2, 77bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_ENCODE_TARGET_FORMAT_H264 = 4, 78bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_ENCODE_TARGET_FORMAT_PREVIEW = 8, 79bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_ENCODE_TARGET_FORMAT_LAST 80bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixEncodeTargetFormat; 81bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 82bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 83bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef enum 84bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee{ 85bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RATE_CONTROL_NONE = 1, 86bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RATE_CONTROL_CBR = 2, 87bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RATE_CONTROL_VBR = 4, 88bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_RATE_CONTROL_LAST 89bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixRateControl; 90bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 91bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef enum 92bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee{ 93bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_MPEG2SIMPLE = 0, 94bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_MPEG2MAIN, 95bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_MPEG4SIMPLE, 96bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_MPEG4ADVANCEDSIMPLE, 97bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_MPEG4MAIN, 98bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_H264BASELINE, 99bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_H264MAIN, 100bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_H264HIGH, 101bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_VC1SIMPLE, 102bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_VC1MAIN, 103bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_VC1ADVANCED, 104bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_PROFILE_H263BASELINE 105bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixProfile; 106bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 107bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef enum 108bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee{ 109bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_DELIMITER_LENGTHPREFIX = 0, 110bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MIX_DELIMITER_ANNEXB 111bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee} MixDelimiterType; 112bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 113bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 114bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#endif /* __MIX_VIDEO_DEF_H__ */ 115