10d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/****************************************************************************** 20d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 30d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore 40d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 50d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Licensed under the Apache License, Version 2.0 (the "License"); 60d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* you may not use this file except in compliance with the License. 70d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* You may obtain a copy of the License at: 80d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 90d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* http://www.apache.org/licenses/LICENSE-2.0 100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Unless required by applicable law or agreed to in writing, software 120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* distributed under the License is distributed on an "AS IS" BASIS, 130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* See the License for the specific language governing permissions and 150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* limitations under the License. 160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************/ 180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @file 210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* ihevc_buf_mgr.c 220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Contains function definitions for buffer management 250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @author 270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Srinivas T 280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par List of Functions: 300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* - ihevc_buf_mgr_init() 310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* - ihevc_buf_mgr_add() 320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* - ihevc_buf_mgr_get_next_free() 330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* - ihevc_buf_mgr_check_free() 340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* - ihevc_buf_mgr_release() 350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* - ihevc_buf_mgr_set_status() 360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* - ihevc_buf_mgr_get_status() 370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* - ihevc_buf_mgr_get_buf() 380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* - ihevc_buf_mgr_get_num_active_buf() 390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#include <stdlib.h> 4603ca7981bfdeff6f3f8d852f8059adef680729daHarish Mahendrakar#include <assert.h> 470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#include "ihevc_typedefs.h" 480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#include "ihevc_macros.h" 490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#include "ihevc_func_selector.h" 500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#include "ihevc_buf_mgr.h" 5103ca7981bfdeff6f3f8d852f8059adef680729daHarish Mahendrakar#include "ihevc_debug.h" 520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Buffer manager initialization function. 590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par Description: 610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Initializes the buffer manager structure 620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] ps_buf_mgr 640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer manager 650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @returns 670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarvoid ihevc_buf_mgr_init( 750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar buf_mgr_t *ps_buf_mgr) 760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 id; 780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ps_buf_mgr->u4_max_buf_cnt = BUF_MGR_MAX_CNT; 800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ps_buf_mgr->u4_active_buf_cnt = 0; 810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar for(id = 0; id < BUF_MGR_MAX_CNT; id++) 830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ps_buf_mgr->au4_status[id] = 0; 850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ps_buf_mgr->apv_ptr[id] = NULL; 860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Adds and increments the buffer and buffer count. 950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par Description: 970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Adds a buffer to the buffer manager if it is not already present and 980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* increments the active buffer count 990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] ps_buf_mgr 1010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer manager 1020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] pv_ptr 1040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer to be added 1050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @returns Returns 0 on success, -1 otherwise 1070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 1090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 1100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 1120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 1130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarWORD32 ihevc_buf_mgr_add( 1140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar buf_mgr_t *ps_buf_mgr, 1150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar void *pv_ptr, 1160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 buf_id) 1170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 1180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar /* Check if buffer ID is within allowed range */ 1200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if(buf_id >= (WORD32)ps_buf_mgr->u4_max_buf_cnt) 1210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 1220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return (-1); 1230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 1240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar /* Check if the current ID is being used to hold some other buffer */ 1260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if((ps_buf_mgr->apv_ptr[buf_id] != NULL) && 1270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar (ps_buf_mgr->apv_ptr[buf_id] != pv_ptr)) 1280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 1290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return (-1); 1300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 1310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ps_buf_mgr->apv_ptr[buf_id] = pv_ptr; 1320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return 0; 1340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 1350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 1380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 1390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 1410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Gets the next free buffer. 1420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par Description: 1440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Returns the next free buffer available and sets the corresponding status 1450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* to DEC 1460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] ps_buf_mgr 1480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer manager 1490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] pi4_buf_id 1510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the id of the free buffer 1520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @returns Pointer to the free buffer 1540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 1560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 1570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 1590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 1600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarvoid* ihevc_buf_mgr_get_next_free( 1610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar buf_mgr_t *ps_buf_mgr, 1620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 *pi4_buf_id) 1630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 1640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 id; 1650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar void *pv_ret_ptr; 1660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar pv_ret_ptr = NULL; 1680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar for(id = 0; id < (WORD32)ps_buf_mgr->u4_max_buf_cnt; id++) 1690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 17003ca7981bfdeff6f3f8d852f8059adef680729daHarish Mahendrakar ASSERT(ps_buf_mgr->au4_status[id] != 2); 17103ca7981bfdeff6f3f8d852f8059adef680729daHarish Mahendrakar 1720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar /* Check if the buffer is non-null and status is zero */ 1730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if((ps_buf_mgr->au4_status[id] == 0) && (ps_buf_mgr->apv_ptr[id])) 1740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 1750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar *pi4_buf_id = id; 1760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar /* DEC is set to 1 */ 1770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ps_buf_mgr->au4_status[id] = 1; 1780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar pv_ret_ptr = ps_buf_mgr->apv_ptr[id]; 1790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar break; 1800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 1810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 1820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return pv_ret_ptr; 1840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 1850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 1880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 1890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 1910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Checks the buffer manager for free buffers available. 1920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par Description: 1940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Checks if there are any free buffers available 1950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] ps_buf_mgr 1970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer manager 1980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 1990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @returns Returns 0 if available, -1 otherwise 2000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 2020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 2030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 2050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 2060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarWORD32 ihevc_buf_mgr_check_free( 2070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar buf_mgr_t *ps_buf_mgr) 2080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 2090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD32 id; 2100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar for(id = 0; id < ps_buf_mgr->u4_max_buf_cnt; id++) 2120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 21303ca7981bfdeff6f3f8d852f8059adef680729daHarish Mahendrakar ASSERT(ps_buf_mgr->au4_status[id] != 2); 21403ca7981bfdeff6f3f8d852f8059adef680729daHarish Mahendrakar 2150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if((ps_buf_mgr->au4_status[id] == 0) && 2160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar (ps_buf_mgr->apv_ptr[id])) 2170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 2180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return 1; 2190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 2200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 2210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return 0; 2230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 2250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 2280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 2290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 2310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Resets the status bits. 2320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par Description: 2340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* resets the status bits that the mask contains (status corresponding to 2350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* the id) 2360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] ps_buf_mgr 2380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer manager 2390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] buf_id 2410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* ID of the buffer status to be released 2420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] mask 2440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Contains the bits that are to be reset 2450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @returns 0 if success, -1 otherwise 2470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 2490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 2500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 2520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 2530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarWORD32 ihevc_buf_mgr_release( 2540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar buf_mgr_t *ps_buf_mgr, 2550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 buf_id, 2560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD32 mask) 2570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 2580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar /* If the given id is pointing to an id which is not yet added */ 2590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if(buf_id >= (WORD32)ps_buf_mgr->u4_max_buf_cnt) 2600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 2610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return (-1); 2620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 2630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ps_buf_mgr->au4_status[buf_id] &= ~mask; 26503ca7981bfdeff6f3f8d852f8059adef680729daHarish Mahendrakar ASSERT(ps_buf_mgr->au4_status[buf_id] != 2); 2660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar /* If both the REF and DISP are zero, DEC is set to zero */ 2680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if(ps_buf_mgr->au4_status[buf_id] == 1) 2690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 2700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ps_buf_mgr->au4_status[buf_id] = 0; 2710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 2720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return 0; 2740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 2750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 2780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 2790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 2810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Sets the status bit. 2820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par Description: 2840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* sets the status bits that the mask contains (status corresponding to the 2850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* id) 2860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] ps_buf_mgr 2890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer manager 2900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] buf_id 2920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* ID of the buffer whose status needs to be modified 2930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] mask 2960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Contains the bits that are to be set 2970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 2980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @returns 0 if success, -1 otherwise 2990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 3010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 3020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 3040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 3050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarWORD32 ihevc_buf_mgr_set_status( 3060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar buf_mgr_t *ps_buf_mgr, 3070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 buf_id, 3080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD32 mask) 3090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 3100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if(buf_id >= (WORD32)ps_buf_mgr->u4_max_buf_cnt) 3110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 3120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return (-1); 3130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 3140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if((ps_buf_mgr->au4_status[buf_id] & mask) != 0) 3170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar { 3180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return (-1); 3190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar } 3200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar ps_buf_mgr->au4_status[buf_id] |= mask; 32203ca7981bfdeff6f3f8d852f8059adef680729daHarish Mahendrakar ASSERT(ps_buf_mgr->au4_status[buf_id] != 2); 3230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return 0; 3240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 3250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 3280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 3290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 3310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Returns the status of the buffer. 3320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par Description: 3340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Returns the status of the buffer corresponding to the id 3350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] ps_buf_mgr 3370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer manager 3380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] buf_id 3400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* ID of the buffer status required 3410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @returns Status of the buffer corresponding to the id 3430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 3450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 3460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 3480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 3490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarUWORD32 ihevc_buf_mgr_get_status( 3500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar buf_mgr_t *ps_buf_mgr, 3510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 buf_id) 3520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 3530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return ps_buf_mgr->au4_status[buf_id]; 3540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 3550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 3580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 3590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 3610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Gets the buffer from the buffer manager 3620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par Description: 3640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Returns the pointer to the buffer corresponding to the id 3650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] ps_buf_mgr 3670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer manager 3680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] buf_id 3700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* ID of the buffer required 3710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @returns Pointer to the buffer required 3730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 3750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 3760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 3780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 3790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarvoid* ihevc_buf_mgr_get_buf( 3800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar buf_mgr_t *ps_buf_mgr, 3810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 buf_id) 3820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 3830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return ps_buf_mgr->apv_ptr[buf_id]; 3840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 3850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 3880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 3890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 3910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Gets the no.of active buffer 3920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par Description: 3940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Return the number of active buffers in the buffer manager 3950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @param[in] ps_buf_mgr 3970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Pointer to the buffer manager 3980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 3990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @returns number of active buffers 4000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 4010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 4020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 4030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 4040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 4050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 4060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarUWORD32 ihevc_buf_mgr_get_num_active_buf( 4070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar buf_mgr_t *ps_buf_mgr) 4080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar{ 4090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return ps_buf_mgr->u4_max_buf_cnt; 4100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 411