1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: y2r_Types.h 4 5 Copyright (C)2009-2012 Nintendo Co., Ltd. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Rev: 46347 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_Y2R_CTR_Y2R_Y2RTYPES_H_ 17 #define NN_Y2R_CTR_Y2R_Y2RTYPES_H_ 18 19 #include <nn/Result.h> 20 21 namespace nn { 22 namespace y2r { 23 namespace CTR { 24 25 /* Please see man pages for details 26 27 */ 28 enum InputFormat 29 { 30 INPUT_YUV422_INDIV_8 = 0, // 31 INPUT_YUV420_INDIV_8 = 1, // 32 INPUT_YUV422_INDIV_16 = 2, // 33 INPUT_YUV420_INDIV_16 = 3, // 34 INPUT_YUV422_BATCH = 4 // 35 36 }; 37 38 /* Please see man pages for details 39 40 */ 41 enum OutputFormat 42 { 43 OUTPUT_RGB_32 = 0, // 44 OUTPUT_RGB_24 = 1, // 45 OUTPUT_RGB_16_555 = 2, // 46 OUTPUT_RGB_16_565 = 3 // 47 }; 48 49 /* Please see man pages for details 50 51 */ 52 enum Rotation 53 { 54 ROTATION_NONE = 0, // 55 ROTATION_CLOCKWISE_90 = 1, // 56 ROTATION_CLOCKWISE_180 = 2, // 57 ROTATION_CLOCKWISE_270 = 3 // 58 }; 59 60 /* Please see man pages for details 61 62 */ 63 enum BlockAlignment 64 { 65 BLOCK_LINE = 0, // 66 BLOCK_8_BY_8 = 1 // 67 }; 68 69 /* Please see man pages for details 70 71 72 73 74 75 76 77 78 */ 79 struct CoefficientParams 80 { 81 u16 Y_A; 82 u16 R_V; 83 u16 G_V; 84 u16 G_U; 85 u16 B_U; 86 u16 R_Offset; 87 u16 G_Offset; 88 u16 B_Offset; 89 }; 90 91 /* Please see man pages for details 92 93 */ 94 enum StandardCoefficient 95 { 96 COEFFICIENT_ITU_R_BT_601 = 0, // 97 COEFFICIENT_ITU_R_BT_709, // 98 COEFFICIENT_ITU_R_BT_601_SCALING, // 99 COEFFICIENT_ITU_R_BT_709_SCALING, // 100 101 COEFFICIENT_MAX 102 }; 103 104 /* Please see man pages for details 105 106 107 108 109 110 */ 111 struct DitheringWeightParams 112 { 113 u16 w0_xEven_yEven; // 114 u16 w0_xOdd_yEven; // 115 u16 w0_xEven_yOdd; // 116 u16 w0_xOdd_yOdd; // 117 118 u16 w1_xEven_yEven; // 119 u16 w1_xOdd_yEven; // 120 u16 w1_xEven_yOdd; // 121 u16 w1_xOdd_yOdd; // 122 123 u16 w2_xEven_yEven; // 124 u16 w2_xOdd_yEven; // 125 u16 w2_xEven_yOdd; // 126 u16 w2_xOdd_yOdd; // 127 128 u16 w3_xEven_yEven; // 129 u16 w3_xOdd_yEven; // 130 u16 w3_xEven_yOdd; // 131 u16 w3_xOdd_yOdd; // 132 }; 133 134 /* Please see man pages for details 135 136 */ 137 struct PackageParameter 138 { 139 util::SizedEnum1<InputFormat> inputFormat; // 140 util::SizedEnum1<OutputFormat> outputFormat; // 141 util::SizedEnum1<Rotation> rotation; // 142 util::SizedEnum1<BlockAlignment> blockAlignment; // 143 s16 inputLineWidth; // 144 s16 inputLines; // 145 util::SizedEnum1<StandardCoefficient> standardCoefficientNo; // 146 NN_PADDING1; 147 s16 alpha; // 148 }; 149 150 } // namespace CTR 151 } // namespace y2r 152 } // namespace nn 153 154 #endif //NN_Y2R_CTR_Y2R_Y2RTYPES_H_ 155