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