u_video.h revision 3ac959492d27a8473256bb7a25135f44b5d1a0f4
1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch/************************************************************************** 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * 3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * Copyright 2009 Younes Manton. 4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * All Rights Reserved. 5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * 6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * Permission is hereby granted, free of charge, to any person obtaining a 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * copy of this software and associated documentation files (the 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * "Software"), to deal in the Software without restriction, including 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * without limitation the rights to use, copy, modify, merge, publish, 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * distribute, sub license, and/or sell copies of the Software, and to 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * permit persons to whom the Software is furnished to do so, subject to 12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * the following conditions: 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * 14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * The above copyright notice and this permission notice (including the 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * next paragraph) shall be included in all copies or substantial portions 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * of the Software. 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch **************************************************************************/ 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifndef U_VIDEO_H 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define U_VIDEO_H 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifdef __cplusplus 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdochextern "C" { 33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif 34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "pipe/p_defines.h" 36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "pipe/p_video_enums.h" 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch/* u_reduce_video_profile() needs these */ 39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "pipe/p_compiler.h" 40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "util/u_debug.h" 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdochstatic INLINE enum pipe_video_codec 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdochu_reduce_video_profile(enum pipe_video_profile profile) 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch{ 45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch switch (profile) 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch { 47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_MPEG1: 48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_MPEG2_SIMPLE: 49116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_MPEG2_MAIN: 50116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return PIPE_VIDEO_CODEC_MPEG12; 51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 52116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_MPEG4_SIMPLE: 53116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_MPEG4_ADVANCED_SIMPLE: 54116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return PIPE_VIDEO_CODEC_MPEG4; 55116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 56116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_VC1_SIMPLE: 57116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_VC1_MAIN: 58116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_VC1_ADVANCED: 59116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return PIPE_VIDEO_CODEC_VC1; 60116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 61116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE: 62116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN: 63116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch case PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH: 64116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return PIPE_VIDEO_CODEC_MPEG4_AVC; 65116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 66116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch default: 67116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return PIPE_VIDEO_CODEC_UNKNOWN; 68116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch } 69116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 70116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 71116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifdef __cplusplus 72116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 73116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif 74116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 75116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif /* U_VIDEO_H */ 76116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch