Skip to content

Raised --lookahead-level silently disables AQ. #692

@Orum

Description

@Orum

If you run a command to encode like so:
nvencc --y4m -i "src.y4m" -c av1 --cqp 128 -u quality --lookahead 32 --lookahead-level 3 -o "off.ivf"

nvencc will report during encoding that AQ is off. If you then run another command to make another encode, this time with AQ on, i.e.:
nvencc --y4m -i "src.y4m" -c av1 --cqp 128 -u quality --lookahead 32 --lookahead-level 3 --aq -o "on.ivf"

nvencc this time will report that AQ is on (spatial, strength auto). However, if you look at the files, you'll note that not only are they the same size, but they're also the same hash, e.g.:

md5sum *.ivf
83cd11d37312304279b06a44924c40fe  off.ivf
83cd11d37312304279b06a44924c40fe  on.ivf

This appears to happen any time that the lookahead level is raised above the default; i.e. whenever it is set to 1, 2, or 3, turning --aq on or off has no effect (presumably it is disabled). There is no warning or error in nvencc about this—it happens silently, and nvencc's printed output will still show AQ being on/off as if it were changing things.

This also affects codecs other than AV1, e.g. H.265, and I think it may affect H.264 as well (though I tend to prefer hierarchical B-frames over lookahead there, and those options are mutually exclusive, so I haven't tested this).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions