RV1126画面质量五:Profile和编码等级讲解
一. Profile 的分类
Profile 等级一般分为三种,分别是 Baseline、Main、High 三种类型。
- Baseline 等级:我们也称之为最低 Profile,这种级别的 Profile 只支持 I/P 帧,并只支持无交错的场景,比方说 1920 * 108050P,这种等级的编码绝大部分用于视频通话、手机视频等场景。
- Main 等级:我们称之为主流 Profile,这种等级 Profile 提供 I 帧、P 帧、B 帧,并支持无交错模式(Progressive)和交错模式(Interlaced)比方: Progressive 指的是 1920 * 1080 50P, Interlaced 指的是 1920 * 1080 50 i。主要用在主流的音视频消费产品如视频播放器、流媒体传输设备上。
-
High 等级:最高编码等级,这种等级在 Main Profile 等级上面添加了 8X8 的预测,并支持自定义量化。这种编码等级广泛
应用在蓝光存储、高清电视等方面。在相同配置的情况下,High Profile 比 Main Profile 节省 10%的码率。
注意:Baseline Profile、Main Profile 大部分都是针对 YUV420 采样格式为主
1. 交错模式(Interlaced):
- 工作原理:每一帧图像分成两部分,先显示奇数行,再显示偶数行(交替显示)。比如,1080i 代表有 1080 行的图像,但每次只显示一半。
- 优点:节省带宽,适合旧电视。
- 缺点:画面质量差,快速移动的画面会出现“锯齿”或模糊。
2. 逐行模式(Progressive):
- 工作原理:每一帧图像都一次性显示完整的所有行。比如,1080p 表示每一帧都有 1080 行完整的图像。
- 优点:画面清晰、平滑,适合现代电视和电脑显示器。
- 缺点:需要更多带宽和存储空间。
总结:
- 交错模式:老式电视用,画面质量较差。
- 逐行模式:现代电视和视频用,画面更清晰、平滑。
二. RV1126 编码等级和 Profile 的讲解
2.1.设置 RV1126 的视频质量
RK_S32 RK_MPI_VENC_SetRcQuality(VENC_CHN VeChn, VENC_RC_QUALITY_E RcQuality);
第一个参数:编码通道号
第二个参数:VENC_RC_QUALITY_E 的枚举类型
VENC_RC_QUALITY_E 的枚举类型:等级一般音视频开发选这个,VENC_RC_QUALITY_HIGHEST
2.2. 设置 RV1126 的 Profile
RK_S32 RK_MPI_VENC_SetAvcProfile(VENC_CHN VeChn, RK_U32 u32Profile,RK_U32 u32Level);
第一个参数:编码号通道 和RK_MPI_VENC_SetRcQuality传一样的编码通道
第二个参数:Profile 的值,一般为 66 Baseline、77 Main Profile、100 High Profile
第三个参数:H264 Level 值 这个值要跟分辨率匹配了
下面是 Profile 的表格:Format:分辨率、Max frames:帧率、Level:等级
2.3. 用代码实现 Profile 和 Quality 的设置
效果要低于gop和qp的,大概效果等级是 QP > GOP > 编码等级