1 /****************************************************************************** 2 * 3 * Copyright (C) 2022 The Android Open Source Project 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 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19 */ 20 21 /** 22 ****************************************************************************** 23 * @file 24 * isvce_rc_mem_interface.h 25 * 26 * @brief 27 * This file contains function declaration and structures for rate control 28 * memtabs 29 * 30 * @author 31 * ittiam 32 * 33 * @remarks 34 * The rate control library is a global library across various codecs. It 35 * anticipates certain structures definitions. Those definitions are to be 36 * imported from global workspace. Instead of that, the structures needed for 37 * rc library are copied in to this file and exported to rc library. If the 38 * structures / enums / ... in the global workspace change, this file also needs 39 * to be modified accordingly. 40 * 41 ****************************************************************************** 42 */ 43 #ifndef _ISVCE_RC_MEM_INTERFACE_H_ 44 #define _ISVCE_RC_MEM_INTERFACE_H_ 45 46 #include "irc_mem_req_and_acq.h" 47 48 /** 49 *************************************************************************** 50 * Enum to hold mem records in RC 51 **************************************************************************** 52 */ 53 typedef enum RC_MEM_TYPES_T 54 { 55 RC_MEM_FRAME_TIME, 56 57 RC_MEM_TIME_STAMP, 58 59 RC_MEM_FRAME_RATE, 60 61 RC_MEM_API_L0, 62 63 RC_MEM_API_L1, 64 65 RC_MEM_API_L2, 66 67 RC_MEM_CNT 68 69 /* 70 * Do not add anything below 71 */ 72 } RC_MEM_TYPES_T; 73 74 extern WORD32 isvce_get_rate_control_mem_tab(void *pv_rate_control, iv_mem_rec_t *ps_mem, 75 ITT_FUNC_TYPE_E e_func_type); 76 77 #endif 78