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