1*8975f5c5SAndroid Build Coastguard Worker // 2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2013 The ANGLE Project Authors. All rights reserved. 3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker // 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Worker // loadimage.h: Defines image loading functions 8*8975f5c5SAndroid Build Coastguard Worker 9*8975f5c5SAndroid Build Coastguard Worker #ifndef IMAGEUTIL_LOADIMAGE_H_ 10*8975f5c5SAndroid Build Coastguard Worker #define IMAGEUTIL_LOADIMAGE_H_ 11*8975f5c5SAndroid Build Coastguard Worker 12*8975f5c5SAndroid Build Coastguard Worker #include <stddef.h> 13*8975f5c5SAndroid Build Coastguard Worker #include <stdint.h> 14*8975f5c5SAndroid Build Coastguard Worker #include <memory> 15*8975f5c5SAndroid Build Coastguard Worker 16*8975f5c5SAndroid Build Coastguard Worker namespace angle 17*8975f5c5SAndroid Build Coastguard Worker { 18*8975f5c5SAndroid Build Coastguard Worker class WorkerThreadPool; 19*8975f5c5SAndroid Build Coastguard Worker struct ImageLoadContext 20*8975f5c5SAndroid Build Coastguard Worker { 21*8975f5c5SAndroid Build Coastguard Worker // Satisfy chromium-style 22*8975f5c5SAndroid Build Coastguard Worker ImageLoadContext(); 23*8975f5c5SAndroid Build Coastguard Worker ~ImageLoadContext(); 24*8975f5c5SAndroid Build Coastguard Worker ImageLoadContext(const ImageLoadContext &other); 25*8975f5c5SAndroid Build Coastguard Worker 26*8975f5c5SAndroid Build Coastguard Worker // Passed to Load* functions as the context 27*8975f5c5SAndroid Build Coastguard Worker std::shared_ptr<WorkerThreadPool> singleThreadPool; 28*8975f5c5SAndroid Build Coastguard Worker std::shared_ptr<WorkerThreadPool> multiThreadPool; 29*8975f5c5SAndroid Build Coastguard Worker }; 30*8975f5c5SAndroid Build Coastguard Worker 31*8975f5c5SAndroid Build Coastguard Worker void LoadA8ToRGBA8(const ImageLoadContext &context, 32*8975f5c5SAndroid Build Coastguard Worker size_t width, 33*8975f5c5SAndroid Build Coastguard Worker size_t height, 34*8975f5c5SAndroid Build Coastguard Worker size_t depth, 35*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 36*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 37*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 38*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 39*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 40*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 41*8975f5c5SAndroid Build Coastguard Worker 42*8975f5c5SAndroid Build Coastguard Worker void LoadA8ToBGRA8(const ImageLoadContext &context, 43*8975f5c5SAndroid Build Coastguard Worker size_t width, 44*8975f5c5SAndroid Build Coastguard Worker size_t height, 45*8975f5c5SAndroid Build Coastguard Worker size_t depth, 46*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 47*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 48*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 49*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 50*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 51*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 52*8975f5c5SAndroid Build Coastguard Worker 53*8975f5c5SAndroid Build Coastguard Worker void LoadA32FToRGBA32F(const ImageLoadContext &context, 54*8975f5c5SAndroid Build Coastguard Worker size_t width, 55*8975f5c5SAndroid Build Coastguard Worker size_t height, 56*8975f5c5SAndroid Build Coastguard Worker size_t depth, 57*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 58*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 59*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 60*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 61*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 62*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 63*8975f5c5SAndroid Build Coastguard Worker 64*8975f5c5SAndroid Build Coastguard Worker void LoadA16FToRGBA16F(const ImageLoadContext &context, 65*8975f5c5SAndroid Build Coastguard Worker size_t width, 66*8975f5c5SAndroid Build Coastguard Worker size_t height, 67*8975f5c5SAndroid Build Coastguard Worker size_t depth, 68*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 69*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 70*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 71*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 72*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 73*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 74*8975f5c5SAndroid Build Coastguard Worker 75*8975f5c5SAndroid Build Coastguard Worker void LoadL8ToRGBA8(const ImageLoadContext &context, 76*8975f5c5SAndroid Build Coastguard Worker size_t width, 77*8975f5c5SAndroid Build Coastguard Worker size_t height, 78*8975f5c5SAndroid Build Coastguard Worker size_t depth, 79*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 80*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 81*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 82*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 83*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 84*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 85*8975f5c5SAndroid Build Coastguard Worker 86*8975f5c5SAndroid Build Coastguard Worker void LoadL8ToBGRA8(const ImageLoadContext &context, 87*8975f5c5SAndroid Build Coastguard Worker size_t width, 88*8975f5c5SAndroid Build Coastguard Worker size_t height, 89*8975f5c5SAndroid Build Coastguard Worker size_t depth, 90*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 91*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 92*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 93*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 94*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 95*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 96*8975f5c5SAndroid Build Coastguard Worker 97*8975f5c5SAndroid Build Coastguard Worker void LoadL32FToRGBA32F(const ImageLoadContext &context, 98*8975f5c5SAndroid Build Coastguard Worker size_t width, 99*8975f5c5SAndroid Build Coastguard Worker size_t height, 100*8975f5c5SAndroid Build Coastguard Worker size_t depth, 101*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 102*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 103*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 104*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 105*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 106*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 107*8975f5c5SAndroid Build Coastguard Worker 108*8975f5c5SAndroid Build Coastguard Worker void LoadL16FToRGBA16F(const ImageLoadContext &context, 109*8975f5c5SAndroid Build Coastguard Worker size_t width, 110*8975f5c5SAndroid Build Coastguard Worker size_t height, 111*8975f5c5SAndroid Build Coastguard Worker size_t depth, 112*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 113*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 114*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 115*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 116*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 117*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 118*8975f5c5SAndroid Build Coastguard Worker 119*8975f5c5SAndroid Build Coastguard Worker void LoadLA8ToRGBA4(const ImageLoadContext &context, 120*8975f5c5SAndroid Build Coastguard Worker size_t width, 121*8975f5c5SAndroid Build Coastguard Worker size_t height, 122*8975f5c5SAndroid Build Coastguard Worker size_t depth, 123*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 124*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 125*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 126*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 127*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 128*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 129*8975f5c5SAndroid Build Coastguard Worker 130*8975f5c5SAndroid Build Coastguard Worker void LoadLA8ToRGBA8(const ImageLoadContext &context, 131*8975f5c5SAndroid Build Coastguard Worker size_t width, 132*8975f5c5SAndroid Build Coastguard Worker size_t height, 133*8975f5c5SAndroid Build Coastguard Worker size_t depth, 134*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 135*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 136*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 137*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 138*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 139*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 140*8975f5c5SAndroid Build Coastguard Worker 141*8975f5c5SAndroid Build Coastguard Worker void LoadLA8ToBGRA8(const ImageLoadContext &context, 142*8975f5c5SAndroid Build Coastguard Worker size_t width, 143*8975f5c5SAndroid Build Coastguard Worker size_t height, 144*8975f5c5SAndroid Build Coastguard Worker size_t depth, 145*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 146*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 147*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 148*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 149*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 150*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 151*8975f5c5SAndroid Build Coastguard Worker 152*8975f5c5SAndroid Build Coastguard Worker void LoadLA32FToRGBA32F(const ImageLoadContext &context, 153*8975f5c5SAndroid Build Coastguard Worker size_t width, 154*8975f5c5SAndroid Build Coastguard Worker size_t height, 155*8975f5c5SAndroid Build Coastguard Worker size_t depth, 156*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 157*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 158*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 159*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 160*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 161*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 162*8975f5c5SAndroid Build Coastguard Worker 163*8975f5c5SAndroid Build Coastguard Worker void LoadLA16FToRGBA16F(const ImageLoadContext &context, 164*8975f5c5SAndroid Build Coastguard Worker size_t width, 165*8975f5c5SAndroid Build Coastguard Worker size_t height, 166*8975f5c5SAndroid Build Coastguard Worker size_t depth, 167*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 168*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 169*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 170*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 171*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 172*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 173*8975f5c5SAndroid Build Coastguard Worker 174*8975f5c5SAndroid Build Coastguard Worker void LoadRGB8ToBGR565(const ImageLoadContext &context, 175*8975f5c5SAndroid Build Coastguard Worker size_t width, 176*8975f5c5SAndroid Build Coastguard Worker size_t height, 177*8975f5c5SAndroid Build Coastguard Worker size_t depth, 178*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 179*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 180*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 181*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 182*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 183*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 184*8975f5c5SAndroid Build Coastguard Worker 185*8975f5c5SAndroid Build Coastguard Worker void LoadRGB565ToBGR565(const ImageLoadContext &context, 186*8975f5c5SAndroid Build Coastguard Worker size_t width, 187*8975f5c5SAndroid Build Coastguard Worker size_t height, 188*8975f5c5SAndroid Build Coastguard Worker size_t depth, 189*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 190*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 191*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 192*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 193*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 194*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 195*8975f5c5SAndroid Build Coastguard Worker 196*8975f5c5SAndroid Build Coastguard Worker void LoadRGB8ToBGRX8(const ImageLoadContext &context, 197*8975f5c5SAndroid Build Coastguard Worker size_t width, 198*8975f5c5SAndroid Build Coastguard Worker size_t height, 199*8975f5c5SAndroid Build Coastguard Worker size_t depth, 200*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 201*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 202*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 203*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 204*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 205*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 206*8975f5c5SAndroid Build Coastguard Worker 207*8975f5c5SAndroid Build Coastguard Worker void LoadRG8ToBGRX8(const ImageLoadContext &context, 208*8975f5c5SAndroid Build Coastguard Worker size_t width, 209*8975f5c5SAndroid Build Coastguard Worker size_t height, 210*8975f5c5SAndroid Build Coastguard Worker size_t depth, 211*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 212*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 213*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 214*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 215*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 216*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 217*8975f5c5SAndroid Build Coastguard Worker 218*8975f5c5SAndroid Build Coastguard Worker void LoadR8ToBGRX8(const ImageLoadContext &context, 219*8975f5c5SAndroid Build Coastguard Worker size_t width, 220*8975f5c5SAndroid Build Coastguard Worker size_t height, 221*8975f5c5SAndroid Build Coastguard Worker size_t depth, 222*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 223*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 224*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 225*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 226*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 227*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 228*8975f5c5SAndroid Build Coastguard Worker 229*8975f5c5SAndroid Build Coastguard Worker void LoadR5G6B5ToBGRA8(const ImageLoadContext &context, 230*8975f5c5SAndroid Build Coastguard Worker size_t width, 231*8975f5c5SAndroid Build Coastguard Worker size_t height, 232*8975f5c5SAndroid Build Coastguard Worker size_t depth, 233*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 234*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 235*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 236*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 237*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 238*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 239*8975f5c5SAndroid Build Coastguard Worker 240*8975f5c5SAndroid Build Coastguard Worker void LoadR5G6B5ToRGBA8(const ImageLoadContext &context, 241*8975f5c5SAndroid Build Coastguard Worker size_t width, 242*8975f5c5SAndroid Build Coastguard Worker size_t height, 243*8975f5c5SAndroid Build Coastguard Worker size_t depth, 244*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 245*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 246*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 247*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 248*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 249*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 250*8975f5c5SAndroid Build Coastguard Worker 251*8975f5c5SAndroid Build Coastguard Worker void LoadRGBA8ToBGRA8(const ImageLoadContext &context, 252*8975f5c5SAndroid Build Coastguard Worker size_t width, 253*8975f5c5SAndroid Build Coastguard Worker size_t height, 254*8975f5c5SAndroid Build Coastguard Worker size_t depth, 255*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 256*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 257*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 258*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 259*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 260*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 261*8975f5c5SAndroid Build Coastguard Worker 262*8975f5c5SAndroid Build Coastguard Worker void LoadRGBA8ToBGRA4(const ImageLoadContext &context, 263*8975f5c5SAndroid Build Coastguard Worker size_t width, 264*8975f5c5SAndroid Build Coastguard Worker size_t height, 265*8975f5c5SAndroid Build Coastguard Worker size_t depth, 266*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 267*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 268*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 269*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 270*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 271*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 272*8975f5c5SAndroid Build Coastguard Worker 273*8975f5c5SAndroid Build Coastguard Worker void LoadRGBA8ToRGBA4(const ImageLoadContext &context, 274*8975f5c5SAndroid Build Coastguard Worker size_t width, 275*8975f5c5SAndroid Build Coastguard Worker size_t height, 276*8975f5c5SAndroid Build Coastguard Worker size_t depth, 277*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 278*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 279*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 280*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 281*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 282*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 283*8975f5c5SAndroid Build Coastguard Worker 284*8975f5c5SAndroid Build Coastguard Worker void LoadRGBA4ToARGB4(const ImageLoadContext &context, 285*8975f5c5SAndroid Build Coastguard Worker size_t width, 286*8975f5c5SAndroid Build Coastguard Worker size_t height, 287*8975f5c5SAndroid Build Coastguard Worker size_t depth, 288*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 289*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 290*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 291*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 292*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 293*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 294*8975f5c5SAndroid Build Coastguard Worker 295*8975f5c5SAndroid Build Coastguard Worker void LoadRGBA4ToRGBA4(const ImageLoadContext &context, 296*8975f5c5SAndroid Build Coastguard Worker size_t width, 297*8975f5c5SAndroid Build Coastguard Worker size_t height, 298*8975f5c5SAndroid Build Coastguard Worker size_t depth, 299*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 300*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 301*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 302*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 303*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 304*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 305*8975f5c5SAndroid Build Coastguard Worker 306*8975f5c5SAndroid Build Coastguard Worker void LoadRGBA4ToBGRA8(const ImageLoadContext &context, 307*8975f5c5SAndroid Build Coastguard Worker size_t width, 308*8975f5c5SAndroid Build Coastguard Worker size_t height, 309*8975f5c5SAndroid Build Coastguard Worker size_t depth, 310*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 311*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 312*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 313*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 314*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 315*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 316*8975f5c5SAndroid Build Coastguard Worker 317*8975f5c5SAndroid Build Coastguard Worker void LoadRGBA4ToRGBA8(const ImageLoadContext &context, 318*8975f5c5SAndroid Build Coastguard Worker size_t width, 319*8975f5c5SAndroid Build Coastguard Worker size_t height, 320*8975f5c5SAndroid Build Coastguard Worker size_t depth, 321*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 322*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 323*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 324*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 325*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 326*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 327*8975f5c5SAndroid Build Coastguard Worker 328*8975f5c5SAndroid Build Coastguard Worker void LoadBGRA4ToBGRA8(const ImageLoadContext &context, 329*8975f5c5SAndroid Build Coastguard Worker size_t width, 330*8975f5c5SAndroid Build Coastguard Worker size_t height, 331*8975f5c5SAndroid Build Coastguard Worker size_t depth, 332*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 333*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 334*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 335*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 336*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 337*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 338*8975f5c5SAndroid Build Coastguard Worker 339*8975f5c5SAndroid Build Coastguard Worker void LoadRGBA8ToBGR5A1(const ImageLoadContext &context, 340*8975f5c5SAndroid Build Coastguard Worker size_t width, 341*8975f5c5SAndroid Build Coastguard Worker size_t height, 342*8975f5c5SAndroid Build Coastguard Worker size_t depth, 343*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 344*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 345*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 346*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 347*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 348*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 349*8975f5c5SAndroid Build Coastguard Worker 350*8975f5c5SAndroid Build Coastguard Worker void LoadRGBA8ToRGB5A1(const ImageLoadContext &context, 351*8975f5c5SAndroid Build Coastguard Worker size_t width, 352*8975f5c5SAndroid Build Coastguard Worker size_t height, 353*8975f5c5SAndroid Build Coastguard Worker size_t depth, 354*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 355*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 356*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 357*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 358*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 359*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 360*8975f5c5SAndroid Build Coastguard Worker 361*8975f5c5SAndroid Build Coastguard Worker void LoadRGB10A2ToBGR5A1(const ImageLoadContext &context, 362*8975f5c5SAndroid Build Coastguard Worker size_t width, 363*8975f5c5SAndroid Build Coastguard Worker size_t height, 364*8975f5c5SAndroid Build Coastguard Worker size_t depth, 365*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 366*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 367*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 368*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 369*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 370*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 371*8975f5c5SAndroid Build Coastguard Worker 372*8975f5c5SAndroid Build Coastguard Worker void LoadRGB10A2ToRGB5A1(const ImageLoadContext &context, 373*8975f5c5SAndroid Build Coastguard Worker size_t width, 374*8975f5c5SAndroid Build Coastguard Worker size_t height, 375*8975f5c5SAndroid Build Coastguard Worker size_t depth, 376*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 377*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 378*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 379*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 380*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 381*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 382*8975f5c5SAndroid Build Coastguard Worker 383*8975f5c5SAndroid Build Coastguard Worker void LoadRGB10A2ToRGB565(const ImageLoadContext &context, 384*8975f5c5SAndroid Build Coastguard Worker size_t width, 385*8975f5c5SAndroid Build Coastguard Worker size_t height, 386*8975f5c5SAndroid Build Coastguard Worker size_t depth, 387*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 388*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 389*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 390*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 391*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 392*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 393*8975f5c5SAndroid Build Coastguard Worker 394*8975f5c5SAndroid Build Coastguard Worker void LoadRGB5A1ToRGB5A1(const ImageLoadContext &context, 395*8975f5c5SAndroid Build Coastguard Worker size_t width, 396*8975f5c5SAndroid Build Coastguard Worker size_t height, 397*8975f5c5SAndroid Build Coastguard Worker size_t depth, 398*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 399*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 400*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 401*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 402*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 403*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 404*8975f5c5SAndroid Build Coastguard Worker 405*8975f5c5SAndroid Build Coastguard Worker void LoadRGB5A1ToBGR5A1(const ImageLoadContext &context, 406*8975f5c5SAndroid Build Coastguard Worker size_t width, 407*8975f5c5SAndroid Build Coastguard Worker size_t height, 408*8975f5c5SAndroid Build Coastguard Worker size_t depth, 409*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 410*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 411*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 412*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 413*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 414*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 415*8975f5c5SAndroid Build Coastguard Worker 416*8975f5c5SAndroid Build Coastguard Worker void LoadRGB5A1ToA1RGB5(const ImageLoadContext &context, 417*8975f5c5SAndroid Build Coastguard Worker size_t width, 418*8975f5c5SAndroid Build Coastguard Worker size_t height, 419*8975f5c5SAndroid Build Coastguard Worker size_t depth, 420*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 421*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 422*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 423*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 424*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 425*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 426*8975f5c5SAndroid Build Coastguard Worker 427*8975f5c5SAndroid Build Coastguard Worker void LoadRGB5A1ToBGRA8(const ImageLoadContext &context, 428*8975f5c5SAndroid Build Coastguard Worker size_t width, 429*8975f5c5SAndroid Build Coastguard Worker size_t height, 430*8975f5c5SAndroid Build Coastguard Worker size_t depth, 431*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 432*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 433*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 434*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 435*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 436*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 437*8975f5c5SAndroid Build Coastguard Worker 438*8975f5c5SAndroid Build Coastguard Worker void LoadRGB5A1ToRGBA8(const ImageLoadContext &context, 439*8975f5c5SAndroid Build Coastguard Worker size_t width, 440*8975f5c5SAndroid Build Coastguard Worker size_t height, 441*8975f5c5SAndroid Build Coastguard Worker size_t depth, 442*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 443*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 444*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 445*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 446*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 447*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 448*8975f5c5SAndroid Build Coastguard Worker 449*8975f5c5SAndroid Build Coastguard Worker void LoadBGR5A1ToBGRA8(const ImageLoadContext &context, 450*8975f5c5SAndroid Build Coastguard Worker size_t width, 451*8975f5c5SAndroid Build Coastguard Worker size_t height, 452*8975f5c5SAndroid Build Coastguard Worker size_t depth, 453*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 454*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 455*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 456*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 457*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 458*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 459*8975f5c5SAndroid Build Coastguard Worker void LoadRGB10A2ToRGB8(const ImageLoadContext &context, 460*8975f5c5SAndroid Build Coastguard Worker size_t width, 461*8975f5c5SAndroid Build Coastguard Worker size_t height, 462*8975f5c5SAndroid Build Coastguard Worker size_t depth, 463*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 464*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 465*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 466*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 467*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 468*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 469*8975f5c5SAndroid Build Coastguard Worker 470*8975f5c5SAndroid Build Coastguard Worker void LoadRGB10A2ToRGBA8(const ImageLoadContext &context, 471*8975f5c5SAndroid Build Coastguard Worker size_t width, 472*8975f5c5SAndroid Build Coastguard Worker size_t height, 473*8975f5c5SAndroid Build Coastguard Worker size_t depth, 474*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 475*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 476*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 477*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 478*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 479*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 480*8975f5c5SAndroid Build Coastguard Worker 481*8975f5c5SAndroid Build Coastguard Worker void LoadRGB10A2ToRGB10X2(const ImageLoadContext &context, 482*8975f5c5SAndroid Build Coastguard Worker size_t width, 483*8975f5c5SAndroid Build Coastguard Worker size_t height, 484*8975f5c5SAndroid Build Coastguard Worker size_t depth, 485*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 486*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 487*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 488*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 489*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 490*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 491*8975f5c5SAndroid Build Coastguard Worker 492*8975f5c5SAndroid Build Coastguard Worker void LoadBGR10A2ToRGB10A2(const ImageLoadContext &context, 493*8975f5c5SAndroid Build Coastguard Worker size_t width, 494*8975f5c5SAndroid Build Coastguard Worker size_t height, 495*8975f5c5SAndroid Build Coastguard Worker size_t depth, 496*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 497*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 498*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 499*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 500*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 501*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 502*8975f5c5SAndroid Build Coastguard Worker 503*8975f5c5SAndroid Build Coastguard Worker void LoadRGB16FToRGB9E5(const ImageLoadContext &context, 504*8975f5c5SAndroid Build Coastguard Worker size_t width, 505*8975f5c5SAndroid Build Coastguard Worker size_t height, 506*8975f5c5SAndroid Build Coastguard Worker size_t depth, 507*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 508*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 509*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 510*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 511*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 512*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 513*8975f5c5SAndroid Build Coastguard Worker 514*8975f5c5SAndroid Build Coastguard Worker void LoadRGB32FToRGB9E5(const ImageLoadContext &context, 515*8975f5c5SAndroid Build Coastguard Worker size_t width, 516*8975f5c5SAndroid Build Coastguard Worker size_t height, 517*8975f5c5SAndroid Build Coastguard Worker size_t depth, 518*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 519*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 520*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 521*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 522*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 523*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 524*8975f5c5SAndroid Build Coastguard Worker 525*8975f5c5SAndroid Build Coastguard Worker void LoadRGB16FToRG11B10F(const ImageLoadContext &context, 526*8975f5c5SAndroid Build Coastguard Worker size_t width, 527*8975f5c5SAndroid Build Coastguard Worker size_t height, 528*8975f5c5SAndroid Build Coastguard Worker size_t depth, 529*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 530*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 531*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 532*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 533*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 534*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 535*8975f5c5SAndroid Build Coastguard Worker 536*8975f5c5SAndroid Build Coastguard Worker void LoadRGB32FToRG11B10F(const ImageLoadContext &context, 537*8975f5c5SAndroid Build Coastguard Worker size_t width, 538*8975f5c5SAndroid Build Coastguard Worker size_t height, 539*8975f5c5SAndroid Build Coastguard Worker size_t depth, 540*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 541*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 542*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 543*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 544*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 545*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 546*8975f5c5SAndroid Build Coastguard Worker 547*8975f5c5SAndroid Build Coastguard Worker void LoadD24S8ToS8D24(const ImageLoadContext &context, 548*8975f5c5SAndroid Build Coastguard Worker size_t width, 549*8975f5c5SAndroid Build Coastguard Worker size_t height, 550*8975f5c5SAndroid Build Coastguard Worker size_t depth, 551*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 552*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 553*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 554*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 555*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 556*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 557*8975f5c5SAndroid Build Coastguard Worker 558*8975f5c5SAndroid Build Coastguard Worker void LoadD24S8ToD32FS8X24(const ImageLoadContext &context, 559*8975f5c5SAndroid Build Coastguard Worker size_t width, 560*8975f5c5SAndroid Build Coastguard Worker size_t height, 561*8975f5c5SAndroid Build Coastguard Worker size_t depth, 562*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 563*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 564*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 565*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 566*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 567*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 568*8975f5c5SAndroid Build Coastguard Worker 569*8975f5c5SAndroid Build Coastguard Worker void LoadD24S8ToD32F(const ImageLoadContext &context, 570*8975f5c5SAndroid Build Coastguard Worker size_t width, 571*8975f5c5SAndroid Build Coastguard Worker size_t height, 572*8975f5c5SAndroid Build Coastguard Worker size_t depth, 573*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 574*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 575*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 576*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 577*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 578*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 579*8975f5c5SAndroid Build Coastguard Worker 580*8975f5c5SAndroid Build Coastguard Worker void LoadD32ToD32FX32(const ImageLoadContext &context, 581*8975f5c5SAndroid Build Coastguard Worker size_t width, 582*8975f5c5SAndroid Build Coastguard Worker size_t height, 583*8975f5c5SAndroid Build Coastguard Worker size_t depth, 584*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 585*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 586*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 587*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 588*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 589*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 590*8975f5c5SAndroid Build Coastguard Worker 591*8975f5c5SAndroid Build Coastguard Worker void LoadD32ToD32F(const ImageLoadContext &context, 592*8975f5c5SAndroid Build Coastguard Worker size_t width, 593*8975f5c5SAndroid Build Coastguard Worker size_t height, 594*8975f5c5SAndroid Build Coastguard Worker size_t depth, 595*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 596*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 597*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 598*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 599*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 600*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 601*8975f5c5SAndroid Build Coastguard Worker 602*8975f5c5SAndroid Build Coastguard Worker void LoadD32FToD32F(const ImageLoadContext &context, 603*8975f5c5SAndroid Build Coastguard Worker size_t width, 604*8975f5c5SAndroid Build Coastguard Worker size_t height, 605*8975f5c5SAndroid Build Coastguard Worker size_t depth, 606*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 607*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 608*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 609*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 610*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 611*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 612*8975f5c5SAndroid Build Coastguard Worker 613*8975f5c5SAndroid Build Coastguard Worker void LoadD32FS8X24ToS8D24(const ImageLoadContext &context, 614*8975f5c5SAndroid Build Coastguard Worker size_t width, 615*8975f5c5SAndroid Build Coastguard Worker size_t height, 616*8975f5c5SAndroid Build Coastguard Worker size_t depth, 617*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 618*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 619*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 620*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 621*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 622*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 623*8975f5c5SAndroid Build Coastguard Worker 624*8975f5c5SAndroid Build Coastguard Worker void LoadX24S8ToS8(const ImageLoadContext &context, 625*8975f5c5SAndroid Build Coastguard Worker size_t width, 626*8975f5c5SAndroid Build Coastguard Worker size_t height, 627*8975f5c5SAndroid Build Coastguard Worker size_t depth, 628*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 629*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 630*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 631*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 632*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 633*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 634*8975f5c5SAndroid Build Coastguard Worker 635*8975f5c5SAndroid Build Coastguard Worker void LoadX32S8ToS8(const ImageLoadContext &context, 636*8975f5c5SAndroid Build Coastguard Worker size_t width, 637*8975f5c5SAndroid Build Coastguard Worker size_t height, 638*8975f5c5SAndroid Build Coastguard Worker size_t depth, 639*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 640*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 641*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 642*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 643*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 644*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 645*8975f5c5SAndroid Build Coastguard Worker 646*8975f5c5SAndroid Build Coastguard Worker void LoadD32FS8X24ToD32F(const ImageLoadContext &context, 647*8975f5c5SAndroid Build Coastguard Worker size_t width, 648*8975f5c5SAndroid Build Coastguard Worker size_t height, 649*8975f5c5SAndroid Build Coastguard Worker size_t depth, 650*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 651*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 652*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 653*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 654*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 655*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 656*8975f5c5SAndroid Build Coastguard Worker 657*8975f5c5SAndroid Build Coastguard Worker void LoadD32FS8X24ToD32FS8X24(const ImageLoadContext &context, 658*8975f5c5SAndroid Build Coastguard Worker size_t width, 659*8975f5c5SAndroid Build Coastguard Worker size_t height, 660*8975f5c5SAndroid Build Coastguard Worker size_t depth, 661*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 662*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 663*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 664*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 665*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 666*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 667*8975f5c5SAndroid Build Coastguard Worker 668*8975f5c5SAndroid Build Coastguard Worker template <typename type, size_t componentCount> 669*8975f5c5SAndroid Build Coastguard Worker inline void LoadToNative(const ImageLoadContext &context, 670*8975f5c5SAndroid Build Coastguard Worker size_t width, 671*8975f5c5SAndroid Build Coastguard Worker size_t height, 672*8975f5c5SAndroid Build Coastguard Worker size_t depth, 673*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 674*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 675*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 676*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 677*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 678*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 679*8975f5c5SAndroid Build Coastguard Worker 680*8975f5c5SAndroid Build Coastguard Worker template <typename type, uint32_t fourthComponentBits> 681*8975f5c5SAndroid Build Coastguard Worker inline void LoadToNative3To4(const ImageLoadContext &context, 682*8975f5c5SAndroid Build Coastguard Worker size_t width, 683*8975f5c5SAndroid Build Coastguard Worker size_t height, 684*8975f5c5SAndroid Build Coastguard Worker size_t depth, 685*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 686*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 687*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 688*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 689*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 690*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 691*8975f5c5SAndroid Build Coastguard Worker 692*8975f5c5SAndroid Build Coastguard Worker template <size_t componentCount> 693*8975f5c5SAndroid Build Coastguard Worker inline void Load32FTo16F(const ImageLoadContext &context, 694*8975f5c5SAndroid Build Coastguard Worker size_t width, 695*8975f5c5SAndroid Build Coastguard Worker size_t height, 696*8975f5c5SAndroid Build Coastguard Worker size_t depth, 697*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 698*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 699*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 700*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 701*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 702*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 703*8975f5c5SAndroid Build Coastguard Worker 704*8975f5c5SAndroid Build Coastguard Worker void LoadD16ToD32F(const ImageLoadContext &context, 705*8975f5c5SAndroid Build Coastguard Worker size_t width, 706*8975f5c5SAndroid Build Coastguard Worker size_t height, 707*8975f5c5SAndroid Build Coastguard Worker size_t depth, 708*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 709*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 710*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 711*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 712*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 713*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 714*8975f5c5SAndroid Build Coastguard Worker 715*8975f5c5SAndroid Build Coastguard Worker void LoadS8ToS8X24(const ImageLoadContext &context, 716*8975f5c5SAndroid Build Coastguard Worker size_t width, 717*8975f5c5SAndroid Build Coastguard Worker size_t height, 718*8975f5c5SAndroid Build Coastguard Worker size_t depth, 719*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 720*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 721*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 722*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 723*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 724*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 725*8975f5c5SAndroid Build Coastguard Worker 726*8975f5c5SAndroid Build Coastguard Worker void LoadRGB32FToRGBA16F(const ImageLoadContext &context, 727*8975f5c5SAndroid Build Coastguard Worker size_t width, 728*8975f5c5SAndroid Build Coastguard Worker size_t height, 729*8975f5c5SAndroid Build Coastguard Worker size_t depth, 730*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 731*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 732*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 733*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 734*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 735*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 736*8975f5c5SAndroid Build Coastguard Worker 737*8975f5c5SAndroid Build Coastguard Worker void LoadRGB32FToRGB16F(const ImageLoadContext &context, 738*8975f5c5SAndroid Build Coastguard Worker size_t width, 739*8975f5c5SAndroid Build Coastguard Worker size_t height, 740*8975f5c5SAndroid Build Coastguard Worker size_t depth, 741*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 742*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 743*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 744*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 745*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 746*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 747*8975f5c5SAndroid Build Coastguard Worker 748*8975f5c5SAndroid Build Coastguard Worker template <size_t blockWidth, size_t blockHeight, size_t blockDepth, size_t blockSize> 749*8975f5c5SAndroid Build Coastguard Worker inline void LoadCompressedToNative(const ImageLoadContext &context, 750*8975f5c5SAndroid Build Coastguard Worker size_t width, 751*8975f5c5SAndroid Build Coastguard Worker size_t height, 752*8975f5c5SAndroid Build Coastguard Worker size_t depth, 753*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 754*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 755*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 756*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 757*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 758*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 759*8975f5c5SAndroid Build Coastguard Worker 760*8975f5c5SAndroid Build Coastguard Worker void LoadR32ToR16(const ImageLoadContext &context, 761*8975f5c5SAndroid Build Coastguard Worker size_t width, 762*8975f5c5SAndroid Build Coastguard Worker size_t height, 763*8975f5c5SAndroid Build Coastguard Worker size_t depth, 764*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 765*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 766*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 767*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 768*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 769*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 770*8975f5c5SAndroid Build Coastguard Worker 771*8975f5c5SAndroid Build Coastguard Worker template <typename type, 772*8975f5c5SAndroid Build Coastguard Worker uint32_t firstBits, 773*8975f5c5SAndroid Build Coastguard Worker uint32_t secondBits, 774*8975f5c5SAndroid Build Coastguard Worker uint32_t thirdBits, 775*8975f5c5SAndroid Build Coastguard Worker uint32_t fourthBits> 776*8975f5c5SAndroid Build Coastguard Worker inline void Initialize4ComponentData(const ImageLoadContext &context, 777*8975f5c5SAndroid Build Coastguard Worker size_t width, 778*8975f5c5SAndroid Build Coastguard Worker size_t height, 779*8975f5c5SAndroid Build Coastguard Worker size_t depth, 780*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 781*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 782*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 783*8975f5c5SAndroid Build Coastguard Worker 784*8975f5c5SAndroid Build Coastguard Worker void LoadD32ToX8D24(const ImageLoadContext &context, 785*8975f5c5SAndroid Build Coastguard Worker size_t width, 786*8975f5c5SAndroid Build Coastguard Worker size_t height, 787*8975f5c5SAndroid Build Coastguard Worker size_t depth, 788*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 789*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 790*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 791*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 792*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 793*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 794*8975f5c5SAndroid Build Coastguard Worker 795*8975f5c5SAndroid Build Coastguard Worker void LoadETC1RGB8ToRGBA8(const ImageLoadContext &context, 796*8975f5c5SAndroid Build Coastguard Worker size_t width, 797*8975f5c5SAndroid Build Coastguard Worker size_t height, 798*8975f5c5SAndroid Build Coastguard Worker size_t depth, 799*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 800*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 801*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 802*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 803*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 804*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 805*8975f5c5SAndroid Build Coastguard Worker 806*8975f5c5SAndroid Build Coastguard Worker void LoadASTCToRGBA8Inner(const ImageLoadContext &context, 807*8975f5c5SAndroid Build Coastguard Worker size_t width, 808*8975f5c5SAndroid Build Coastguard Worker size_t height, 809*8975f5c5SAndroid Build Coastguard Worker size_t depth, 810*8975f5c5SAndroid Build Coastguard Worker uint32_t blockWidth, 811*8975f5c5SAndroid Build Coastguard Worker uint32_t blockHeight, 812*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 813*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 814*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 815*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 816*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 817*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 818*8975f5c5SAndroid Build Coastguard Worker 819*8975f5c5SAndroid Build Coastguard Worker template <size_t blockWidth, size_t blockHeight> 820*8975f5c5SAndroid Build Coastguard Worker inline void LoadASTCToRGBA8(const ImageLoadContext &context, 821*8975f5c5SAndroid Build Coastguard Worker size_t width, 822*8975f5c5SAndroid Build Coastguard Worker size_t height, 823*8975f5c5SAndroid Build Coastguard Worker size_t depth, 824*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 825*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 826*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 827*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 828*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 829*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 830*8975f5c5SAndroid Build Coastguard Worker 831*8975f5c5SAndroid Build Coastguard Worker void LoadETC1RGB8ToBC1(const ImageLoadContext &context, 832*8975f5c5SAndroid Build Coastguard Worker size_t width, 833*8975f5c5SAndroid Build Coastguard Worker size_t height, 834*8975f5c5SAndroid Build Coastguard Worker size_t depth, 835*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 836*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 837*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 838*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 839*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 840*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 841*8975f5c5SAndroid Build Coastguard Worker 842*8975f5c5SAndroid Build Coastguard Worker void LoadEACR11ToR8(const ImageLoadContext &context, 843*8975f5c5SAndroid Build Coastguard Worker size_t width, 844*8975f5c5SAndroid Build Coastguard Worker size_t height, 845*8975f5c5SAndroid Build Coastguard Worker size_t depth, 846*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 847*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 848*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 849*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 850*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 851*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 852*8975f5c5SAndroid Build Coastguard Worker 853*8975f5c5SAndroid Build Coastguard Worker void LoadEACR11SToR8(const ImageLoadContext &context, 854*8975f5c5SAndroid Build Coastguard Worker size_t width, 855*8975f5c5SAndroid Build Coastguard Worker size_t height, 856*8975f5c5SAndroid Build Coastguard Worker size_t depth, 857*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 858*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 859*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 860*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 861*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 862*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 863*8975f5c5SAndroid Build Coastguard Worker 864*8975f5c5SAndroid Build Coastguard Worker void LoadEACRG11ToRG8(const ImageLoadContext &context, 865*8975f5c5SAndroid Build Coastguard Worker size_t width, 866*8975f5c5SAndroid Build Coastguard Worker size_t height, 867*8975f5c5SAndroid Build Coastguard Worker size_t depth, 868*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 869*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 870*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 871*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 872*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 873*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 874*8975f5c5SAndroid Build Coastguard Worker 875*8975f5c5SAndroid Build Coastguard Worker void LoadEACRG11SToRG8(const ImageLoadContext &context, 876*8975f5c5SAndroid Build Coastguard Worker size_t width, 877*8975f5c5SAndroid Build Coastguard Worker size_t height, 878*8975f5c5SAndroid Build Coastguard Worker size_t depth, 879*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 880*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 881*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 882*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 883*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 884*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 885*8975f5c5SAndroid Build Coastguard Worker 886*8975f5c5SAndroid Build Coastguard Worker void LoadEACR11ToR16(const ImageLoadContext &context, 887*8975f5c5SAndroid Build Coastguard Worker size_t width, 888*8975f5c5SAndroid Build Coastguard Worker size_t height, 889*8975f5c5SAndroid Build Coastguard Worker size_t depth, 890*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 891*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 892*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 893*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 894*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 895*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 896*8975f5c5SAndroid Build Coastguard Worker 897*8975f5c5SAndroid Build Coastguard Worker void LoadEACR11SToR16(const ImageLoadContext &context, 898*8975f5c5SAndroid Build Coastguard Worker size_t width, 899*8975f5c5SAndroid Build Coastguard Worker size_t height, 900*8975f5c5SAndroid Build Coastguard Worker size_t depth, 901*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 902*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 903*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 904*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 905*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 906*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 907*8975f5c5SAndroid Build Coastguard Worker 908*8975f5c5SAndroid Build Coastguard Worker void LoadEACRG11ToRG16(const ImageLoadContext &context, 909*8975f5c5SAndroid Build Coastguard Worker size_t width, 910*8975f5c5SAndroid Build Coastguard Worker size_t height, 911*8975f5c5SAndroid Build Coastguard Worker size_t depth, 912*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 913*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 914*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 915*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 916*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 917*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 918*8975f5c5SAndroid Build Coastguard Worker 919*8975f5c5SAndroid Build Coastguard Worker void LoadEACRG11SToRG16(const ImageLoadContext &context, 920*8975f5c5SAndroid Build Coastguard Worker size_t width, 921*8975f5c5SAndroid Build Coastguard Worker size_t height, 922*8975f5c5SAndroid Build Coastguard Worker size_t depth, 923*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 924*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 925*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 926*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 927*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 928*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 929*8975f5c5SAndroid Build Coastguard Worker 930*8975f5c5SAndroid Build Coastguard Worker void LoadEACR11ToR16F(const ImageLoadContext &context, 931*8975f5c5SAndroid Build Coastguard Worker size_t width, 932*8975f5c5SAndroid Build Coastguard Worker size_t height, 933*8975f5c5SAndroid Build Coastguard Worker size_t depth, 934*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 935*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 936*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 937*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 938*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 939*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 940*8975f5c5SAndroid Build Coastguard Worker 941*8975f5c5SAndroid Build Coastguard Worker void LoadEACR11SToR16F(const ImageLoadContext &context, 942*8975f5c5SAndroid Build Coastguard Worker size_t width, 943*8975f5c5SAndroid Build Coastguard Worker size_t height, 944*8975f5c5SAndroid Build Coastguard Worker size_t depth, 945*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 946*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 947*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 948*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 949*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 950*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 951*8975f5c5SAndroid Build Coastguard Worker 952*8975f5c5SAndroid Build Coastguard Worker void LoadEACRG11ToRG16F(const ImageLoadContext &context, 953*8975f5c5SAndroid Build Coastguard Worker size_t width, 954*8975f5c5SAndroid Build Coastguard Worker size_t height, 955*8975f5c5SAndroid Build Coastguard Worker size_t depth, 956*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 957*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 958*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 959*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 960*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 961*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 962*8975f5c5SAndroid Build Coastguard Worker 963*8975f5c5SAndroid Build Coastguard Worker void LoadEACRG11SToRG16F(const ImageLoadContext &context, 964*8975f5c5SAndroid Build Coastguard Worker size_t width, 965*8975f5c5SAndroid Build Coastguard Worker size_t height, 966*8975f5c5SAndroid Build Coastguard Worker size_t depth, 967*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 968*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 969*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 970*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 971*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 972*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 973*8975f5c5SAndroid Build Coastguard Worker 974*8975f5c5SAndroid Build Coastguard Worker void LoadETC2RGB8ToRGBA8(const ImageLoadContext &context, 975*8975f5c5SAndroid Build Coastguard Worker size_t width, 976*8975f5c5SAndroid Build Coastguard Worker size_t height, 977*8975f5c5SAndroid Build Coastguard Worker size_t depth, 978*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 979*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 980*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 981*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 982*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 983*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 984*8975f5c5SAndroid Build Coastguard Worker 985*8975f5c5SAndroid Build Coastguard Worker void LoadETC2RGB8ToBC1(const ImageLoadContext &context, 986*8975f5c5SAndroid Build Coastguard Worker size_t width, 987*8975f5c5SAndroid Build Coastguard Worker size_t height, 988*8975f5c5SAndroid Build Coastguard Worker size_t depth, 989*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 990*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 991*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 992*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 993*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 994*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 995*8975f5c5SAndroid Build Coastguard Worker 996*8975f5c5SAndroid Build Coastguard Worker void LoadETC2SRGB8ToRGBA8(const ImageLoadContext &context, 997*8975f5c5SAndroid Build Coastguard Worker size_t width, 998*8975f5c5SAndroid Build Coastguard Worker size_t height, 999*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1000*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1001*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1002*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1003*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1004*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1005*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1006*8975f5c5SAndroid Build Coastguard Worker 1007*8975f5c5SAndroid Build Coastguard Worker void LoadETC2SRGB8ToBC1(const ImageLoadContext &context, 1008*8975f5c5SAndroid Build Coastguard Worker size_t width, 1009*8975f5c5SAndroid Build Coastguard Worker size_t height, 1010*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1011*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1012*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1013*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1014*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1015*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1016*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1017*8975f5c5SAndroid Build Coastguard Worker 1018*8975f5c5SAndroid Build Coastguard Worker void LoadETC2RGB8A1ToRGBA8(const ImageLoadContext &context, 1019*8975f5c5SAndroid Build Coastguard Worker size_t width, 1020*8975f5c5SAndroid Build Coastguard Worker size_t height, 1021*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1022*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1023*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1024*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1025*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1026*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1027*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1028*8975f5c5SAndroid Build Coastguard Worker 1029*8975f5c5SAndroid Build Coastguard Worker void LoadETC2RGB8A1ToBC1(const ImageLoadContext &context, 1030*8975f5c5SAndroid Build Coastguard Worker size_t width, 1031*8975f5c5SAndroid Build Coastguard Worker size_t height, 1032*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1033*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1034*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1035*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1036*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1037*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1038*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1039*8975f5c5SAndroid Build Coastguard Worker 1040*8975f5c5SAndroid Build Coastguard Worker void LoadETC2SRGB8A1ToRGBA8(const ImageLoadContext &context, 1041*8975f5c5SAndroid Build Coastguard Worker size_t width, 1042*8975f5c5SAndroid Build Coastguard Worker size_t height, 1043*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1044*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1045*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1046*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1047*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1048*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1049*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1050*8975f5c5SAndroid Build Coastguard Worker 1051*8975f5c5SAndroid Build Coastguard Worker void LoadETC2SRGB8A1ToBC1(const ImageLoadContext &context, 1052*8975f5c5SAndroid Build Coastguard Worker size_t width, 1053*8975f5c5SAndroid Build Coastguard Worker size_t height, 1054*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1055*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1056*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1057*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1058*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1059*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1060*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1061*8975f5c5SAndroid Build Coastguard Worker 1062*8975f5c5SAndroid Build Coastguard Worker void LoadETC2RGBA8ToBC3(const ImageLoadContext &context, 1063*8975f5c5SAndroid Build Coastguard Worker size_t width, 1064*8975f5c5SAndroid Build Coastguard Worker size_t height, 1065*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1066*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1067*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1068*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1069*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1070*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1071*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1072*8975f5c5SAndroid Build Coastguard Worker 1073*8975f5c5SAndroid Build Coastguard Worker void LoadETC2SRGBA8ToBC3(const ImageLoadContext &context, 1074*8975f5c5SAndroid Build Coastguard Worker size_t width, 1075*8975f5c5SAndroid Build Coastguard Worker size_t height, 1076*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1077*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1078*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1079*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1080*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1081*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1082*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1083*8975f5c5SAndroid Build Coastguard Worker 1084*8975f5c5SAndroid Build Coastguard Worker void LoadEACR11ToBC4(const ImageLoadContext &context, 1085*8975f5c5SAndroid Build Coastguard Worker size_t width, 1086*8975f5c5SAndroid Build Coastguard Worker size_t height, 1087*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1088*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1089*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1090*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1091*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1092*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1093*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1094*8975f5c5SAndroid Build Coastguard Worker 1095*8975f5c5SAndroid Build Coastguard Worker void LoadEACR11SToBC4(const ImageLoadContext &context, 1096*8975f5c5SAndroid Build Coastguard Worker size_t width, 1097*8975f5c5SAndroid Build Coastguard Worker size_t height, 1098*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1099*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1100*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1101*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1102*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1103*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1104*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1105*8975f5c5SAndroid Build Coastguard Worker 1106*8975f5c5SAndroid Build Coastguard Worker void LoadEACRG11ToBC5(const ImageLoadContext &context, 1107*8975f5c5SAndroid Build Coastguard Worker size_t width, 1108*8975f5c5SAndroid Build Coastguard Worker size_t height, 1109*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1110*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1111*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1112*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1113*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1114*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1115*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1116*8975f5c5SAndroid Build Coastguard Worker 1117*8975f5c5SAndroid Build Coastguard Worker void LoadEACRG11SToBC5(const ImageLoadContext &context, 1118*8975f5c5SAndroid Build Coastguard Worker size_t width, 1119*8975f5c5SAndroid Build Coastguard Worker size_t height, 1120*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1121*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1122*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1123*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1124*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1125*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1126*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1127*8975f5c5SAndroid Build Coastguard Worker 1128*8975f5c5SAndroid Build Coastguard Worker void LoadETC2RGBA8ToRGBA8(const ImageLoadContext &context, 1129*8975f5c5SAndroid Build Coastguard Worker size_t width, 1130*8975f5c5SAndroid Build Coastguard Worker size_t height, 1131*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1132*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1133*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1134*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1135*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1136*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1137*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1138*8975f5c5SAndroid Build Coastguard Worker 1139*8975f5c5SAndroid Build Coastguard Worker void LoadETC2SRGBA8ToSRGBA8(const ImageLoadContext &context, 1140*8975f5c5SAndroid Build Coastguard Worker size_t width, 1141*8975f5c5SAndroid Build Coastguard Worker size_t height, 1142*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1143*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1144*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1145*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1146*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1147*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1148*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1149*8975f5c5SAndroid Build Coastguard Worker 1150*8975f5c5SAndroid Build Coastguard Worker void LoadYuvToNative(const ImageLoadContext &context, 1151*8975f5c5SAndroid Build Coastguard Worker size_t width, 1152*8975f5c5SAndroid Build Coastguard Worker size_t height, 1153*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1154*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1155*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1156*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1157*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1158*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1159*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1160*8975f5c5SAndroid Build Coastguard Worker 1161*8975f5c5SAndroid Build Coastguard Worker void LoadPalettedToRGBA8Impl(const ImageLoadContext &context, 1162*8975f5c5SAndroid Build Coastguard Worker size_t width, 1163*8975f5c5SAndroid Build Coastguard Worker size_t height, 1164*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1165*8975f5c5SAndroid Build Coastguard Worker uint32_t indexBits, 1166*8975f5c5SAndroid Build Coastguard Worker uint32_t redBlueBits, 1167*8975f5c5SAndroid Build Coastguard Worker uint32_t greenBits, 1168*8975f5c5SAndroid Build Coastguard Worker uint32_t alphaBits, 1169*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1170*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1171*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1172*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1173*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1174*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1175*8975f5c5SAndroid Build Coastguard Worker 1176*8975f5c5SAndroid Build Coastguard Worker template <uint32_t indexBits, uint32_t redBlueBits, uint32_t greenBits, uint32_t alphaBits> 1177*8975f5c5SAndroid Build Coastguard Worker inline void LoadPalettedToRGBA8(const ImageLoadContext &context, 1178*8975f5c5SAndroid Build Coastguard Worker size_t width, 1179*8975f5c5SAndroid Build Coastguard Worker size_t height, 1180*8975f5c5SAndroid Build Coastguard Worker size_t depth, 1181*8975f5c5SAndroid Build Coastguard Worker const uint8_t *input, 1182*8975f5c5SAndroid Build Coastguard Worker size_t inputRowPitch, 1183*8975f5c5SAndroid Build Coastguard Worker size_t inputDepthPitch, 1184*8975f5c5SAndroid Build Coastguard Worker uint8_t *output, 1185*8975f5c5SAndroid Build Coastguard Worker size_t outputRowPitch, 1186*8975f5c5SAndroid Build Coastguard Worker size_t outputDepthPitch); 1187*8975f5c5SAndroid Build Coastguard Worker 1188*8975f5c5SAndroid Build Coastguard Worker } // namespace angle 1189*8975f5c5SAndroid Build Coastguard Worker 1190*8975f5c5SAndroid Build Coastguard Worker #include "loadimage.inc" 1191*8975f5c5SAndroid Build Coastguard Worker 1192*8975f5c5SAndroid Build Coastguard Worker #endif // IMAGEUTIL_LOADIMAGE_H_ 1193