Files
One-KVM/libs/hwcodec/cpp/common/common.h
mofeng-git be4de59f3b refactor(hwcodec): 精简FFmpeg编译配置并移除解码器
- 优化FFmpeg编译选项,禁用不需要的库(avformat/swscale/swresample/avfilter等)
- 禁用所有解码器和大部分编码器,只保留实际使用的H264/H265/VP8/VP9编码器
- 移除hwcodec解码器模块,MJPEG解码改用libyuv实现
- 移除MJPEG编码器支持
- x86_64添加libmfx支持QSV编码器
- 修复H265 RKMPP编码器支持YUYV直接输入
2026-01-02 12:31:11 +08:00

56 lines
884 B
C

#ifndef COMMON_H
#define COMMON_H
#include <stdint.h>
#define MAX_GOP 0x7FFFFFFF // i32 max
#define TEST_TIMEOUT_MS 1000
#define ENCODE_TIMEOUT_MS 1000
#define DECODE_TIMEOUT_MS 1000
enum AdapterVendor {
ADAPTER_VENDOR_AMD = 0x1002,
ADAPTER_VENDOR_INTEL = 0x8086,
ADAPTER_VENDOR_NVIDIA = 0x10DE,
ADAPTER_VENDOR_UNKNOWN = 0,
};
enum SurfaceFormat {
SURFACE_FORMAT_BGRA,
SURFACE_FORMAT_RGBA,
SURFACE_FORMAT_NV12,
};
enum DataFormat {
H264,
H265,
VP8,
VP9,
AV1,
};
// same as Driver
enum Vendor {
VENDOR_NV = 0,
VENDOR_AMD = 1,
VENDOR_INTEL = 2,
VENDOR_FFMPEG = 3
};
enum Quality { Quality_Default, Quality_High, Quality_Medium, Quality_Low };
enum RateControl {
RC_DEFAULT,
RC_CBR,
RC_VBR,
RC_CQ,
};
enum HwcodecErrno {
HWCODEC_SUCCESS = 0,
HWCODEC_ERR_COMMON = -1,
HWCODEC_ERR_HEVC_COULD_NOT_FIND_POC = -2,
};
#endif // COMMON_H