rc.h

来自「DM642的mpeg4编码」· C头文件 代码 · 共 103 行

H
103
字号
#include"../mpeg4/mpeg4.h"
#    include <stdio.h>
#    include <stdlib.h>
#	 include <string.h>

#define CREATE  (1<<0)
#define DESTROY (1<<1)
#define BEFORE  (1<<3)
#define FRAME   (1<<4)
#define AFTER   (1<<5)

typedef struct
{
	int DelayFactor;
	int AverTime;
	int buffer;

	int BytesPerSecond;
	double TargetFrameSize;    /*  target bytes  */

	double time;
	long TotalSize;

	int type;                  
	int quant;                 

	double VideoQuality;
	double AvrageFrameSize;
	double ErrorQuant[31];

	double fq_error;
}RCData;

typedef struct
{
	int bitrate;               /* bits per second */
	int DelayFactor; 
	int AverTime;     
	int buffer;                
} Static;

typedef struct 
{
	int version;

	/* encoding parameters */
	int type;      
	int quant;     
	int vol_flags; 
	int vop_flags;

	/* bitrate */
	int length;   

	int hlength;   
	int IntraMbNum;     
	int InterMbNum;     
	int SkipMbNum;     

	int y;    
	int u;     
	int v;     
}EncoderState;

typedef struct
{
	int width;              
	int height;             
	int mb_width;           
	int mb_height;         
	int fincr;              
	int fbase;              

	int MinQuant[3];       
	int MaxQuant[3];       

	int frame_num;          

	int type;               
	int quant;             

	int *dquant;           
	int dquant_stride;    

	int vop_flags;          
	int vol_flags;         
	int motion_flags;      

	int length;             
	int IntraMbNum;             
	int InterMbNum;              
	int SkipMbNum;             
	int y;             
	int u;              
	int v;                

	EncoderState stats; 
}DataStruct;


void Rcfunc(Encoder* pEncoder, FrameInfo* frame, RCData* pRC, int iFlag, short* iType, short* quant, EncoderState* pStatic);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?