Feature: Implement H.264 and AV1 hardware encoding for remote control
Remark: Need to update FFmpeg static libraries to take effort
This commit is contained in:
@@ -255,6 +255,7 @@ enum {
|
||||
CMD_AUDIO_CTRL = 95, // 音频控制: [cmd:1][enable:1][persist:1]
|
||||
TOKEN_SCREEN_AUDIO = 96, // 音频数据: [token:1][hasFormat:1][AudioFormat?][data]
|
||||
COMMAND_SHARE_CANCEL = 97,
|
||||
COMMAND_ENCODE_LEVEL = 98,
|
||||
|
||||
TOKEN_SCROLL_FRAME = 99, // 滚动优化帧
|
||||
// 服务端发出的标识
|
||||
@@ -1188,6 +1189,12 @@ enum QualityLevel {
|
||||
#define ALGORITHM_RGB565 3 // RGB565 压缩
|
||||
#endif
|
||||
|
||||
enum EncodeLevel {
|
||||
LEVEL_H264_SOFT = 0,
|
||||
LEVEL_H264_HARD = 1,
|
||||
LEVEL_AV1_HARD = 2,
|
||||
};
|
||||
|
||||
/* 质量配置(与 QualityLevel 对应)
|
||||
- strategy = 0:1080p 限制
|
||||
- strategy = 1:原始分辨率
|
||||
@@ -1272,7 +1279,8 @@ typedef struct ScreenSettings {
|
||||
int CpuSpeedup; // 偏移 36, 指令集加速(0: 无, 1: SSE2)
|
||||
int ScreenType; // 偏移 40, 屏幕类型(0: GDI, 1: DXGI, 2: Virtual)
|
||||
int AudioEnabled; // 偏移 44, 音频传输(0: 禁用, 1: 启用)
|
||||
char Reserved[48]; // 偏移 48, 保留字段(新能力参数从此处扩展)
|
||||
int EncodeLevel; // 偏移 48, 编码等级
|
||||
char Reserved[44]; // 偏移 52, 保留字段(新能力参数从此处扩展)
|
||||
uint32_t Capabilities; // 偏移 96, 能力位标志(放最后)
|
||||
} ScreenSettings; // 总大小 100 字节
|
||||
|
||||
|
||||
Reference in New Issue
Block a user