首页 > 解决方案 > ffmpeg geq 过滤器无法识别按位运算符

问题描述

我正在尝试将P010(10 位 YUV420 打包在 16b 中,数据与 MSB 对齐)视频序列的低 6 位钳位为 0。在 CI 中会执行以下操作:

pixels_out[y][x] = pixels_in[y][x] & 0xffc0;

我的 ffmpeg 过滤器如下所示:

-vf "geq=lum_expr='lum(X,Y)&0xffc0':cb_expr='cb(X,Y)&0xffc0':cr_expr='cr(X,Y)&0xffc0'"

ffmpeg 抱怨一些错误消息:

Invalid chars '&0xffc0' at the end of expression 'lum(X,Y)&0xffc0'
Error initializing filter 'geq' with args 'lum_expr=lum(X,Y)&0xffc0:cb_expr=cb(X,Y)&0xffc0:cr_expr=cr(X,Y)&0xffc0'

如何正确屏蔽像素数据的底部 6 位?提前致谢!

标签: videoffmpeg

解决方案


推荐阅读