On 25/03/2019 09:27, Tao Zhang wrote:
Hi,Timo and Mark and I have been discussing this, and we think the right thing to do is add support to vf_scale_cuda to respect the crop properties on an input AVFrame. Mark posted a patch to vf_crop to ensure that the properties are set, and then the scale filter should respect those properties if they are set. You can look at vf_scale_vaapi for how the properties are read, but they will require explicit handling to adjust the src dimensions passed to the scale filter.Maybe a little not intuitive to users.This will be a more efficient way of handling crops, in terms of total lines of code and also allowing crop/scale with one less copy. I know this is quite different from the approach you've taken here, and we appreciate the work you've done, but it should be better overall to implement this integrated method.Hi Philip, Glad to hear you guys had discussion on this. As I am also considering the problem, I have some questions about your idea. So, what if user did not insert a scale_cuda after crop filter? Do you plan to automatically insert scale_cuda or just ignore the crop? What if user want to do crop,transpose_cuda,scale_cuda? So we also need to handle crop inside transpose_cuda filter?
>
Ideally, scale_cuda should be auto-inserted at the required places once it works that way. Otherwise it seems pointless to me if the user still has to manually insert it after the generic filters setting metadata.I have the same question.
For that reason it should also still support getting its parameters passed directly as a fallback, and potentially even expose multiple filter names, so crop_cuda and transpose_cuda are still visible, but ultimately point to the same filter code.
We have a transpose_npp, right now, but with libnpp slowly being on its way out, transpose_cuda is needed, and ultimately even a format_cuda filter, since right now scale_npp is the only filter that can convert pixel formats on the hardware. I'd also like to see scale_cuda to support a few more interpolation algorithms, but that's not very important for now.
All this functionality can be in the same filter, which is scale_cuda. The point of that is that it avoids needless expensive frame copies as much as possible.
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".