/*---------------------------------------------------------------------------* Project: Horizon File: y2r_Y2r.h Copyright (C)2009-2012 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. $Rev: 46347 $ *---------------------------------------------------------------------------*/ // // Do not edit this file. // This file is automatically generated. // #ifndef NN_Y2R_CTR_Y2R_Y2R_H_ #define NN_Y2R_CTR_Y2R_Y2R_H_ #include #include #include #include namespace nn { namespace y2r { namespace CTR { namespace detail { class Y2r { public: enum Tag { TAG_IPC_ERROR, TAG_SET_INPUT_FORMAT = 0x0001, TAG_GET_INPUT_FORMAT = 0x0002, TAG_SET_OUTPUT_FORMAT = 0x0003, TAG_GET_OUTPUT_FORMAT = 0x0004, TAG_SET_ROTATION = 0x0005, TAG_GET_ROTATION = 0x0006, TAG_SET_BLOCK_ALIGNMENT = 0x0007, TAG_GET_BLOCK_ALIGNMENT = 0x0008, TAG_SET_SPACIAL_DITHERING = 0x0009, TAG_GET_SPACIAL_DITHERING = 0x000a, TAG_SET_TEMPORAL_DITHERING = 0x000b, TAG_GET_TEMPORAL_DITHERING = 0x000c, TAG_SET_TRANSFER_END_INTERRUPT = 0x000d, TAG_GET_TRANSFER_END_INTERRUPT = 0x000e, TAG_GET_TRANSFER_END_EVENT = 0x000f, TAG_SET_SENDING_Y = 0x0010, TAG_SET_SENDING_U = 0x0011, TAG_SET_SENDING_V = 0x0012, TAG_SET_SENDING_YUV = 0x0013, TAG_IS_FINISHED_SENDING_YUV = 0x0014, TAG_IS_FINISHED_SENDING_Y = 0x0015, TAG_IS_FINISHED_SENDING_U = 0x0016, TAG_IS_FINISHED_SENDING_V = 0x0017, TAG_SET_RECEIVING = 0x0018, TAG_IS_FINISHED_RECEIVING = 0x0019, TAG_SET_INPUT_LINE_WIDTH = 0x001a, TAG_GET_INPUT_LINE_WIDTH = 0x001b, TAG_SET_INPUT_LINES = 0x001c, TAG_GET_INPUT_LINES = 0x001d, TAG_SET_COEFFICIENT_PARAMS = 0x001e, TAG_GET_COEFFICIENT_PARAMS = 0x001f, TAG_SET_STANDARD_COEFFICIENT = 0x0020, TAG_GET_STANDARD_COEFFICIENT_PARAMS = 0x0021, TAG_SET_ALPHA = 0x0022, TAG_GET_ALPHA = 0x0023, TAG_SET_DITHERING_WEIGHT_PARAMS = 0x0024, TAG_GET_DITHERING_WEIGHT_PARAMS = 0x0025, TAG_START_CONVERSION = 0x0026, TAG_STOP_CONVERSION = 0x0027, TAG_IS_BUSY_CONVERSION = 0x0028, TAG_SET_PACKAGE_PARAMETER = 0x0029, TAG_PING_PROCESS = 0x002a, TAG_DRIVER_INITIALIZE = 0x002b, TAG_DRIVER_FINALIZE = 0x002c, TAG_GET_PACKAGE_PARAMETER = 0x002d, TAG_IPC_END }; public: static Handle s_Session; public: Y2r() {} public: static nn::Result SetInputFormat( nn::y2r::CTR::InputFormat format ); static nn::Result GetInputFormat( nn::y2r::CTR::InputFormat* pFormat ); static nn::Result SetOutputFormat( nn::y2r::CTR::OutputFormat format ); static nn::Result GetOutputFormat( nn::y2r::CTR::OutputFormat* pFormat ); static nn::Result SetRotation( nn::y2r::CTR::Rotation rotation ); static nn::Result GetRotation( nn::y2r::CTR::Rotation* pRotation ); static nn::Result SetBlockAlignment( nn::y2r::CTR::BlockAlignment align ); static nn::Result GetBlockAlignment( nn::y2r::CTR::BlockAlignment* pAlign ); static nn::Result SetSpacialDithering( bool enable ); static nn::Result GetSpacialDithering( bool* pEnable ); static nn::Result SetTemporalDithering( bool enable ); static nn::Result GetTemporalDithering( bool* pEnable ); static nn::Result SetTransferEndInterrupt( bool enable ); static nn::Result GetTransferEndInterrupt( bool* pEnable ); static nn::Result GetTransferEndEvent( nn::Handle* pHandle ); static nn::Result SetSendingY( nn::Handle srcProcess, u32 pSrc, size_t imageSize, s16 transferUnit, s16 transferStride ); static nn::Result SetSendingU( nn::Handle srcProcess, u32 pSrc, size_t imageSize, s16 transferUnit, s16 transferStride ); static nn::Result SetSendingV( nn::Handle srcProcess, u32 pSrc, size_t imageSize, s16 transferUnit, s16 transferStride ); static nn::Result SetSendingYuv( nn::Handle srcProcess, u32 pSrc, size_t imageSize, s16 transferUnit, s16 transferStride ); static nn::Result IsFinishedSendingYuv( bool* pState ); static nn::Result IsFinishedSendingY( bool* pState ); static nn::Result IsFinishedSendingU( bool* pState ); static nn::Result IsFinishedSendingV( bool* pState ); static nn::Result SetReceiving( nn::Handle dstProcess, u32 pDst, size_t imageSize, s16 transferUnit, s16 transferStride ); static nn::Result IsFinishedReceiving( bool* pState ); static nn::Result SetInputLineWidth( s16 width ); static nn::Result GetInputLineWidth( s16* pWidth ); static nn::Result SetInputLines( s16 lines ); static nn::Result GetInputLines( s16* pLines ); static nn::Result SetCoefficientParams( const nn::y2r::CTR::CoefficientParams& src ); static nn::Result GetCoefficientParams( nn::y2r::CTR::CoefficientParams* pDst ); static nn::Result SetStandardCoefficient( nn::y2r::CTR::StandardCoefficient no ); static nn::Result GetStandardCoefficientParams( nn::y2r::CTR::CoefficientParams* pDst, nn::y2r::CTR::StandardCoefficient no ); static nn::Result SetAlpha( s16 alpha ); static nn::Result GetAlpha( s16* pAlpha ); static nn::Result SetDitheringWeightParams( const nn::y2r::CTR::DitheringWeightParams& w ); static nn::Result GetDitheringWeightParams( nn::y2r::CTR::DitheringWeightParams* pW ); static nn::Result StartConversion(); static nn::Result StopConversion(); static nn::Result IsBusyConversion( bool* pState ); static nn::Result SetPackageParameter( const nn::y2r::CTR::PackageParameter& param ); static nn::Result PingProcess( u8* connectedNumber ); static nn::Result DriverInitialize(); static nn::Result DriverFinalize(); static nn::Result GetPackageParameter( nn::y2r::CTR::PackageParameter* pParam ); }; } // end of namespace detail } // end of namespace CTR } // end of namespace y2r } // end of namespace nn #endif // ifndef NN_Y2R_CTR_Y2R_Y2R_H_