Home | History | Annotate | Download | only in common
      1 /******************************************************************************
      2 *
      3 * Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore
      4 *
      5 * Licensed under the Apache License, Version 2.0 (the "License");
      6 * you may not use this file except in compliance with the License.
      7 * You may obtain a copy of the License at:
      8 *
      9 * http://www.apache.org/licenses/LICENSE-2.0
     10 *
     11 * Unless required by applicable law or agreed to in writing, software
     12 * distributed under the License is distributed on an "AS IS" BASIS,
     13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14 * See the License for the specific language governing permissions and
     15 * limitations under the License.
     16 *
     17 ******************************************************************************/
     18 /**
     19 *******************************************************************************
     20 * @file
     21 *  ihevc_disp_mgr.h
     22 *
     23 * @brief
     24 *  Function declarations used for display management
     25 *
     26 * @author
     27 *  Srinivas T
     28 *
     29 *
     30 * @remarks
     31 *  None
     32 *
     33 *******************************************************************************
     34 */
     35 #ifndef _DISP_MGR_H_
     36 #define _DISP_MGR_H_
     37 
     38 #define DISP_MGR_MAX_CNT 64
     39 #define DEFAULT_POC 0x7FFFFFFF
     40 
     41 typedef struct
     42 {
     43     /**
     44      * last_abs_poc
     45      */
     46     UWORD32 u4_last_abs_poc;
     47 
     48     /**
     49      * au4_abs_poc[DISP_MGR_MAX_CNT]
     50      */
     51     WORD32 ai4_abs_poc[DISP_MGR_MAX_CNT];
     52 
     53     /**
     54      * apv_ptr[DISP_MGR_MAX_CNT]
     55      */
     56     void    *apv_ptr[DISP_MGR_MAX_CNT];
     57 }disp_mgr_t;
     58 
     59 void ihevc_disp_mgr_init(
     60                 disp_mgr_t *ps_disp_mgr);
     61 
     62 WORD32 ihevc_disp_mgr_add(
     63                 disp_mgr_t *ps_disp_mgr,
     64                 WORD32 id,
     65                 WORD32 abs_poc,
     66                 void *pv_ptr);
     67 
     68 void* ihevc_disp_mgr_get(disp_mgr_t *ps_disp_mgr,
     69                          WORD32 *pi4_buf_id);
     70 
     71 #endif  //_DISP_MGR_H_
     72