13410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin/* 23410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * OMAP3430 support 33410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * 43410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * Author: Michael Barabanov <michael.barabanov@windriver.com> 53410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * Author: Srini Gosangi <srini.gosangi@windriver.com> 63410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 73410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * Licensed under the Apache License, Version 2.0 (the "License"); 83410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * you may not use this file except in compliance with the License. 93410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * You may obtain a copy of the License at 103410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * 113410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * http://www.apache.org/licenses/LICENSE-2.0 123410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * 133410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * Unless required by applicable law or agreed to in writing, software 143410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * distributed under the License is distributed on an "AS IS" BASIS, 153410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 163410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * express or implied. 173410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * See the License for the specific language governing permissions 183410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin */ 193410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 203410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin/* ------------------------------------------------------------------ 213410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * Copyright (C) 2008 PacketVideo 223410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * 233410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * Licensed under the Apache License, Version 2.0 (the "License"); 243410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * you may not use this file except in compliance with the License. 253410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * You may obtain a copy of the License at 263410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * 273410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * http://www.apache.org/licenses/LICENSE-2.0 283410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * 293410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * Unless required by applicable law or agreed to in writing, software 303410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * distributed under the License is distributed on an "AS IS" BASIS, 313410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 323410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * express or implied. 333410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * See the License for the specific language governing permissions 343410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * and limitations under the License. 353410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin * ------------------------------------------------------------------- 363410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin */ 373410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 383410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 393410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin#ifndef BUFFER_ALLOC_OMAP34XXH_INCLUDED 403410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin#define BUFFER_ALLOC_OMAP34XXH_INCLUDED 413410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 423410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin#include "pv_interface.h" 433410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 443410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin#ifndef PVMF_FIXEDSIZE_BUFFER_ALLOC_H_INCLUDED 453410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin#include "pvmf_fixedsize_buffer_alloc.h" 463410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin#endif 473410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 483410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin/* based on test code in pvmi/media_io/pvmiofileoutput/include/pvmi_media_io_fileoutput.h */ 493410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 503410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavinclass BufferAllocOmap34xx: public PVInterface, public PVMFFixedSizeBufferAlloc 513410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin{ 523410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin public: 533410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 543410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin BufferAllocOmap34xx(); 553410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 563410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin virtual ~BufferAllocOmap34xx(); 573410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 583410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin OSCL_IMPORT_REF void addRef(); 593410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 603410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin OSCL_IMPORT_REF void removeRef(); 613410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 623410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin OSCL_IMPORT_REF bool queryInterface(const PVUuid& uuid, PVInterface*& aInterface) ; 633410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 643410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin OSCL_IMPORT_REF OsclAny* allocate(); 653410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 663410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin OSCL_IMPORT_REF void deallocate(OsclAny* ptr) ; 673410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 683410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin OSCL_IMPORT_REF uint32 getBufferSize() ; 693410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 703410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin OSCL_IMPORT_REF uint32 getNumBuffers() ; 713410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 723410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin public: 733410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin int32 refCount; 743410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin int32 bufferSize; 753410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin int32 maxBuffers; 763410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin int32 numAllocated; 77221a7f397de8e84a36f8f5c93a9a5b175e9053fdBenny Wong uint8** buffer_address; 783410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin}; 793410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin 803410a0df3ef3d3f8254eea6430d999f631191e9fRebecca Schultz Zavin#endif 81