Opened 6 years ago
Closed 6 years ago
#7598 closed enhancement (fixed)
Add row-mt option to libaom-av1
Reported by: | Ewout | Owned by: | |
---|---|---|---|
Priority: | wish | Component: | avcodec |
Version: | git-master | Keywords: | libaom |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Like libvpx libaom can use the row-mt
option to allow row based multi-threading within tiles. FFmpeg has the row-mt option integrated with libvpx, it would be great if it could also be added to libaom-av1.
Change History (7)
comment:1 by , 6 years ago
comment:2 by , 6 years ago
In the latest build of aomenc 1.0.0-1009-g2d7eb8bce it's not enabled by default:
--row-mt=<arg> Enable row based multi-threading (0: off (default), 1: on)
Also, when running ffmpeg (20181205-2c64a6b) CPU usage never spikes above 35%, averaging around 27% on a quad-core machine.
comment:3 by , 6 years ago
You should use either the -tiles or -tile-columns and -tile-rows options to encode a file with more than one tile if you want any multi threading from libaom, in any case.
comment:4 by , 6 years ago
Component: | undetermined → avcodec |
---|---|
Priority: | normal → wish |
Type: | defect → enhancement |
Version: | unspecified → git-master |
comment:5 by , 6 years ago
Component: | avcodec → undetermined |
---|---|
Priority: | wish → normal |
Type: | enhancement → defect |
Version: | git-master → unspecified |
I agree that encoding with tiles is still preferred for decoding performance ([data https://docs.google.com/spreadsheets/d/1AO3lDZnpC8pNJffOknY1rIxXwLog_ISwHhO_sv3Xlhg/edit#gid=1957344704]). But with -tile-columns 1
the CPU spiked at 32% usage, while with -tile-columns 2
and -tiles 2x2
the max CPU usage was 53%. More than 4 tiles is not necessary to reach great decode performance, so row-mt
could still provide a big speedup in encoding performance.
Edit: Excuse me, didn't mean to revert the properties of the ticket.
comment:6 by , 6 years ago
Component: | undetermined → avcodec |
---|---|
Priority: | normal → wish |
Type: | defect → enhancement |
Version: | unspecified → git-master |
comment:7 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in d12d4d45153e45e5b91ee079045f8fcde3537b33.
row-mt is enabled by default in libaom. An option should not be needed.