First I just want to say a bit more about my title, I am not referring to the fact that upscaling doesnt add data(as often asked when upscaling) - but something different.
I have raw video A1 (854x480)
I encode A1 to B1 ignoring scale - therefore keeping same 854x480.
ffmpeg -i C:\A1.mkv -preset veryslow -crf 24 C:\B1.mkv
I play this video in a player, and upscale it by enlarging the window of the player, the video is now 1092x614, I save a screenshot of frame 88.
I now encode A1 to C1 specifying scale 1092x614 (Like the screenshot we have)
ffmpeg -i C:\A1.mkv -preset veryslow -crf 24 -filter_complex scale=1092:614 C:\C1.mkv
I save a screenshot of frame 88 in C1 at its native screensize - 1092x614
Because I am using a Raw Original for both encodes, I assumed that both screenshots would look the same - but they do not, the upscaled encode C1 is alot poorer quality compared to the manual upscaled encode B1.
I thought that when I upscale manually with my player and see the image, ffmpeg does the same whilst its encoding - therefore it would see the same image I see and build the encode based on that, but its as though the rendering engine ffmpeg uses is different/not as good.
Is there a way to get around this issue?
Can we achieve similar by a different technique? Such as editing the metadata of the Original Raw A1 and setting the Width:Height - making any player open the video at that size unknowingly upscaling it on playback.
My use case for this is I am trying to simulate dimensions recognized in most major video hosts - any video below a threshold wont be encoded by the host with certain settings.