max_frame_size, tile_rows
mikk9 opened this issue · 7 comments
I tried out ffmpeg the last few days and found two useful settings for AV1 encoding on Arc, it's tile_rows and max_frame_size. Possibly also tile_cols in some cases.
I tried one video and found these two settings are good (CBR 6000):
-max_frame_size: 50000
-tile_rows 2
PSNR, SSIM, VMAF scores are better with these. Maybe it's something for QSVEnc as well.
Another example. In this tile_cols 2 also improves. I can go higher with the bitrate.
Default tiles are 1: https://spec.oneapi.io/onevpl/latest/API_ref/VPL_structs_encode.html#mfxextav1tileparam
I tried 3 and higher but then the quality goes down. 2 is the best.
QSVEnc 7.45 adds --tile-row, --tile-col and --max-framesize.
Thanks that was fast. It appears that max-framesize isn't working, no matter what size I try it makes no difference. Tile is working.
I believe --max-framesize requires VBR, it makes a difference there. ffmpeg uses VBR on default.
QSVEnc has --cqp default, so you need to explicitly specify --vbr along with --max-framesize.
the --tile-col and --tile-row seem not working with the Intel Arc, as it is reset by driver to 0, when i specify more than 0, but with ffmpeg it works with ICQ encoding mode together. Is there an workaround?