mirror of
				https://github.com/nyanmisaka/mpp.git
				synced 2025-10-31 04:26:39 +08:00 
			
		
		
		
	 407fce1272
			
		
	
	407fce1272
	
	
	
		
			
			Change-Id: Ia749c9eb5d2a25b87e64215aa184301baf9fa6b5 Signed-off-by: toby.zhang <toby.zhang@rock-chips.com> Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright 2015 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.
 | |
|  */
 | |
| 
 | |
| #ifndef __MPI_ENC_UTILS_H__
 | |
| #define __MPI_ENC_UTILS_H__
 | |
| 
 | |
| #include <stdio.h>
 | |
| 
 | |
| #include "rk_venc_cmd.h"
 | |
| #include "iniparser.h"
 | |
| 
 | |
| typedef struct MpiEncTestArgs_t {
 | |
|     char                *file_input;
 | |
|     char                *file_output;
 | |
|     char                *file_cfg;
 | |
|     dictionary          *cfg_ini;
 | |
| 
 | |
|     MppCodingType       type;
 | |
|     MppCodingType       type_src;       /* for file source input */
 | |
|     MppFrameFormat      format;
 | |
|     RK_S32              frame_num;
 | |
|     RK_S32              loop_cnt;
 | |
|     RK_S32              nthreads;
 | |
| 
 | |
|     RK_S32              width;
 | |
|     RK_S32              height;
 | |
|     RK_S32              hor_stride;
 | |
|     RK_S32              ver_stride;
 | |
| 
 | |
|     /* -rc */
 | |
|     RK_S32              rc_mode;
 | |
| 
 | |
|     /* -bps */
 | |
|     RK_S32              bps_target;
 | |
|     RK_S32              bps_max;
 | |
|     RK_S32              bps_min;
 | |
| 
 | |
|     /* -fps */
 | |
|     RK_S32              fps_in_flex;
 | |
|     RK_S32              fps_in_num;
 | |
|     RK_S32              fps_in_den;
 | |
|     RK_S32              fps_out_flex;
 | |
|     RK_S32              fps_out_num;
 | |
|     RK_S32              fps_out_den;
 | |
| 
 | |
|     /* -qc */
 | |
|     RK_S32              qp_init;
 | |
|     RK_S32              qp_min;
 | |
|     RK_S32              qp_max;
 | |
|     RK_S32              qp_min_i;
 | |
|     RK_S32              qp_max_i;
 | |
| 
 | |
|     /* -g gop mode */
 | |
|     RK_S32              gop_mode;
 | |
|     RK_S32              gop_len;
 | |
|     RK_S32              vi_len;
 | |
| 
 | |
|     /* -v q runtime log disable flag */
 | |
|     RK_U32              quiet;
 | |
|     /* -v f runtime fps log flag */
 | |
|     RK_U32              trace_fps;
 | |
|     FpsCalc             fps;
 | |
|     RK_U32              psnr_en;
 | |
|     RK_U32              ssim_en;
 | |
|     char                *file_slt;
 | |
| } MpiEncTestArgs;
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| RK_S32 mpi_enc_width_default_stride(RK_S32 width, MppFrameFormat fmt);
 | |
| 
 | |
| /*
 | |
|  * gop_mode
 | |
|  * 0     - default IPPPP gop
 | |
|  * 1 ~ 3 - tsvc2 ~ tsvc4
 | |
|  * >=  4 - smart gop mode
 | |
|  */
 | |
| MPP_RET mpi_enc_gen_ref_cfg(MppEncRefCfg ref, RK_S32 gop_mode);
 | |
| MPP_RET mpi_enc_gen_smart_gop_ref_cfg(MppEncRefCfg ref, RK_S32 gop_len, RK_S32 vi_len);
 | |
| MPP_RET mpi_enc_gen_osd_data(MppEncOSDData *osd_data, MppBufferGroup group,
 | |
|                              RK_U32 width, RK_U32 height, RK_U32 frame_cnt);
 | |
| MPP_RET mpi_enc_gen_osd_plt(MppEncOSDPlt *osd_plt, RK_U32 frame_cnt);
 | |
| 
 | |
| MpiEncTestArgs *mpi_enc_test_cmd_get(void);
 | |
| MPP_RET mpi_enc_test_cmd_update_by_args(MpiEncTestArgs* cmd, int argc, char **argv);
 | |
| MPP_RET mpi_enc_test_cmd_put(MpiEncTestArgs* cmd);
 | |
| 
 | |
| MPP_RET mpi_enc_test_cmd_show_opt(MpiEncTestArgs* cmd);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /*__MPI_ENC_UTILS_H__*/
 |