whisper-large-v3-mlx
/
lib
/python3.11
/site-packages
/mlx
/include
/metal_cpp
/MetalFX
/MTLFXSpatialScaler.hpp
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
// | |
// MetalFX/MTLFXSpatialScaler.hpp | |
// | |
// Copyright 2020-2023 Apple Inc. | |
// | |
// Licensed under the Apache License, Version 2.0 (the "License"); | |
// you may not use this file except in compliance with the License. | |
// You may obtain a copy of the License at | |
// | |
// http://www.apache.org/licenses/LICENSE-2.0 | |
// | |
// Unless required by applicable law or agreed to in writing, software | |
// distributed under the License is distributed on an "AS IS" BASIS, | |
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
// See the License for the specific language governing permissions and | |
// limitations under the License. | |
// | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
namespace MTLFX | |
{ | |
_MTLFX_ENUM( NS::Integer, SpatialScalerColorProcessingMode ) | |
{ | |
SpatialScalerColorProcessingModePerceptual = 0, | |
SpatialScalerColorProcessingModeLinear = 1, | |
SpatialScalerColorProcessingModeHDR = 2 | |
}; | |
class SpatialScalerDescriptor : public NS::Copying< SpatialScalerDescriptor > | |
{ | |
public: | |
static class SpatialScalerDescriptor* alloc(); | |
class SpatialScalerDescriptor* init(); | |
MTL::PixelFormat colorTextureFormat() const; | |
void setColorTextureFormat( MTL::PixelFormat format ); | |
MTL::PixelFormat outputTextureFormat() const; | |
void setOutputTextureFormat( MTL::PixelFormat format ); | |
NS::UInteger inputWidth() const; | |
void setInputWidth( NS::UInteger width ); | |
NS::UInteger inputHeight() const; | |
void setInputHeight( NS::UInteger height ); | |
NS::UInteger outputWidth() const; | |
void setOutputWidth( NS::UInteger width ); | |
NS::UInteger outputHeight() const; | |
void setOutputHeight( NS::UInteger height ); | |
SpatialScalerColorProcessingMode colorProcessingMode() const; | |
void setColorProcessingMode( SpatialScalerColorProcessingMode mode ); | |
class SpatialScaler* newSpatialScaler( const MTL::Device* pDevice ); | |
static bool supportsDevice( const MTL::Device* ); | |
}; | |
class SpatialScaler : public NS::Referencing< SpatialScaler > | |
{ | |
public: | |
MTL::TextureUsage colorTextureUsage() const; | |
MTL::TextureUsage outputTextureUsage() const; | |
NS::UInteger inputContentWidth() const; | |
void setInputContentWidth( NS::UInteger width ); | |
NS::UInteger inputContentHeight() const; | |
void setInputContentHeight( NS::UInteger height ); | |
MTL::Texture* colorTexture() const; | |
void setColorTexture( MTL::Texture* pTexture ); | |
MTL::Texture* outputTexture() const; | |
void setOutputTexture( MTL::Texture* pTexture ); | |
MTL::PixelFormat colorTextureFormat() const; | |
MTL::PixelFormat outputTextureFormat() const; | |
NS::UInteger inputWidth() const; | |
NS::UInteger inputHeight() const; | |
NS::UInteger outputWidth() const; | |
NS::UInteger outputHeight() const; | |
SpatialScalerColorProcessingMode colorProcessingMode() const; | |
MTL::Fence* fence() const; | |
void setFence( MTL::Fence* pFence ); | |
void encodeToCommandBuffer( MTL::CommandBuffer* pCommandBuffer ); | |
}; | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTLFX::SpatialScalerDescriptor* MTLFX::SpatialScalerDescriptor::alloc() | |
{ | |
return NS::Object::alloc< SpatialScalerDescriptor >( _MTLFX_PRIVATE_CLS( MTLFXSpatialScalerDescriptor ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTLFX::SpatialScalerDescriptor* MTLFX::SpatialScalerDescriptor::init() | |
{ | |
return NS::Object::init< SpatialScalerDescriptor >(); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTL::PixelFormat MTLFX::SpatialScalerDescriptor::colorTextureFormat() const | |
{ | |
return Object::sendMessage< MTL::PixelFormat >( this, _MTLFX_PRIVATE_SEL( colorTextureFormat ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScalerDescriptor::setColorTextureFormat( MTL::PixelFormat format ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setColorTextureFormat_ ), format ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTL::PixelFormat MTLFX::SpatialScalerDescriptor::outputTextureFormat() const | |
{ | |
return Object::sendMessage< MTL::PixelFormat >( this, _MTLFX_PRIVATE_SEL( outputTextureFormat ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScalerDescriptor::setOutputTextureFormat( MTL::PixelFormat format ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setOutputTextureFormat_ ), format ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScalerDescriptor::inputWidth() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( inputWidth ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScalerDescriptor::setInputWidth( NS::UInteger width ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setInputWidth_ ), width ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScalerDescriptor::inputHeight() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( inputHeight ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScalerDescriptor::setInputHeight( NS::UInteger height ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setInputHeight_ ), height ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScalerDescriptor::outputWidth() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( outputWidth ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScalerDescriptor::setOutputWidth( NS::UInteger width ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setOutputWidth_ ), width ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScalerDescriptor::outputHeight() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( outputHeight ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScalerDescriptor::setOutputHeight( NS::UInteger height ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setOutputHeight_ ), height ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTLFX::SpatialScalerColorProcessingMode MTLFX::SpatialScalerDescriptor::colorProcessingMode() const | |
{ | |
return Object::sendMessage< SpatialScalerColorProcessingMode >( this, _MTLFX_PRIVATE_SEL( colorProcessingMode ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScalerDescriptor::setColorProcessingMode( SpatialScalerColorProcessingMode mode ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setColorProcessingMode_ ), mode ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTLFX::SpatialScaler* MTLFX::SpatialScalerDescriptor::newSpatialScaler( const MTL::Device* pDevice ) | |
{ | |
return Object::sendMessage< SpatialScaler* >( this, _MTLFX_PRIVATE_SEL( newSpatialScalerWithDevice_ ), pDevice ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE bool MTLFX::SpatialScalerDescriptor::supportsDevice( const MTL::Device* pDevice ) | |
{ | |
return Object::sendMessageSafe< bool >( _NS_PRIVATE_CLS( MTLFXSpatialScalerDescriptor ), _MTLFX_PRIVATE_SEL( supportsDevice_ ), pDevice ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTL::TextureUsage MTLFX::SpatialScaler::colorTextureUsage() const | |
{ | |
return Object::sendMessage< MTL::TextureUsage >( this, _MTLFX_PRIVATE_SEL( colorTextureUsage ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTL::TextureUsage MTLFX::SpatialScaler::outputTextureUsage() const | |
{ | |
return Object::sendMessage< MTL::TextureUsage >( this, _MTLFX_PRIVATE_SEL( outputTextureUsage ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScaler::inputContentWidth() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( inputContentWidth ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScaler::setInputContentWidth( NS::UInteger width ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setInputContentWidth_ ), width ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScaler::inputContentHeight() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( inputContentHeight ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScaler::setInputContentHeight( NS::UInteger height ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setInputContentHeight_ ), height ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTL::Texture* MTLFX::SpatialScaler::colorTexture() const | |
{ | |
return Object::sendMessage< MTL::Texture* >( this, _MTLFX_PRIVATE_SEL( colorTexture ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScaler::setColorTexture( MTL::Texture* pTexture ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setColorTexture_ ), pTexture ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTL::Texture* MTLFX::SpatialScaler::outputTexture() const | |
{ | |
return Object::sendMessage< MTL::Texture* >( this, _MTLFX_PRIVATE_SEL( outputTexture ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScaler::setOutputTexture( MTL::Texture* pTexture ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setOutputTexture_ ), pTexture ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTL::PixelFormat MTLFX::SpatialScaler::colorTextureFormat() const | |
{ | |
return Object::sendMessage< MTL::PixelFormat >( this, _MTLFX_PRIVATE_SEL( colorTextureFormat ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTL::PixelFormat MTLFX::SpatialScaler::outputTextureFormat() const | |
{ | |
return Object::sendMessage< MTL::PixelFormat >( this, _MTLFX_PRIVATE_SEL( outputTextureFormat ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScaler::inputWidth() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( inputWidth ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScaler::inputHeight() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( inputHeight ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScaler::outputWidth() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( outputWidth ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE NS::UInteger MTLFX::SpatialScaler::outputHeight() const | |
{ | |
return Object::sendMessage< NS::UInteger >( this, _MTLFX_PRIVATE_SEL( outputHeight ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTLFX::SpatialScalerColorProcessingMode MTLFX::SpatialScaler::colorProcessingMode() const | |
{ | |
return Object::sendMessage< SpatialScalerColorProcessingMode >( this, _MTLFX_PRIVATE_SEL( colorProcessingMode ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE MTL::Fence* MTLFX::SpatialScaler::fence() const | |
{ | |
return Object::sendMessage< MTL::Fence* >( this, _MTLFX_PRIVATE_SEL( fence ) ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScaler::setFence( MTL::Fence* pFence ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( setFence_ ), pFence ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
_MTLFX_INLINE void MTLFX::SpatialScaler::encodeToCommandBuffer( MTL::CommandBuffer* pCommandBuffer ) | |
{ | |
Object::sendMessage< void >( this, _MTL_PRIVATE_SEL( encodeToCommandBuffer_ ), pCommandBuffer ); | |
} | |
//------------------------------------------------------------------------------------------------------------------------------------------------------------- | |