1 /* 2 * Copyright (c) 2022-2024, Intel Corporation 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 * and/or sell copies of the Software, and to permit persons to whom the 9 * Software is furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice shall be included 12 * in all copies or substantial portions of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20 * OTHER DEALINGS IN THE SOFTWARE. 21 */ 22 //! 23 //! \file media_defs.h 24 //! \brief Define for media usages 25 //! \details 26 //! 27 #ifndef __MEDIA_DEFS_H__ 28 #define __MEDIA_DEFS_H__ 29 30 //! 31 //! \enum CodecDecodeJpegChromaType 32 //! \brief JPEG Chroma Types 33 //! 34 enum CodecDecodeJpegChromaType 35 { 36 jpegYUV400 = 0, //!< YUV400 37 jpegYUV420 = 1, //!< YUV420 38 jpegYUV422H2Y = 2, //!< YUV422H_2Y 39 jpegYUV444 = 3, //!< YUV444 40 jpegYUV411 = 4, //!< YUV411, not supported on JPEG encode 41 jpegYUV422V2Y = 5, //!< YUV422V_2Y, not supported on JPEG encode 42 jpegYUV422H4Y = 6, //!< YUV422H_4Y, not supported on JPEG encode 43 jpegYUV422V4Y = 7, //!< YUV422V_4Y, not supported on JPEG encode 44 jpegRGB = 8, //!< RGB, not supported on JPEG encode 45 jpegBGR = 9 //!< BGR, not supported on JPEG encode 46 }; 47 48 //! 49 //! \enum CODECHAL_STANDARD 50 //! \brief Codec standard 51 //! 52 enum CODECHAL_STANDARD 53 { 54 // MFX/MFL pipeline 55 CODECHAL_MPEG2 = 0, 56 CODECHAL_VC1 = 1, 57 CODECHAL_AVC = 2, 58 CODECHAL_JPEG = 3, 59 CODECHAL_RESERVED = 4, //formerly SVC 60 CODECHAL_VP8 = 5, 61 CODECHAL_UNDEFINED = 9, 62 63 // Cenc Decode 64 CODECHAL_CENC = 63, 65 66 // HCP pipeline 67 CODECHAL_HCP_BASE = 64, 68 CODECHAL_HEVC = CODECHAL_HCP_BASE, 69 CODECHAL_VP9 = CODECHAL_HCP_BASE + 1, 70 71 //AVP pipeline 72 CODECHAL_AVP_BASE = CODECHAL_HCP_BASE + 2, 73 CODECHAL_AV1 = CODECHAL_AVP_BASE, 74 75 CODECHAL_VVC, 76 CODECHAL_RESERVED2, 77 CODECHAL_RESERVED3, 78 CODECHAL_RESERVED4, 79 CODECHAL_STANDARD_MAX 80 }; 81 82 typedef enum _CODECHAL_SCALING_MODE 83 { 84 CODECHAL_SCALING_NEAREST = 0, 85 CODECHAL_SCALING_BILINEAR, 86 CODECHAL_SCALING_AVS, 87 CODECHAL_SCALING_ADV_QUALITY // !< Advance Perf mode 88 } CODECHAL_SCALING_MODE; 89 90 #endif // __MEDIA_DEFS_H__ 91 92