Skip to content

[FEAT] Optional MediaCodec CQ / quality mode on supported encoders #1

Description

@upbox-org

Feature Request

Please consider adding an optional hardware quality mode for supported encoders/codecs, rather than a software-style CRF mode.

I understand Compressor is designed around fast hardware encoding via Media3/MediaCodec, and I am not requesting a switch to slow software encoding.

What I am requesting is:

  • Detect whether the selected hardware encoder supports BITRATE_MODE_CQ
  • If supported, expose an optional quality-based mode (or advanced toggle/slider)
  • If not supported, fall back to the current bitrate/preset behaviour

This would not be a true CRF replacement, just a hardware-friendly quality control option for devices/codecs that support it.

Why this would help:
Right now I can only target size/bitrate indirectly through the presets. For some videos I would prefer targeting a more stable visual quality level, even if the final bitrate/file size varies.

I think this fits Compressor's scope because it would still use the existing hardware-accelerated pipeline and would remain optional.

Current Behaviour

Compressor currently relies on hardware-accelerated encoding and preset/bitrate-oriented compression behaviour.

For my use case, this works very well and is extremely fast. The only thing I am missing is an optional quality-targeted mode comparable in concept to CRF, but implemented using MediaCodec capabilities where available instead of software encoding.

Device Info

  • Device Model*: Google Pixel 7 Pro & Galaxy S23 Ultra
  • Android Version*: 16 (GrapheneOS) & 15 (One UI)
  • Device Chipset: Google Tensor G2 & Snapdragon 8 Gen 2 for Galaxy
  • Device Model Number: GE2AE & SM-S918B

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Projects

Status
Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions