?? h264_enc.h
字號(hào):
#ifndef _H264_ENC_H
#define _H264_ENC_H 1
#ifdef __cplusplus
extern "C" {
#endif
#define X264_CSP_I420 0x0001 // yuv 4:2:0 planar
#define X264_CSP_I422 0x0002 // yuv 4:2:2 planar
#define X264_CSP_I444 0x0003 // yuv 4:4:4 planar
#define X264_CSP_YV12 0x0004 // yuv 4:2:0 planar
#define X264_CSP_YUYV 0x0005 // yuv 4:2:2 packed
#define X264_CSP_RGB 0x0006 // rgb 24bits
#define X264_CSP_BGR 0x0007 // bgr 24bits
#define X264_CSP_BGRA 0x0008 // bgr 32bits
#define X264_CSP_VFLIP 0x1000 // 圖像是否倒立
// 顏色設(shè)置舉例:
// 如果圖像的顏色空間 YUV420, 則設(shè)置 csp = X264_CSP_I420
// 如果圖像的顏色空間 RGB24, 則設(shè)置 csp = X264_CSP_RGB
// 如果輸入RGB的圖像解碼出來(lái)顏色不對(duì),則請(qǐng)嘗試 X264_CSP_BGR
// 如果圖像的顏色空間 RGB24, 并且圖像是倒立的,則設(shè)置 csp = (X264_CSP_RGB | X264_CSP_VFLIP);
//
typedef struct CodecContext
{
int width; // in: 圖像寬
int height; // in: 圖像高
int csp; // in: 設(shè)置顏色空間
unsigned char * data_in; // in: 原始數(shù)據(jù)
int data_in_size; // in: 一幀原始數(shù)據(jù)的大小
unsigned char * buffer; // out: 編碼數(shù)據(jù)緩沖區(qū)
int buffer_in_size; // in: 編碼數(shù)據(jù)緩沖區(qū)空間大小
int buffer_out_size; // out: 編碼后碼流的有效長(zhǎng)度
int frame_rate; // in: 幀率
int key_frame_interval; // in: 設(shè)置最大關(guān)鍵幀間距,若等于0則取默認(rèn)值
int rc_mode; // in: 0:vbr, 1: cbr
int bit_rate; // in: 設(shè)置比特率,僅在 cbr 模式下有效
int quality; // in: 設(shè)置質(zhì)量,僅在 vbr 模式下有效
int key_frame; // out: 是否關(guān)鍵幀,0為非關(guān)鍵幀,1為是關(guān)鍵幀
void * private_data; // 內(nèi)部私有數(shù)據(jù)
} CodecContext;
int H264EncoderOpen(CodecContext * ctx);
int H264EncoderEncode(CodecContext * ctx);
void H264EncoderClose(CodecContext * ctx);
#ifdef __cplusplus
}
#endif
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -