xref: /aosp_15_r20/external/libavc/decoder/ih264d_mem_request.h (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
1*495ae853SAndroid Build Coastguard Worker /******************************************************************************
2*495ae853SAndroid Build Coastguard Worker  *
3*495ae853SAndroid Build Coastguard Worker  * Copyright (C) 2015 The Android Open Source Project
4*495ae853SAndroid Build Coastguard Worker  *
5*495ae853SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*495ae853SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*495ae853SAndroid Build Coastguard Worker  * You may obtain a copy of the License at:
8*495ae853SAndroid Build Coastguard Worker  *
9*495ae853SAndroid Build Coastguard Worker  * http://www.apache.org/licenses/LICENSE-2.0
10*495ae853SAndroid Build Coastguard Worker  *
11*495ae853SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*495ae853SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*495ae853SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*495ae853SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*495ae853SAndroid Build Coastguard Worker  * limitations under the License.
16*495ae853SAndroid Build Coastguard Worker  *
17*495ae853SAndroid Build Coastguard Worker  *****************************************************************************
18*495ae853SAndroid Build Coastguard Worker  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*495ae853SAndroid Build Coastguard Worker */
20*495ae853SAndroid Build Coastguard Worker 
21*495ae853SAndroid Build Coastguard Worker #ifndef _IH264D_MEM_REQUEST_H_
22*495ae853SAndroid Build Coastguard Worker #define _IH264D_MEM_REQUEST_H_
23*495ae853SAndroid Build Coastguard Worker /*!
24*495ae853SAndroid Build Coastguard Worker  ***************************************************************************
25*495ae853SAndroid Build Coastguard Worker  * \file ih264d_mem_request.h
26*495ae853SAndroid Build Coastguard Worker  *
27*495ae853SAndroid Build Coastguard Worker  * \brief
28*495ae853SAndroid Build Coastguard Worker  *    This file contains declarations and data structures of the API's which
29*495ae853SAndroid Build Coastguard Worker  *    required to interact with Picture Buffer.
30*495ae853SAndroid Build Coastguard Worker  *
31*495ae853SAndroid Build Coastguard Worker  *
32*495ae853SAndroid Build Coastguard Worker  * \date
33*495ae853SAndroid Build Coastguard Worker  *    11/12/2002
34*495ae853SAndroid Build Coastguard Worker  *
35*495ae853SAndroid Build Coastguard Worker  * \author  NS
36*495ae853SAndroid Build Coastguard Worker  ***************************************************************************/
37*495ae853SAndroid Build Coastguard Worker #include "ih264_typedefs.h"
38*495ae853SAndroid Build Coastguard Worker #include "ih264_macros.h"
39*495ae853SAndroid Build Coastguard Worker #include "ih264_platform_macros.h"
40*495ae853SAndroid Build Coastguard Worker #include "ih264d_defs.h"
41*495ae853SAndroid Build Coastguard Worker #include "ih264d_structs.h"
42*495ae853SAndroid Build Coastguard Worker 
43*495ae853SAndroid Build Coastguard Worker #define MAX_MEM_BLOCKS      64 + 8
44*495ae853SAndroid Build Coastguard Worker 
45*495ae853SAndroid Build Coastguard Worker struct MemBlock
46*495ae853SAndroid Build Coastguard Worker {
47*495ae853SAndroid Build Coastguard Worker     void ** v_memLocation; /** memory location where address of allocated memory should be stored*/
48*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_mem_size; /** Size of the memory block */
49*495ae853SAndroid Build Coastguard Worker };
50*495ae853SAndroid Build Coastguard Worker 
51*495ae853SAndroid Build Coastguard Worker struct MemReq
52*495ae853SAndroid Build Coastguard Worker {
53*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_num_memBlocks; /** Number of memory blocks */
54*495ae853SAndroid Build Coastguard Worker     struct MemBlock s_memBlock[MAX_MEM_BLOCKS]; /** Pointer to the first memory block */
55*495ae853SAndroid Build Coastguard Worker };
56*495ae853SAndroid Build Coastguard Worker 
57*495ae853SAndroid Build Coastguard Worker struct PicMemBlock
58*495ae853SAndroid Build Coastguard Worker {
59*495ae853SAndroid Build Coastguard Worker     void * buf1; /** memory location for buf1 */
60*495ae853SAndroid Build Coastguard Worker     void * buf2; /** memory location for buf2 */
61*495ae853SAndroid Build Coastguard Worker     void * buf3; /** memory location for buf3 */
62*495ae853SAndroid Build Coastguard Worker };
63*495ae853SAndroid Build Coastguard Worker 
64*495ae853SAndroid Build Coastguard Worker struct PicMemReq
65*495ae853SAndroid Build Coastguard Worker {
66*495ae853SAndroid Build Coastguard Worker     WORD32 i4_num_pic_memBlocks; /** Number of memory blocks */
67*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_size1; /** Size of the buf1 in PicMemBlock */
68*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_size2; /** Size of the buf2 in PicMemBlock */
69*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_size3; /** Size of the buf3 in PicMemBlock */
70*495ae853SAndroid Build Coastguard Worker     struct PicMemBlock s_PicMemBlock[MAX_DISP_BUFS_NEW];
71*495ae853SAndroid Build Coastguard Worker };
72*495ae853SAndroid Build Coastguard Worker 
73*495ae853SAndroid Build Coastguard Worker WORD32 ih264d_create_pic_buffers(UWORD8 u1_num_of_buf,
74*495ae853SAndroid Build Coastguard Worker                                dec_struct_t *ps_dec);
75*495ae853SAndroid Build Coastguard Worker 
76*495ae853SAndroid Build Coastguard Worker WORD32 ih264d_create_mv_bank(void * pv_codec_handle,
77*495ae853SAndroid Build Coastguard Worker                              UWORD32 u4_wd,
78*495ae853SAndroid Build Coastguard Worker                              UWORD32 u4_ht);
79*495ae853SAndroid Build Coastguard Worker WORD16 ih264d_allocate_dynamic_bufs(dec_struct_t * ps_dec);
80*495ae853SAndroid Build Coastguard Worker 
81*495ae853SAndroid Build Coastguard Worker 
82*495ae853SAndroid Build Coastguard Worker #endif  /* _IH264D_MEM_REQUEST_H_ */
83