主题中讨论的其他器件:test2
工具与软件:
您好!
我们希望使用 tiovxldc Gstreamer 元素来使图像不失真。
对于 m=4 (16倍缩小)的传入1280x944图像、LUT 文件应包含具有以下分辨率的网格:
网格宽度为1280/16 + 1 = 81;
网格高度为944/16 + 1 = 60;
填充的 LUT 节距大小= 81 * 2 * 2 = 324四舍五入为16对齐= 336字节
因此、完整填充的 LUT 网格大小为336 * 60 = 20160字节。
我们创建了一个包含10080 S16Q3元素的二进制文件、并尝试将该文件指定为 tiovxldc 的 LUT 文件:
gs
t-launch-1.0 videotestsrc ! video/x-raw,width=1280,height=944 ! tiovxldc ldc-ds-factor=4 ldc-table-width=1280 ldc-table-height=944 lut-file=./binarylut.lut ! v4l2h265enc ! filesink location=test2.mp4
启动管道后、我们会收到以下错误:
[ERROR] 1503: readImage: Plane [0] bytes read = 20160, expected = 23040
我检查了原始文章并找到了以下图像:
此处、SL2大小是 GStreamer 流水线期望的确切大小。
如果我们检查原始文章中提到的"TEST_mesh_LDC_DCC.xml"、我们的大小计算结果是正确的、但 tiovxldc Gstreamer 元素希望 LDC LUT 文件的内容比实际 mesh_table_size 多:
我们无法使用预先生成的固定 DCC 文件、因为我们需要动态更改并重新计算失真。 您能帮助我们如何生成可与 tiovxldc Gstreamer 元素一同使用的正确 LDC LUT 文件吗?