Itemlume
Sign inCreate account

PRODUCT CREATIVE / PRODUCTION AND HANDOFF

Why does FFmpeg loudnorm switch to dynamic processing even when linear mode is enabled?

The linear option is conditional. FFmpeg loudnorm requires all four measured input statistics, a target loudness range no lower than the source range, and a proposed loudness change that keeps true peak within the target. If any condition fails, the filter reverts to dynamic mode. Diagnose those conditions before repeating the render.

01 / WHY DOES FFMPEG LOUDNORM SWITCH TO DYNAMIC PROCESSING EVEN WHEN LINEAR MODE IS ENABLED?

Why linear=true can become dynamic

According to FFmpeg Filters: loudnorm, linear mode scales the source audio by a constant amount. That approach is possible only when the filter has enough measured information to predict the result safely. If any required measurement is absent, or if the requested targets cannot be met by simple scaling, loudnorm falls back to dynamic normalization.

A dynamic result can therefore follow the documented fallback rather than an ignored option. Check the conditions individually and review the reported mode. Do not treat either a requested mode or a successful render as proof that the output satisfies an external delivery specification.

02 / WHY DOES FFMPEG LOUDNORM SWITCH TO DYNAMIC PROCESSING EVEN WHEN LINEAR MODE IS ENABLED?

The prerequisites to check

For the normalization pass, supply all four source statistics using their actual option names: measured_I is the measured integrated loudness, measured_LRA is the measured loudness range, measured_TP is the measured true peak, and measured_thresh is the measured threshold. These describe the input; I, LRA and TP set the requested output targets. Obtain the measurements from an earlier analysis of the same audio and keep the four values together. Supplying only measured_I and measured_TP leaves measured_LRA and measured_thresh missing.

The target loudness range must not be lower than the source loudness range. A linear gain change cannot compress the source’s variation over time, so asking it to reduce that range conflicts with the method. Also check the predicted true peak: the change in integrated loudness must not produce a peak above the chosen maximum true-peak target. If it would, loudnorm reverts to dynamic processing. The target values and measurements must also be coherent and tied to the same source audio.

03 / WHY DOES FFMPEG LOUDNORM SWITCH TO DYNAMIC PROCESSING EVEN WHEN LINEAR MODE IS ENABLED?

Illustrative exercise: two measured inputs

Consider this clearly fictional finishing scenario. Input A is a short product demonstration whose earlier analysis reports a source loudness range below the requested target range. Its measured integrated loudness, measured range, measured true peak, and measured threshold are all supplied, and applying the requested gain would keep the predicted true peak below the target ceiling. Linear mode has a valid basis for this input.

Input B is a voiceover-and-music version of the same ad. The command includes measured integrated loudness and measured true peak, but omits measured range and measured threshold. Even if linear=true is present, the complete prerequisite set is missing, so the documented rule requires a fallback to dynamic mode. In another fictional variation, all four measurements are present, but the requested range is narrower than the source range or the gain would push true peak beyond the target. That input also fails the linear conditions.

04 / WHY DOES FFMPEG LOUDNORM SWITCH TO DYNAMIC PROCESSING EVEN WHEN LINEAR MODE IS ENABLED?

A practical finishing workflow

As an editorial workflow, keep the approved original and analyze a copy of the exact audio intended for rendering. Record the four measurements and use values from that same input in the normalization pass. Keep the intended integrated-loudness, range and true-peak targets in the record. Changing the mix after measurement means the earlier statistics no longer describe the new source.

Request statistics from the actual normalization pass by adding print_format=json to its loudnorm option list, using the suffix :print_format=json after your targets and measured values. The default, print_format=none, prints no statistics; print_format=summary is the documented readable alternative. This is an option example, not an executed FFmpeg run. Keep the printed report and inspect the normalization mode alongside the output measurements. A report from the earlier analysis pass does not establish the mode used by the final pass. If linear processing is essential, correct the measurements or targets that fail the conditions before rendering again.

Once the fallback is resolved, review the complete finished soundtrack to check whole-file loudness, speech balance and listening conditions before approving delivery.

05 / WHY DOES FFMPEG LOUDNORM SWITCH TO DYNAMIC PROCESSING EVEN WHEN LINEAR MODE IS ENABLED?

Illustrative loudnorm linear-mode eligibility record

These are illustrative exercise rows. Save a copy and record your own observations; the example is not an executed acceptance test.

Input copyFour measurements suppliedTarget LRA versus source LRAPredicted peak versus target TPReported mode and next decision
A: fictional eligible inputAll four supplied from this copyTarget is not lowerProposed gain stays within targetReview reported mode and output; no delivery-standard guarantee
B: fictional incomplete inputOnly measured_I and measured_TP suppliedNot sufficient to resolve eligibilityNot sufficient to resolve eligibilityComplete the missing measured_LRA and measured_thresh; do not just repeat linear=true

Download review worksheet (CSV)

Published by ItemlumePublished Updated Evidence and editorial policy
SOURCES & SCOPE

Sources and further reading

Recorded source-review dates are listed individually below. An undated source does not inherit the article’s publication date. Software and platform rules can change; check the current original before acting.

QUESTIONS, ANSWERED

Frequently asked questions

Does linear=true force loudnorm to use linear processing?

No. It requests linear normalization, but loudnorm can revert to dynamic mode when any required measurement is missing, the target range is below the source range, or the predicted true peak would exceed the target.

Can linear normalization reduce a loudness range?

No. Linear scaling changes overall level without changing the source’s internal loudness variation. A lower target range conflicts with linear mode and can trigger dynamic normalization.

PREPARE ASSETS FOR YOUR NEXT STEP

Create supporting product assets in Itemlume.

Create new product creative assets in the workspace, then continue in your chosen tools. Third-party software procedures described in this guide take place in those applications; this workspace link does not imply an integration. Check current capabilities, account access and credit quotes.

Explore asset creation tools Check pricing and credits