| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- /******************************************************************************
 
-  Copyright (C) 2024 by Patrick Heyer <[email protected]>
 
-  This program is free software: you can redistribute it and/or modify
 
-  it under the terms of the GNU General Public License as published by
 
-  the Free Software Foundation, either version 2 of the License, or
 
-  (at your option) any later version.
 
-  This program is distributed in the hope that it will be useful,
 
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
-  GNU General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
 
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-  ******************************************************************************/
 
- import CoreVideo
 
- import Metal
 
- extension OSType {
 
-     /// Conversion of CoreVideo pixel formats into corresponding Metal pixel formats
 
-     var mtlFormat: MTLPixelFormat? {
 
-         switch self {
 
-         case kCVPixelFormatType_OneComponent8:
 
-             return .r8Unorm
 
-         case kCVPixelFormatType_OneComponent16Half:
 
-             return .r16Float
 
-         case kCVPixelFormatType_OneComponent32Float:
 
-             return .r32Float
 
-         case kCVPixelFormatType_TwoComponent8:
 
-             return .rg8Unorm
 
-         case kCVPixelFormatType_TwoComponent16Half:
 
-             return .rg16Float
 
-         case kCVPixelFormatType_TwoComponent32Float:
 
-             return .rg32Float
 
-         case kCVPixelFormatType_32BGRA:
 
-             return .bgra8Unorm
 
-         case kCVPixelFormatType_32RGBA:
 
-             return .rgba8Unorm
 
-         case kCVPixelFormatType_64RGBAHalf:
 
-             return .rgba16Float
 
-         case kCVPixelFormatType_128RGBAFloat:
 
-             return .rgba32Float
 
-         case kCVPixelFormatType_ARGB2101010LEPacked:
 
-             return .bgr10a2Unorm
 
-         default:
 
-             return nil
 
-         }
 
-     }
 
- }
 
 
  |