生成FastLogo子映像文件(fastlogo.subimg.gz)

介绍

本文档的范围是提供相关信息和说明用于从给定的PNG或JPEG文件生成fastlogo子映像文件(fastlogo.subimg.gz)。

fastlogo.subimg.gz文件布局

fastlogo.subimg.gz 是一个压缩文件,由两部分组成:文件头和logo/image数据。 文件的前1KB是文件头,其中包含有关logo/image的信息, 如版本、logo/image数量以及每个logo/image的具体细节(包括偏移、宽度、高度和大小)。 logo/image数据紧跟在文件头之后存储。

下面的布局简要介绍了分区。下图说明了 fastlogo.subimg.gz 文件的高级结构。

fastlogo_partition_layout

客制化fastlogo.subimg.gz

生成fastlogo.subimg.gz的脚本位于sdk代码库中的以下路径中。

  • YUV422 fastlogo生成脚本 - <sdk_path>/build/tools/bin/create_fastlogo.sh

  • RGB24 fastlogo生成脚本 - <sdk_path>/build/tools/bin/create_fastlogo_rgb24.sh

跨平台的fastlogo.subimg.gz logo/image的数据格式

如果需要自定义,则上述fastlogo.subimg.gz文件须用给定的参考脚本来修改/生成, 然后进行相应更新。

不同平台的Fastlogo输入:

  • SL1680/SL1640: logo/image 应为 YUV422 视频格式。

  • SL1620: logo/image 应为 RGB24 图形格式。

SL1640/SL1680:YUV422视频格式fastlogo.subimg.gz的生成

默认脚本 create_fastlogo.sh 以YUV422视频格式生成三张分辨率为 1920x1080、1280x720 和 800x1280 的图像。 若要调整分辨率,请参考下图,重点关注以“append_header”和“ffmpeg”开头的行,其中指定了分辨率。

fastlogo_yuv

append_header: 为logo image添加文件头信息, 如 宽度,高度以及每行的字节数。 根据所需的显示分辨率调整宽度和高度

let logo_offset=1024
append_binary8 $logo_offset $ofile
append_header 1920 1080 $ofile

ffmpeg: 此脚本使用ffmpeg将JPG/PNG文件转换为YUV422格式。 根据所需的显示分辨率调整/修改宽度和高度

ffmpeg -i $ifile -pix_fmt uyvy422 -s 1920x1080 -f rawvideo - | cat >> $ofile

SL1620:RGB24图形格式FastLogo子映像文件(FastLogo.subimg.gz)的生成

默认脚本 create_fastlogo_rgb24.sh 以RGB24图形格式生成三张分辨率为 800x1280 和 800x480 的图像。 若要调整分辨率,请参考下图,重点关注以“append_header”和“ffmpeg”开头的行,其中指定了分辨率。

fastlogo_rbg24

append_header: 为logo image添加文件头信息, 如 宽度,高度以及每行的字节数。 根据所需的显示分辨率调整宽度和高度

let logo_offset=1024
append_binary8 $logo_offset $ofile
append_header 800 1280 $ofile

ffmpeg: 此脚本使用ffmpeg将JPG/PNG文件转换为YUV422格式。 根据所需的显示分辨率调整/修改宽度和高度

ffmpeg -i $ifile -pix_fmt rgb24 -s 800x1280 -f rawvideo -vf transpose=2 - | cat >> $ofile

生成fastlogo.subimg.gz的步骤

包含“Astra reference logo” 的 fastlogo.subimg.gz文件可在以下位置找到。

<SDK_PATH>/configs/product/<profile>

fastlogo.subimg.gz 文件生成脚本的参数

SL1620: 生成 RGB24 logo subimage

create_fastlogo_rgb24.sh -i <input Jpeg/PNG file> -o fastlogo.subimg

SL1640/SL1680: 生成 YUV422 logo subimage

create_fastlogo.sh -i <input Jpeg/PNG file> -o fastlogo.subimg