18b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol/* 28b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// Copyright (c) 2014 Intel Corporation 38b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// 48b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// Licensed under the Apache License, Version 2.0 (the "License"); 58b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// you may not use this file except in compliance with the License. 68b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// You may obtain a copy of the License at 78b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// 88b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// http://www.apache.org/licenses/LICENSE-2.0 98b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// 108b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// Unless required by applicable law or agreed to in writing, software 118b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// distributed under the License is distributed on an "AS IS" BASIS, 128b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// See the License for the specific language governing permissions and 148b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// limitations under the License. 158b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol*/ 168b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#ifndef GRALLOC_BUFFER_BASE_H 178b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#define GRALLOC_BUFFER_BASE_H 188b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 198b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#include <GraphicBuffer.h> 208b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#include <hal_public.h> 218b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// FIXME: remove it, why define NV12_VED based on OMX's value? 228b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#include <OMX_IVCommon.h> 238b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#include <OMX_IntelVideoExt.h> 248b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 258b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolnamespace android { 268b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolnamespace intel { 278b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 288b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolclass GrallocBufferBase : public GraphicBuffer { 298b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolpublic: 308b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol GrallocBufferBase(buffer_handle_t handle); 318b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol virtual ~GrallocBufferBase() {} 328b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol virtual void resetBuffer(buffer_handle_t handle); 338b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 348b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolprotected: 358b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol // helper function to be invoked by the derived class 368b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol void initStride(); 378b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 388b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolprivate: 398b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol void initBuffer(buffer_handle_t handle); 408b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol}; 418b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 428b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol} // namespace intel 438b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol} // namespace android 448b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 458b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#endif /* GRALLOC_BUFFER_BASE_H */ 46