1 /* 2 * Copyright 2015 Rockchip Electronics Co. LTD 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef __MPP_ENC_CFG_H__ 18 #define __MPP_ENC_CFG_H__ 19 20 #include "rk_venc_cmd.h" 21 #include "rk_venc_ref.h" 22 #include "rc_data.h" 23 24 /* 25 * MppEncCfgSet shows the relationship between different configuration 26 * Due to the huge amount of configurable parameters we need to setup 27 * only minimum amount of necessary parameters. 28 * 29 * For normal user rc and prep config are enough. 30 */ 31 typedef struct MppEncCfgSet_t { 32 MppEncBaseCfg base; 33 34 // esential config 35 MppEncPrepCfg prep; 36 MppEncRcCfg rc; 37 38 // hardware related config 39 MppEncHwCfg hw; 40 41 // codec detail config 42 MppEncCodecCfg codec; 43 44 MppEncSliceSplit split; 45 MppEncRefCfg ref_cfg; 46 MppEncROICfg roi; 47 MppEncOSDPltCfg plt_cfg; 48 MppEncOSDPlt plt_data; 49 50 // quality fine tuning config 51 MppEncFineTuneCfg tune; 52 } MppEncCfgSet; 53 54 #endif /*__MPP_ENC_CFG_H__*/ 55