/* * DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/image/imgIEncoder.idl */ #ifndef __gen_imgIEncoder_h__ #define __gen_imgIEncoder_h__ #include "nsISupports.h" #include "nsIAsyncInputStream.h" #include "nsIEventTarget.h" /* For IDL files that don't want to include root IDL files. */ #ifndef NS_NO_VTABLE #define NS_NO_VTABLE #endif /* starting interface: imgIEncoder */ #define IMGIENCODER_IID_STR "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d" #define IMGIENCODER_IID \ {0xa1b2c3d4, 0xe5f6, 0x4a7b, \ { 0x8c, 0x9d, 0x0e, 0x1f, 0x2a, 0x3b, 0x4c, 0x5d }} class NS_NO_VTABLE MOZ_BINDING(binding_to, idl, class, XPIDL_imgIEncoder) imgIEncoder : public nsIAsyncInputStream { public: NS_INLINE_DECL_STATIC_IID(IMGIENCODER_IID) /* Used by ToJSValue to check which scriptable interface is implemented. */ using ScriptableInterfaceType = imgIEncoder; enum { INPUT_FORMAT_RGB MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_INPUT_FORMAT_RGB) = 0U, INPUT_FORMAT_RGBA MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_INPUT_FORMAT_RGBA) = 1U, INPUT_FORMAT_HOSTARGB MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_INPUT_FORMAT_HOSTARGB) = 2U, INPUT_FORMAT_R10G10B10A2 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_INPUT_FORMAT_R10G10B10A2) = 3U, INPUT_FORMAT_RGBA_U10 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_INPUT_FORMAT_RGBA_U10) = 4U, INPUT_FORMAT_RGBA_U12 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_INPUT_FORMAT_RGBA_U12) = 5U, INPUT_FORMAT_RGBA_U16 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_INPUT_FORMAT_RGBA_U16) = 6U, INPUT_FORMAT_RGBA_F16 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_INPUT_FORMAT_RGBA_F16) = 7U }; enum MOZ_BINDING(binding_to, idl, class, XPIDL_imgIEncoder_CICPColourPrimaries) CICPColourPrimaries : uint8_t { CP_BT709 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_BT709) = 1, CP_UNSPECIFIED MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_UNSPECIFIED) = 2, CP_BT470M MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_BT470M) = 4, CP_BT470BG MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_BT470BG) = 5, CP_BT601 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_BT601) = 6, CP_SMPTE240 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_SMPTE240) = 7, CP_GENERIC_FILM MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_GENERIC_FILM) = 8, CP_BT2020 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_BT2020) = 9, CP_XYZ MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_XYZ) = 10, CP_SMPTE431 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_SMPTE431) = 11, CP_SMPTE432 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_SMPTE432) = 12, CP_EBU3213 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPColourPrimaries_CP_EBU3213) = 22, }; enum MOZ_BINDING(binding_to, idl, class, XPIDL_imgIEncoder_CICPTransferCharacteristics) CICPTransferCharacteristics : uint8_t { TC_BT709 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_BT709) = 1, TC_UNSPECIFIED MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_UNSPECIFIED) = 2, TC_BT470M MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_BT470M) = 4, TC_BT470BG MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_BT470BG) = 5, TC_BT601 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_BT601) = 6, TC_SMPTE240 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_SMPTE240) = 7, TC_LINEAR MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_LINEAR) = 8, TC_LOG_100 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_LOG_100) = 9, TC_LOG_100_SQRT10 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_LOG_100_SQRT10) = 10, TC_IEC61966 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_IEC61966) = 11, TC_BT_1361 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_BT_1361) = 12, TC_SRGB MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_SRGB) = 13, TC_BT2020_10BIT MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_BT2020_10BIT) = 14, TC_BT2020_12BIT MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_BT2020_12BIT) = 15, TC_SMPTE2084 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_SMPTE2084) = 16, TC_SMPTE428 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_SMPTE428) = 17, TC_HLG MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPTransferCharacteristics_TC_HLG) = 18, }; enum MOZ_BINDING(binding_to, idl, class, XPIDL_imgIEncoder_CICPMatrixCoefficients) CICPMatrixCoefficients : uint8_t { MC_IDENTITY MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_IDENTITY) = 0, MC_BT709 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_BT709) = 1, MC_UNSPECIFIED MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_UNSPECIFIED) = 2, MC_FCC MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_FCC) = 4, MC_BT470BG MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_BT470BG) = 5, MC_BT601 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_BT601) = 6, MC_SMPTE240 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_SMPTE240) = 7, MC_YCGCO MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_YCGCO) = 8, MC_BT2020_NCL MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_BT2020_NCL) = 9, MC_BT2020_CL MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_BT2020_CL) = 10, MC_SMPTE2085 MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_SMPTE2085) = 11, MC_CHROMAT_NCL MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_CHROMAT_NCL) = 12, MC_CHROMAT_CL MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_CHROMAT_CL) = 13, MC_ICTCP MOZ_BINDING(binding_to, idl, const, XPIDL_imgIEncoder_CICPMatrixCoefficients_MC_ICTCP) = 14, }; /* void setColorSpaceInfo (in imgIEncoder_CICPColourPrimaries colourPrimaries, in imgIEncoder_CICPTransferCharacteristics transferCharacteristics, in imgIEncoder_CICPMatrixCoefficients matrixCoefficients, in boolean fullRange); */ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_setColorSpaceInfo) NS_IMETHOD SetColorSpaceInfo(imgIEncoder::CICPColourPrimaries colourPrimaries, imgIEncoder::CICPTransferCharacteristics transferCharacteristics, imgIEncoder::CICPMatrixCoefficients matrixCoefficients, bool fullRange) = 0; /* void initFromData ([array, size_is (length), const] in uint8_t data, in unsigned long length, in uint32_t width, in uint32_t height, in uint32_t stride, in uint32_t inputFormat, in AString outputOptions, in ACString randomizationKey); */ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_initFromData) NS_IMETHOD InitFromData(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t inputFormat, const nsAString& outputOptions, const nsACString& randomizationKey) = 0; /* void startImageEncode (in uint32_t width, in uint32_t height, in uint32_t inputFormat, in AString outputOptions); */ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_startImageEncode) NS_IMETHOD StartImageEncode(uint32_t width, uint32_t height, uint32_t inputFormat, const nsAString& outputOptions) = 0; /* void addImageFrame ([array, size_is (length), const] in uint8_t data, in unsigned long length, in uint32_t width, in uint32_t height, in uint32_t stride, in uint32_t frameFormat, in AString frameOptions); */ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_addImageFrame) NS_IMETHOD AddImageFrame(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t frameFormat, const nsAString& frameOptions) = 0; /* void endImageEncode (); */ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_endImageEncode) NS_IMETHOD EndImageEncode(void) = 0; /* [noscript] unsigned long getImageBufferUsed (); */ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_getImageBufferUsed) NS_IMETHOD GetImageBufferUsed(uint32_t *_retval) = 0; /* [noscript] charPtr getImageBuffer (); */ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_getImageBuffer) NS_IMETHOD GetImageBuffer(char * * _retval) = 0; }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_IMGIENCODER \ NS_IMETHOD SetColorSpaceInfo(imgIEncoder::CICPColourPrimaries colourPrimaries, imgIEncoder::CICPTransferCharacteristics transferCharacteristics, imgIEncoder::CICPMatrixCoefficients matrixCoefficients, bool fullRange) override; \ NS_IMETHOD InitFromData(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t inputFormat, const nsAString& outputOptions, const nsACString& randomizationKey) override; \ NS_IMETHOD StartImageEncode(uint32_t width, uint32_t height, uint32_t inputFormat, const nsAString& outputOptions) override; \ NS_IMETHOD AddImageFrame(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t frameFormat, const nsAString& frameOptions) override; \ NS_IMETHOD EndImageEncode(void) override; \ NS_IMETHOD GetImageBufferUsed(uint32_t *_retval) override; \ NS_IMETHOD GetImageBuffer(char * * _retval) override; /* Use this macro when declaring the members of this interface when the class doesn't implement the interface. This is useful for forwarding. */ #define NS_DECL_NON_VIRTUAL_IMGIENCODER \ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_setColorSpaceInfo)\ nsresult SetColorSpaceInfo(imgIEncoder::CICPColourPrimaries colourPrimaries, imgIEncoder::CICPTransferCharacteristics transferCharacteristics, imgIEncoder::CICPMatrixCoefficients matrixCoefficients, bool fullRange); \ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_initFromData)\ nsresult InitFromData(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t inputFormat, const nsAString& outputOptions, const nsACString& randomizationKey); \ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_startImageEncode)\ nsresult StartImageEncode(uint32_t width, uint32_t height, uint32_t inputFormat, const nsAString& outputOptions); \ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_addImageFrame)\ nsresult AddImageFrame(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t frameFormat, const nsAString& frameOptions); \ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_endImageEncode)\ nsresult EndImageEncode(void); \ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_getImageBufferUsed)\ nsresult GetImageBufferUsed(uint32_t *_retval); \ MOZ_BINDING(binding_to, idl, method, XPIDL_imgIEncoder_getImageBuffer)\ nsresult GetImageBuffer(char * * _retval); /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_IMGIENCODER(_to) \ NS_IMETHOD SetColorSpaceInfo(imgIEncoder::CICPColourPrimaries colourPrimaries, imgIEncoder::CICPTransferCharacteristics transferCharacteristics, imgIEncoder::CICPMatrixCoefficients matrixCoefficients, bool fullRange) override { return _to SetColorSpaceInfo(colourPrimaries, transferCharacteristics, matrixCoefficients, fullRange); } \ NS_IMETHOD InitFromData(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t inputFormat, const nsAString& outputOptions, const nsACString& randomizationKey) override { return _to InitFromData(data, length, width, height, stride, inputFormat, outputOptions, randomizationKey); } \ NS_IMETHOD StartImageEncode(uint32_t width, uint32_t height, uint32_t inputFormat, const nsAString& outputOptions) override { return _to StartImageEncode(width, height, inputFormat, outputOptions); } \ NS_IMETHOD AddImageFrame(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t frameFormat, const nsAString& frameOptions) override { return _to AddImageFrame(data, length, width, height, stride, frameFormat, frameOptions); } \ NS_IMETHOD EndImageEncode(void) override { return _to EndImageEncode(); } \ NS_IMETHOD GetImageBufferUsed(uint32_t *_retval) override { return _to GetImageBufferUsed(_retval); } \ NS_IMETHOD GetImageBuffer(char * * _retval) override { return _to GetImageBuffer(_retval); } /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_IMGIENCODER(_to) \ NS_IMETHOD SetColorSpaceInfo(imgIEncoder::CICPColourPrimaries colourPrimaries, imgIEncoder::CICPTransferCharacteristics transferCharacteristics, imgIEncoder::CICPMatrixCoefficients matrixCoefficients, bool fullRange) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetColorSpaceInfo(colourPrimaries, transferCharacteristics, matrixCoefficients, fullRange); } \ NS_IMETHOD InitFromData(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t inputFormat, const nsAString& outputOptions, const nsACString& randomizationKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->InitFromData(data, length, width, height, stride, inputFormat, outputOptions, randomizationKey); } \ NS_IMETHOD StartImageEncode(uint32_t width, uint32_t height, uint32_t inputFormat, const nsAString& outputOptions) override { return !_to ? NS_ERROR_NULL_POINTER : _to->StartImageEncode(width, height, inputFormat, outputOptions); } \ NS_IMETHOD AddImageFrame(const uint8_t *data, uint32_t length, uint32_t width, uint32_t height, uint32_t stride, uint32_t frameFormat, const nsAString& frameOptions) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddImageFrame(data, length, width, height, stride, frameFormat, frameOptions); } \ NS_IMETHOD EndImageEncode(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->EndImageEncode(); } \ NS_IMETHOD GetImageBufferUsed(uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetImageBufferUsed(_retval); } \ NS_IMETHOD GetImageBuffer(char * * _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetImageBuffer(_retval); } #endif /* __gen_imgIEncoder_h__ */