音视频编解码——OSD参数
1. OSD overlay 参数
1.1 参数介绍
编码器最多支持12个OSD区域,不能在 OSD 区域之间共享相同的 CTB
n aligned:n对齐,偏移量必须是n的倍数,目的提高访问效率或满足 DMA 传输要求
stride:步幅,步幅计算的两个分量(Y,U,V)行首到行首的距离,如这一行Y分量到下一个行分量
# N表示01-12区域region
--overlayEnables
# 位掩码方式控制,每个位表示一个OSD region是否启用
# 例如:--overlayEnables=15,15=0x1111,region 1-4都启用
--olWidthN
--olHeightN
# 如果启用了region,必须指定以上参数
--olInputN
# 包含每个OSD区域的文件路径
# 例如:--olInput01=/path/.rgb
--olFormatN
# 每个 OSD 区域的输入格式,0 - ARGB8888、1 - NV12、2 - bitmap
# 例如:--olFormat01=1
--olAlphaN
# OSD区域的透明度控制[0..255],此选项对 ARGB8888 无效
--olSuperTileN
# OSD 输入数据是否以超级平铺模式进行组织,仅在 ARGB8888 输入格式时有效
--olBitmapYN --olBitmapUN --olBitmapVN
# bitmap格式下的Y,U,V值
--olXoffsetN --olYoffsetN
# 左上角的水平偏移(X)和左上角的垂直偏移(Y)
--olYStrideN --olUVStrideN
# Y分量和UV分量的步幅(单位:字节)
--olCropXoffsetN --olCropYoffsetN
--olCropWidthN --olCropHeightN
# 裁剪参数
# X,Y表示相对左上角从哪里开始裁剪
# W,H表示裁剪区域的大小
--olCropXoffset01=50 --olCropYoffset01=20
--olCropWidth01=100 --olCropHeight01=60
# 从原始图像(50,20)位置开始裁剪,裁剪出100×60像素的区域
2. OSD map 参数
2.1 参数介绍
编码器最多支持 12 种颜色的 OSD 映射,OSD Map的优先级最低,和开启--olSuperTileN的region不能同时启用
一行索引数据只对应OSD区域的单行像素颜色定义,完整数据需要多行数据组合
--osdMapEnable
# 启动OSD映射
--osdMapInput
# OSD映射的输入文件
--osdMapStride
# OSD映射步幅
--osdMapBlockSize
# OSD以像素为单位映射不同的块大小
--osdMapAlphaN
# [0..255]颜色N的透明度
--osdMapYN --osdMapUN --osdMapVN
# OSD贴图颜色的Y、U、V值
2.2 部分参数设置(需注意的点)
2.2.1 osdMapStirde
限制条件一:
The stride must be greater than or equal to (codingWidth + 15[or 7]) >> 4[or 3] where codingWidth equals the value of --width, because the basic unit of the 4-bit OSD map is a 8x8 or 4x4 pixel block.
步幅必须大于或等于(codingWidth + 15[or 7]) >> 4[或 3],其中编码宽等于--width的值,因为4-bitOSD映射的基本单元是8x8 or 4x4Pixel块。
输入文件:w, h
osdMapStride值:s
osdMapBlockSize值:b (我们这仅支持 8: 8x8,b取值8)
计算方式:s < ((w + (b * 2 - 1)) / b / 2)) --> s < ((w + (b * 2 - 1)) * 2 / b))
限制条件二:
osd输入文件:w, h
osdMapStride值:s
计算方式:(w * h) / (s * h) > 0
注意:这里是除数大于0,是一个整数
3. OSD mosaic 参数
3.1 参数介绍
编码器最多支持 12 个马赛克区域,每个镶嵌区域必须与 CTB 大小对齐。
同一索引的 Mosaic 区域和 OSD 区域不能同时启用,如果启用了同一索引的 mosaic 区域和 OSD 区域,则 OSD 区域无效。
--mosaicEnables
# 位掩码方式控制,每个位表示一个OSD region是否启用
# 例如:--mosaicEnables=15,15=0x1111,region 1-4都启用
--mosSizeIndex
# 不同的马赛克大小
# 0:8x8、1:16x16、2:32x32、3:64x64、4:128x128
--mosAreaN
# 马赛克区域
--mosAreaN=left:top:right:bottom
# 区域最左/顶/最右/低部像素
# left:top = 左上角坐标
# right:bottom = 右下角坐标
3.2 部分参数设置(需注意的点)
3.2.1 mosSizeIndex
mosSizeIndex参数设置无效,都是固定值
jpeg:仅支持16x16
h264:仅支持16x16
h265:仅支持64x64
浙公网安备 33010602011771号