/* * test_inline.h - test inline header * * Copyright (c) 2017 Intel Corporation * * 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. * * Author: Wind Yuan <feng.yuan@intel.com> * Yinhang Liu <yinhangx.liu@intel.com> */ #ifndef XCAM_TEST_INLINE_H #define XCAM_TEST_INLINE_H #include <video_buffer.h> using namespace XCam; inline static void ensure_gpu_buffer_done (SmartPtr<VideoBuffer> buf) { const VideoBufferInfo info = buf->get_video_info (); VideoBufferPlanarInfo planar; uint8_t *memory = NULL; memory = buf->map (); for (uint32_t index = 0; index < info.components; index++) { info.get_planar_info (planar, index); uint32_t line_bytes = planar.width * planar.pixel_bytes; for (uint32_t i = 0; i < planar.height; i++) { int mem_idx = info.offsets [index] + i * info.strides [index] + line_bytes - 1; if (memory[mem_idx] == 1) { memory[mem_idx] = 1; } } } buf->unmap (); } #endif // XCAM_TEST_INLINE_H