ffmpeg/avconv force scaled output to be divisible by 2
Solution 1:
Since division by 2 incurs in odd numbers sometimes, it should be:
-vf scale="trunc(oh*a/2)*2:720"
This performs what one would want with -1:720
syntax (keep original aspect ratio)
Solution 2:
Actually the filter can handle it directly. You need only to pass -2
instead of -1
to the filter: e.g.
-vf scale="-2:720"
I was surprised to find this out in a bug report from 3 years ago.
Solution 3:
After a lot of experimenting it looks like the following filter applied after other scale filters will round the width and height to 2.
scale=trunc(in_w/2)*2:trunc(in_h/2)*2
It's basically a divide, round, multiply thing, I just didn't have the syntax right.