1 /* 2 * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. 3 * Not a Contribution. 4 * 5 * Copyright 2015 The Android Open Source Project 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 20 #ifndef __TONEMAPPER_TONEMAP_H__ 21 #define __TONEMAPPER_TONEMAP_H__ 22 23 #define TONEMAP_FORWARD 0 24 #define TONEMAP_INVERSE 1 25 26 #include "EGLImageWrapper.h" 27 #include "engine.h" 28 29 class Tonemapper { 30 private: 31 void* engineContext; 32 unsigned int tonemapTexture; 33 unsigned int lutXformTexture; 34 unsigned int programID; 35 float lutXformScaleOffset[2]; 36 float tonemapScaleOffset[2]; 37 EGLImageWrapper* eglImageWrapper; 38 Tonemapper(); 39 40 public: 41 ~Tonemapper(); 42 static Tonemapper *build(int type, void *colorMap, int colorMapSize, void *lutXform, 43 int lutXformSize, bool isSecure); 44 int blit(const void *dst, const void *src, int srcFenceFd); 45 }; 46 47 #endif //__TONEMAPPER_TONEMAP_H__ 48