View Single Post
Old 21st November 2018, 19:26   #1  |  Link
HappyLee
Registered User
 
Join Date: Mar 2013
Posts: 27
Why isn't there a GeneralConvolution filter on YV12 or Y8?

Hi. I'm applying a 5×5 matrix convolution on the Y plane of an YV12 video, but I have trouble finding the perfect filter that does this very simple task.

GeneralConvolution can do what I want, but it only works on an RGB32 clip, so I have to use:
ConverttoY8(matrix="PC.601").ConverttoRGB32(matrix="PC.601").GeneralConvolution(matrix="...").ConverttoY8(matrix="PC.601")
I find it a waste of CPU time and memory, since it calculates R, G & B planes while I only need it to calculate the Y plane.

mt_convolution from MaskTools2 seems like a better solution for YV12 convolution, but it doesn't seem to support a fully customized matrix. It only supports Horizontal × Vertical and I can't apply my full 5×5 matrix like I can with GeneralConvolution.

So I can't help but asking, since convolution is so important, why isn't there a convolution filter that works on YV12 or Y8 like mt_convolution but supports a full matrix like GeneralConvolution? Thanks.
HappyLee is offline   Reply With Quote