1/****************************************************************************** 2 * 3 * Copyright (C) 2015 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/* File Name : impeg2d_api.h */ 23/* */ 24/* Description : This file contains all the necessary examples to */ 25/* establish a consistent use of Ittiam C coding */ 26/* standards (based on Indian Hill C Standards) */ 27/* */ 28/* List of Functions : <List the functions defined in this file> */ 29/* */ 30/* Issues / Problems : None */ 31/* */ 32/* Revision History : */ 33/* */ 34/* DD MM YYYY Author(s) Changes (Describe the changes made) */ 35/* 10 10 2005 Ittiam Draft */ 36/* */ 37/*****************************************************************************/ 38 39#ifndef __IMPEG2D_API_H__ 40#define __IMPEG2D_API_H__ 41 42 43/*****************************************************************************/ 44/* Constant Macros */ 45/*****************************************************************************/ 46 47 48#define DEBUG_PRINT printf 49 50 51 52 53#define NUM_MEM_RECORDS 4 * MAX_THREADS + NUM_INT_FRAME_BUFFERS + 5 + 2 + 1 54 55 56#define SETBIT(a,i) ((a) |= (1 << i)) 57 58 59/*********************/ 60/* Codec Versioning */ 61/*********************/ 62 63 64 65 66/*****************************************************************************/ 67/* Function Declarations */ 68/*****************************************************************************/ 69 70IV_API_CALL_STATUS_T impeg2d_api_num_mem_rec(void *pv_api_ip, void *pv_api_op); 71 72IV_API_CALL_STATUS_T impeg2d_api_fill_mem_rec(void *pv_api_ip, void *pv_api_op); 73 74IV_API_CALL_STATUS_T impeg2d_api_init(iv_obj_t *DECHDL, 75 void *ps_ip, 76 void *ps_op); 77 78IV_API_CALL_STATUS_T impeg2d_api_set_display_frame(iv_obj_t *DECHDL, 79 void *pv_api_ip, 80 void *pv_api_op); 81 82IV_API_CALL_STATUS_T impeg2d_api_rel_display_frame(iv_obj_t *DECHDL, 83 void *pv_api_ip, 84 void *pv_api_op); 85 86IV_API_CALL_STATUS_T impeg2d_api_retrieve_mem_rec(iv_obj_t *DECHDL, 87 void *pv_api_ip, 88 void *pv_api_op); 89 90IV_API_CALL_STATUS_T impeg2d_api_ctl(iv_obj_t *DECHDL, 91 void *pv_api_ip, 92 void *pv_api_op); 93 94IV_API_CALL_STATUS_T impeg2d_api_get_version(iv_obj_t *DECHDL, 95 void *pv_api_ip, 96 void *pv_api_op); 97 98IV_API_CALL_STATUS_T impeg2d_api_get_buf_info(iv_obj_t *DECHDL, 99 void *pv_api_ip, 100 void *pv_api_op); 101 102IV_API_CALL_STATUS_T impeg2d_api_set_flush_mode(iv_obj_t *DECHDL, 103 void *pv_api_ip, 104 void *pv_api_op); 105 106IV_API_CALL_STATUS_T impeg2d_api_set_default(iv_obj_t *DECHDL, 107 void *pv_api_ip, 108 void *pv_api_op); 109 110IV_API_CALL_STATUS_T impeg2d_api_reset(iv_obj_t *DECHDL, 111 void *pv_api_ip, 112 void *pv_api_op); 113 114IV_API_CALL_STATUS_T impeg2d_api_set_params(iv_obj_t *DECHDL, 115 void *pv_api_ip, 116 void *pv_api_op); 117 118IV_API_CALL_STATUS_T impeg2d_api_get_status(iv_obj_t *DECHDL, 119 void *pv_api_ip, 120 void *pv_api_op); 121 122IV_API_CALL_STATUS_T impeg2d_api_set_params(iv_obj_t *DECHDL, 123 void *pv_api_ip, 124 void *pv_api_op); 125 126void impeg2d_fill_mem_rec(impeg2d_fill_mem_rec_ip_t *ps_ip, 127 impeg2d_fill_mem_rec_op_t *ps_op); 128 129void impeg2d_dec_frm(void *dec, 130 impeg2d_video_decode_ip_t *ps_ip, 131 impeg2d_video_decode_op_t *ps_op); 132 133void impeg2d_dec_hdr(void *dec, 134 impeg2d_video_decode_ip_t *ps_ip, 135 impeg2d_video_decode_op_t *ps_op); 136 137IV_API_CALL_STATUS_T impeg2d_api_entity(iv_obj_t *DECHDL, 138 void *pv_api_ip, 139 void *pv_api_op); 140 141IV_API_CALL_STATUS_T impeg2d_api_check_struct_sanity(iv_obj_t *ps_handle, 142 void *pv_api_ip, 143 void *pv_api_op); 144 145 146 147 148#endif /* __IMPEG2D_API_H__ */ 149 150