• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2010 Amlogic Corporation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 
18 
19 /**
20 * @file vformat.h
21 * @brief  Porting from decoder driver for video format
22 * @author Tim Yao <timyao@amlogic.com>
23 * @version 1.0.0
24 * @date 2011-02-24
25 */
26 /* Copyright (C) 2007-2011, Amlogic Inc.
27 * All right reserved
28 *
29 */
30 
31 /*
32  * AMLOGIC Audio/Video streaming port driver.
33  *
34  * This program is free software; you can redistribute it and/or modify
35  * it under the terms of the GNU General Public License as published by
36  * the Free Software Foundation; either version 2 of the named License,
37  * or any later version.
38  *
39  * This program is distributed in the hope that it will be useful,
40  * but WITHOUT ANY WARRANTY; without even the implied warranty of
41  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42  * GNU General Public License for more details.
43  *
44  * You should have received a copy of the GNU General Public License
45  * along with this program; if not, write to the Free Software
46  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
47  *
48  * Author:  Tim Yao <timyao@amlogic.com>
49  *
50  */
51 
52 #ifndef VFORMAT_H
53 #define VFORMAT_H
54 
55 typedef enum {
56     VIDEO_DEC_FORMAT_UNKNOW,
57     VIDEO_DEC_FORMAT_MPEG4_3,
58     VIDEO_DEC_FORMAT_MPEG4_4,
59     VIDEO_DEC_FORMAT_MPEG4_5,
60     VIDEO_DEC_FORMAT_H264,
61     VIDEO_DEC_FORMAT_MJPEG,
62     VIDEO_DEC_FORMAT_MP4,
63     VIDEO_DEC_FORMAT_H263,
64     VIDEO_DEC_FORMAT_REAL_8,
65     VIDEO_DEC_FORMAT_REAL_9,
66     VIDEO_DEC_FORMAT_WMV3,
67     VIDEO_DEC_FORMAT_WVC1,
68     VIDEO_DEC_FORMAT_SW,
69     VIDEO_DEC_FORMAT_AVS,
70     VIDEO_DEC_FORMAT_H264_4K2K,
71     VIDEO_DEC_FORMAT_HEVC,
72     VIDEO_DEC_FORMAT_VP9 ,
73     VIDEO_DEC_FORMAT_MAX
74 } vdec_type_t;
75 
76 typedef enum {
77     VFORMAT_UNKNOWN = -1,
78     VFORMAT_MPEG12 = 0,
79     VFORMAT_MPEG4,
80     VFORMAT_H264,
81     VFORMAT_MJPEG,
82     VFORMAT_REAL,
83     VFORMAT_JPEG,
84     VFORMAT_VC1,
85     VFORMAT_AVS,
86     VFORMAT_SW,
87     VFORMAT_H264MVC,
88     VFORMAT_H264_4K2K,
89     VFORMAT_HEVC,
90     VFORMAT_H264_ENC,
91     VFORMAT_JPEG_ENC,
92     VFORMAT_VP9,
93     VFORMAT_AVS2,
94 
95 /*add new here before.*/
96     VFORMAT_MAX,
97     VFORMAT_UNSUPPORT = VFORMAT_MAX
98 } vformat_t;
99 
100 #define IS_VFMT_VALID(vfmt) ((vfmt > VFORMAT_UNKNOWN) && (vfmt < VFORMAT_MAX))
101 #define IS_NEED_VDEC_INFO(vfmt) ((vfmt == VFORMAT_MPEG4) || (vfmt == VFORMAT_REAL))
102 
103 #define CODEC_TAG_MJPEG     (0x47504a4d)
104 #define CODEC_TAG_mjpeg     (0x47504a4c)
105 #define CODEC_TAG_jpeg      (0x6765706a)
106 #define CODEC_TAG_mjpa      (0x61706a6d)
107 #define CODEC_TAG_XVID      (0x44495658)
108 #define CODEC_TAG_xvid      (0x64697678)
109 #define CODEC_TAG_XVIX      (0x58495658)
110 #define CODEC_TAG_xvix      (0x78697678)
111 #define CODEC_TAG_MP4       (0x8e22ada)
112 #define CODEC_TAG_COL1      (0x314c4f43)
113 #define CODEC_TAG_DIV3      (0x33564944)
114 #define CODEC_TAG_MP43      (0x3334504d)
115 #define CODEC_TAG_M4S2      (0x3253344d)
116 #define CODEC_TAG_DIV4      (0x34564944)
117 #define CODEC_TAG_divx       (0x78766964)
118 #define CODEC_TAG_DIVX      (0x58564944)
119 #define CODEC_TAG_DIV5      (0x35564944)
120 #define CODEC_TAG_3IV2      (0x32564933)
121 #define CODEC_TAG_3iv2      (0x32766933)
122 #define CODEC_TAG_DX50      (0x30355844)
123 #define CODEC_TAG_DIV6      (0x36564944)
124 #define CODEC_TAG_RMP4      (0x34504d52)
125 #define CODEC_TAG_MP42      (0x3234504d)
126 #define CODEC_TAG_MPG4      (0x3447504d)
127 #define CODEC_TAG_MP4V      (0x5634504d)
128 #define CODEC_TAG_mp4v      (0x7634706d)
129 #define CODEC_TAG_AVC1      (0x31435641)
130 #define CODEC_TAG_avc1      (0x31637661)
131 #define CODEC_TAG_H264      (0x34363248)
132 #define CODEC_TAG_h264      (0x34363268)
133 #define CODEC_TAG_HEVC      (0x43564548)
134 #define CODEC_TAG_hvc1      (0x31637668)
135 #define CODEC_TAG_hev1      (0x31766568)
136 #define CODEC_TAG_H263      (0x33363248)
137 #define CODEC_TAG_h263      (0x33363268)
138 #define CODEC_TAG_s263      (0x33363273)
139 #define CODEC_TAG_F263      (0x33363246)
140 #define CODEC_TAG_WMV1      (0x31564d57)
141 #define CODEC_TAG_WMV2      (0x32564d57)
142 #define CODEC_TAG_WMV3      (0x33564d57)
143 #define CODEC_TAG_WVC1      (0x31435657)
144 #define CODEC_TAG_WMVA      (0x41564d57)
145 #define CODEC_TAG_FMP4      (0x34504d46)
146 #define CODEC_TAG_FVFW      (0x57465646)
147 #define CODEC_TAG_VC_1      (0x312d4356)
148 #define CODEC_TAG_vc_1      (0x312d6376)
149 
150 #endif /* VFORMAT_H */
151