| /*  | 
|  * Copyright 2021 Rockchip Electronics Co. LTD  | 
|  *  | 
|  * Licensed under the Apache License, Version 2.0 (the "License");  | 
|  * you may not use this file except in compliance with the License.  | 
|  * You may obtain a copy of the License at  | 
|  *  | 
|  *      http://www.apache.org/licenses/LICENSE-2.0  | 
|  *  | 
|  * Unless required by applicable law or agreed to in writing, software  | 
|  * distributed under the License is distributed on an "AS IS" BASIS,  | 
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  | 
|  * See the License for the specific language governing permissions and  | 
|  * limitations under the License.  | 
|  */  | 
|   | 
| #include "rk_venc_cmd.h"  | 
|   | 
| typedef void* MppEncRoiCtx;  | 
|   | 
| /*  | 
|  * NOTE: this structure is changeful. Do NOT expect binary compatible on it.  | 
|  */  | 
| typedef struct RRegion_t {  | 
|     RK_U16              x;              /**< horizontal position of top left corner */  | 
|     RK_U16              y;              /**< vertical position of top left corner */  | 
|     RK_U16              w;              /**< width of ROI rectangle */  | 
|     RK_U16              h;              /**< height of ROI rectangle */  | 
|   | 
|     RK_S32              force_intra;    /**< flag of forced intra macroblock */  | 
|     RK_S32              qp_mode;        /**< 0 - relative qp 1 - absolute qp */  | 
|     RK_S32              qp_val;         /**< absolute / relative qp of macroblock */  | 
| } RoiRegionCfg;  | 
|   | 
| #ifdef __cplusplus  | 
| extern "C" {  | 
| #endif  | 
|   | 
| MPP_RET mpp_enc_roi_init(MppEncRoiCtx *ctx, RK_U32 w, RK_U32 h, MppCodingType type, RK_S32 count);  | 
| MPP_RET mpp_enc_roi_deinit(MppEncRoiCtx ctx);  | 
|   | 
| MPP_RET mpp_enc_roi_add_region(MppEncRoiCtx ctx, RoiRegionCfg *region);  | 
| MPP_RET mpp_enc_roi_setup_meta(MppEncRoiCtx ctx, MppMeta meta);  | 
|   | 
| #ifdef __cplusplus  | 
| }  | 
| #endif  |