| /* |
| * Copyright 2016 The Android Open Source Project |
| * |
| * 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. |
| */ |
| |
| #ifndef HDR_PLUS_CLIENT_UTILS_H |
| #define HDR_PLUS_CLIENT_UTILS_H |
| |
| #include <utils/Errors.h> |
| |
| #include "HdrPlusTypes.h" |
| |
| namespace android { |
| namespace hdrplus_client_utils { |
| |
| /* |
| * Write the image buffer to a .ppm file. |
| * |
| * filename is the filename of the .ppm file and should include ".ppm" in the end. |
| * streamConfig is the stream configuration of the buffer. |
| * buffer is the buffer to be saved to a .ppm file. |
| * |
| * Returns |
| * OK: if the file is saved successfully. |
| * BAD_VALUE: if the format is not support or the stream configuration is invalid. |
| * NO_INIT: if it failed to open the file. |
| */ |
| status_t writePpm(const std::string &filename, const pbcamera::StreamConfiguration &streamConfig, |
| const pbcamera::StreamBuffer &buffer); |
| |
| /* |
| * Compare the image buffer against a golden .ppm file. |
| * |
| * filename is the filename of the .ppm file and should include ".ppm" in the end. |
| * streamConfig is the stream configuration of the buffer. |
| * buffer is the buffer to be compared. |
| * diffRatio will be the difference ratio between the image buffer and the golden ppm file. |
| * It's calculated as sum(R, G, B diffs in each pixel) / (width * height * 256 * 3) |
| * |
| * Returns |
| * OK: if the comparison completed successfully. |
| * BAD_VALUE: if the format is not support or the stream configuration is invalid, or the |
| * file cannot be parsed correctly. |
| * NO_INIT: if it failed to open the file. |
| */ |
| status_t comparePpm(const std::string &filename, const pbcamera::StreamConfiguration &streamConfig, |
| const pbcamera::StreamBuffer &buffer, float *diffRatio); |
| |
| } // hdrplus_client_utils |
| } // namespace android |
| |
| #endif // HDR_PLUS_CLIENT_UTILS_H |