encoding – yuv420p10le ffmpeg pixel format; why does 16 bit input take less space than 8 bit?
I recently experimented with exporting lossless PNG sequences from Adobe After Effects in either 8-bpc or 16-bpc modes. I then encoded these PNG sequences using ffmpeg in two different ways:
VVC:
ffmpeg -framerate 60 -i "out_%05d.png" -y -c:v libvvenc -preset faster -tier high -qpa 0 -period 56 -vvenc-params bitrate=700M output.266
HEVC:
ffmpeg -framerate 60 -i "out_%05d.png" -y -c:v libx265 -preset medium -crf 8 -pix_fmt yuv420p10le output.mp4
I found the file size of the encoded 16-bpc PNG sequence can be decently smaller than the versions which encoded the 8-bpc PNG sequence for both codecs across multiple videos. The values in the table below represent the file size in MB:
I will test with more videos and update this table later but it will take time for all the exports and encodes to run.
Initially I found this counterintuitive given there is more information in the 16-bpc sequences, in which case I would think the encoded file sizes would be larger. Remembering the codec converts the input to 10 bit regardless, my next thought is that they should be a similar file size.
I don’t understand why this happens. Would somebody explain?
Read more here: Source link

