<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Audio on Charlie Chiang's blog</title><link>https://charlie0129.github.io/blog/categories/audio/</link><description>Recent content in Audio on Charlie Chiang's blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sun, 16 Aug 2026 16:42:45 +0800</lastBuildDate><atom:link href="https://charlie0129.github.io/blog/categories/audio/index.xml" rel="self" type="application/rss+xml"/><item><title>Building Audio Insight: An Audio Analyzer That Actually Renders Smoothly</title><link>https://charlie0129.github.io/blog/p/building-audio-insight/</link><pubDate>Sun, 16 Aug 2026 16:42:45 +0800</pubDate><guid>https://charlie0129.github.io/blog/p/building-audio-insight/</guid><description>&lt;p>I like audio analyzers. It answers questions that my ears alone cannot answer quickly. Where is that resonance? Is the low end actually mono? How loud is this over the whole track? Is a limiter catching an occasional peak, or working all the time?&lt;/p>
&lt;p>What I do not like is an analyzer whose interface feels slower than the display it runs on.&lt;/p>
&lt;p>On my M1 Max, Excite Audio VISION 4X appeared to top out at roughly 30 FPS, with inconsistent frame timing, while consuming about one CPU core. iZotope Insight 2 looked smoother, but in my experience it was comparatively resource-heavy and expensive. These were observations from my own setup, not controlled benchmarks that apply to every machine, host, and plugin version. Still, they were enough to make me wonder: how difficult would it be to build the analyzer I wanted?&lt;/p>
&lt;p>That became &lt;a class="link" href="https://github.com/charlie0129/audio-insight" target="_blank" rel="noopener"
>Audio Insight&lt;/a>, an open-source AUv2 and VST3 analyzer for macOS. Its first goal is deliberately narrow: show useful measurements, leave the audio unchanged, keep real-time callback work bounded, and make the interface feel native on a high-refresh-rate display.&lt;/p>
&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard.png"
width="2400"
height="1600"
srcset="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_65720109d0b02a45.webp 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_bef71f94e6a17226.jpg 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_69cd2a1a5c959a9.webp 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_90165cad42ea4598.jpg 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_e5c6a27b39095609.webp 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_a4aec93b81a0f8da.jpg 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_6b3fb61cc0a9dbfe.webp 2048w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_af4a7725d3b77d03.jpg 2048w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_879369758ebcb0fa.webp 2400w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-dashboard_hu_b23cace1a05ee5e4.jpg 2400w"
loading="lazy"
alt="Audio Insight dashboard with all five analyzers"
class="gallery-image"
data-flex-grow="150"
data-flex-basis="360px"
>
&lt;/p>
&lt;p>The project is still early, but it already has a Spectrum, Spectrogram, Peak/RMS meter, stereo vectorscope and correlation meter, and BS.1770 loudness measurements. Four grid-snapped splitters resize the dashboard tiles, the analysis parameters are adjustable, and a built-in metrics panel makes the renderer&amp;rsquo;s behavior visible instead of leaving performance to intuition.&lt;/p>
&lt;p>This post is about how it works, but mostly about the unexpectedly interesting work required to make a meter move smoothly.&lt;/p>
&lt;h2 id="what-an-audio-plugin-actually-does">What an audio plugin actually does
&lt;/h2>&lt;p>People who use plugins often picture them as little applications inside a DAW. That is a useful mental model for the interface, but not for the audio path.&lt;/p>
&lt;p>An AU or VST3 plugin is code loaded by a host (or, in some hosts, a separate hosting service). The host repeatedly gives the plugin a small block of samples by calling its processing function. At 48 kHz with 512-sample blocks, a new block arrives about every 10.7 milliseconds. The plugin has to finish before the hardware needs the result. Missing that deadline can produce a click or dropout.&lt;/p>
&lt;p>Audio Insight is a transparent effect: it observes supported mono or stereo audio and leaves the samples unchanged. Even so, its callback has to follow the same real-time rules as a compressor or synthesizer. It cannot allocate memory, take a lock, wait for another thread, write a log, open a file, call the UI, or ask the GPU to draw something. Any of those operations can take an unpredictable amount of time.&lt;/p>
&lt;p>The resulting design looks like this:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">host audio callback
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">bounded, non-blocking capture
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">per-instance analysis coordinator
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">shared two-worker analysis pool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">immutable measurement snapshots
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">display-linked Metal renderer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>The callback only captures bounded chunks into preallocated storage and updates the few measurements that must inspect every sample. A per-instance coordinator coalesces work, and all instances loaded in the same plugin module share two analysis workers. There is at most one running or queued job per instance, so opening many plugin windows does not create a thread for every visualization.&lt;/p>
&lt;p>The workers publish immutable snapshots. The UI reads the newest complete snapshot whenever it draws; it never waits for analysis to finish. This separation matters. Analysis targets 60 slices per second, but the latest-wins scheduler can skip stale work rather than build a backlog. Meanwhile, a ProMotion display can render at around 120 Hz. The renderer can advance display motion between discrete analysis updates without running twice as many FFTs.&lt;/p>
&lt;p>All five visualizations share one Metal canvas, drawable, command buffer, and render pass. JUCE supplies the plugin shell and cross-format plumbing, while the visual layer is native Metal. Coordinates and layout use logical points, and drawable and text resources follow the current backing scale. The implementation is therefore designed to support both regular-density and Retina displays, including live backing-scale changes.&lt;/p>
&lt;p>Both paths are highly optimized. The shared transform uses &lt;code>juce::dsp::FFT&lt;/code>, which selects Apple&amp;rsquo;s Accelerate/vDSP implementation on macOS, and Spectrum and Spectrogram reuse each calibrated result. On the GPU side, the Spectrogram stores calibrated dB in a circular 16-bit-float (&lt;code>R16Float&lt;/code>) texture: scrolling remaps texture coordinates, while shader controls recolor retained history without another FFT or a whole-texture copy. High display cadence therefore does not multiply the default 60 Hz FFT workload.&lt;/p>
&lt;p>When the editor is closed, there is nothing to display, so capture, analysis, history, display-link callbacks, and Metal submissions stop. Audio still passes through normally. Reopening the editor begins fresh rather than silently spending host resources on invisible history.&lt;/p>
&lt;h2 id="turning-samples-into-pictures">Turning samples into pictures
&lt;/h2>&lt;p>The analyzers share infrastructure, but each one answers a different question. Here is the calculation path in a little more detail.&lt;/p>
&lt;h3 id="spectrum-what-frequencies-exist-now">Spectrum: what frequencies exist now?
&lt;/h3>&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum.png"
width="1964"
height="686"
srcset="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum_hu_2387749c0d8ba064.webp 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum_hu_664cee83eb2c0ad.jpg 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum_hu_fbdd5b971d8cb430.webp 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum_hu_deaf9f5d2535fbbb.jpg 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum_hu_c52894cca3685b9.webp 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum_hu_b740d68172460d99.jpg 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum_hu_bdaa1a07fea7d5df.webp 1964w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum_hu_1cda9b55c8a5a78c.jpg 1964w"
loading="lazy"
alt="Audio Insight Spectrum"
class="gallery-image"
data-flex-grow="286"
data-flex-basis="687px"
>
&lt;/p>
&lt;p>The Spectrum takes a short window of recent audio and uses a fast Fourier transform (FFT) to divide it into frequency bins. By default the transform size is \(N=8192\) samples, or about 171 milliseconds at a sample rate \(F_s=48\) kHz. This does &lt;strong>not&lt;/strong> delay the audio by 171 ms; the plugin passes audio through immediately. It means the displayed estimate describes roughly that much recent history.&lt;/p>
&lt;p>The FFT bin centers are separated by \(\Delta f=F_s/N\). With the defaults, that is approximately 5.86 Hz. This number is useful, but it is not the same as saying two tones 5.86 Hz apart can always be resolved: the selected window also determines how widely a tone spreads into nearby bins.&lt;/p>
&lt;p>Before the FFT, samples are multiplied by a periodic five-term flat-top window \(w[n]\). Cutting an arbitrary piece from a continuous waveform creates artificial edges, which spread energy across the spectrum. A window tapers the data to control that leakage. A flat-top window trades some ability to separate nearby tones for better amplitude accuracy, which is a useful default for a measurement tool.&lt;/p>
&lt;p>For channel \(c\), the transform is:&lt;/p>
\[
\begin{aligned}
X_c[k]&amp;=\sum_{n=0}^{N-1}x_c[n]\,w[n]e^{-j2\pi kn/N},\\
f_k&amp;=\frac{kF_s}{N}.
\end{aligned}
\]&lt;p>Audio Insight corrects the window&amp;rsquo;s coherent gain—the amplitude scaling introduced by multiplying by \(w[n]\)—with \(W=\sum_n w[n]\). Real-valued audio has mirrored positive- and negative-frequency FFT bins, but the graph needs only the nonnegative half. In this one-sided view, the DC bin at 0 Hz and the Nyquist bin at \(F_s/2\) use \(1/W\); every bin between them represents both mirrored sides and uses \(2/W\). The calibrated stereo power and level are therefore:&lt;/p>
\[
\begin{aligned}
a_k&amp;=
\begin{cases}
1/W, &amp; k=0\ \text{or}\ k=N/2,\\
2/W, &amp; \text{otherwise},
\end{cases}\\[3pt]
P[k]&amp;=\max_c\left(a_k|X_c[k]|\right)^2,\\
D[k]&amp;=10\log_{10}P[k].
\end{aligned}
\]&lt;p>For mono, the maximum contains only one channel. For stereo, taking the larger channel magnitude avoids first mixing the waveforms to mono, where out-of-phase content could cancel. The calibration makes a bin-centered full-scale sine read 0 dB internally; powers at or below \(10^{-18}\) are displayed at the \(-180\) dB analysis floor.&lt;/p>
&lt;p>Attack and Release then smooth each bin in &lt;strong>linear power&lt;/strong>, not in dB. Given the elapsed time \(\Delta t\) and the selected time constant \(\tau_d\):&lt;/p>
\[
\begin{aligned}
\alpha_d&amp;=
\begin{cases}
0, &amp; d\text{ is Off},\\
e^{-\Delta t/\tau_d}, &amp; d\text{ is enabled},
\end{cases}\\[3pt]
\bar P_t[k]&amp;=\alpha_d\bar P_{t-1}[k]+(1-\alpha_d)P_t[k].
\end{aligned}
\]&lt;p>The direction \(d\) is Attack when \(P_t[k]\geq\bar P_{t-1}[k]\), otherwise Release. An Off direction follows the current FFT immediately. The default Attack is Off, allowing a short burst to appear at once, while the default 250 ms Release lets the trace fall more slowly. Peak hold, when enabled, operates on unsmoothed power instead of \(\bar P\).&lt;/p>
&lt;p>Transforms target a slice rate \(R_s\) using a hop of \(H=\max(1,\operatorname{round}(F_s/R_s))\) new samples. At 48 kHz and 60 slices per second, \(H=800\), so adjacent 8,192-sample windows overlap by about 90.2%. The first result still waits for one complete window, and the latest-wins scheduler may skip stale transforms under load instead of building a backlog.&lt;/p>
&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings.png"
width="2400"
height="1600"
srcset="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_9787958d4bb832d.webp 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_e4c42b32afd89577.jpg 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_b65c00a7ce269ec9.webp 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_4e962807fc7188dc.jpg 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_e2311e7526ab5e66.webp 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_c78d3014e83d6dbb.jpg 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_6528c9c2772ad63b.webp 2048w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_9bfee6b347dac769.jpg 2048w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_796a3c92f524a6a9.webp 2400w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrum-settings_hu_e5c6f6a008c1f78b.jpg 2400w"
loading="lazy"
alt="Spectrum Attack and Release controls"
class="gallery-image"
data-flex-grow="150"
data-flex-basis="360px"
>
&lt;/p>
&lt;p>Spectrum and Spectrogram use the same continuously adjustable frequency scale. For a frequency \(f\) between \(f_0\) and \(f_1\), the scale control \(s\) blends normalized linear and logarithmic coordinates:&lt;/p>
\[
\begin{aligned}
u_{\mathrm{lin}}(f)&amp;=\frac{f-f_0}{f_1-f_0},\\
u_{\log}(f)&amp;=\frac{\ln(f/f_0)}{\ln(f_1/f_0)},\\
u(f,s)&amp;=(1-s)u_{\mathrm{lin}}(f)+s\,u_{\log}(f).
\end{aligned}
\]&lt;p>Here \(f_0=20\) Hz and \(f_1=\min(20\text{ kHz},F_s/2)\). The default is \(s=0.8\). At \(s=0\), equal distances represent equal numbers of hertz. At \(s=1\), equal ratios such as 100→200 Hz and 1→2 kHz occupy equal distances. Values in between preserve more low-frequency detail without compressing the entire treble into a tiny area. Spectrum uses \(x=u\), while Spectrogram uses \(y=1-u\) so high frequencies appear at the top. Axis labels are chosen dynamically: important anchors win first, then extra candidates fill only the space that remains.&lt;/p>
&lt;h3 id="spectrogram-how-did-the-spectrum-change">Spectrogram: how did the spectrum change?
&lt;/h3>&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrogram.png"
width="1570"
height="758"
srcset="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrogram_hu_7f3da03990dee5bf.webp 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrogram_hu_e61b0ccc823d3d7d.jpg 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrogram_hu_3e3ec7e159f2c15d.webp 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrogram_hu_d8e057932d6094d3.jpg 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrogram_hu_ff773f267ecd87d6.webp 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrogram_hu_2135715b92aae3fd.jpg 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrogram_hu_e23e3c8120487b46.webp 1570w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-spectrogram_hu_1b464000e76048f6.jpg 1570w"
loading="lazy"
alt="Audio Insight Spectrogram"
class="gallery-image"
data-flex-grow="207"
data-flex-basis="497px"
>
&lt;/p>
&lt;p>A Spectrum is one slice through time. A Spectrogram keeps those slices and scrolls them sideways, using color for level. Transients become vertical marks, steady tones become horizontal lines, and harmonics become stacks of related lines.&lt;/p>
&lt;p>Each Spectrogram column starts from the same raw power \(P[k]\) as Spectrum, before Spectrum&amp;rsquo;s Attack/Release averaging. Let \(\mathcal K\) contain only usable bin centers from 20 Hz through \(f_1\), and let \(R_f=\min(1024,|\mathcal K|)\) be the texture&amp;rsquo;s frequency-row count. For a usable bin at \(f_k=kF_s/N\), define \(q_k=u(f_k,s)\). Its row is:&lt;/p>
\[
r(k)=\min\left(R_f-1,\left\lfloor R_f q_k\right\rfloor\right).
\]&lt;p>For a row containing one or more bin centers, \(P_r\) is the greatest \(P[k]\) assigned to that row. Taking the maximum, rather than the average, helps a narrow tonal trace survive when several FFT bins land in one display row. If a row contains no bin center—common at low frequencies with a small FFT—the mapper inverse-maps the row center and linearly interpolates the two surrounding bins in power. It is honest interpolation between available samples, not a claim of extra frequency resolution.&lt;/p>
&lt;p>Power at or below \(10^{-18}\) becomes \(-180\) dB; otherwise the mapper stores \(D_r=10\log_{10}P_r\). These values go into a circular Metal texture with one 16-bit floating-point level per cell (R16Float). The texture stores calibrated dB rather than finished colors. In the shader, let \(F\) be the selected floor, \(C\) the ceiling, and \(\eta\) the Color response:&lt;/p>
\[
\begin{aligned}
v&amp;=\operatorname{clamp}\left(
\frac{D_r-F}{C-F},0,1\right),\\
\gamma&amp;=2^\eta,\\
c_{\mathrm{palette}}&amp;=v^\gamma.
\end{aligned}
\]&lt;p>The value \(c_{\mathrm{palette}}\) selects a point in the chosen palette. Response 0 is linear in dB; negative values reveal quieter detail, while positive values suppress low energy and emphasize stronger traces. Because this work happens in the shader, changing palette, range, or response recolors existing history without rerunning the FFT.&lt;/p>
&lt;p>For a history duration \(T\) and requested slice rate \(R_s\), the texture uses \(\min(8192,\lceil TR_s\rceil)\) columns. The default ten seconds at 60 slices per second therefore needs 600 columns. A write index wraps around the texture, and the renderer changes texture coordinates instead of copying the whole image to scroll it. Missing timestamp intervals become black columns rather than stretching old information across time.&lt;/p>
&lt;h3 id="peak-and-rms-how-strong-is-the-signal">Peak and RMS: how strong is the signal?
&lt;/h3>&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-peak-rms.png"
width="534"
height="686"
srcset="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-peak-rms_hu_52e90250c2611238.webp 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-peak-rms_hu_5a4dbf3bd0e0c780.jpg 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-peak-rms_hu_3a0f949a87b5d6b1.webp 534w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-peak-rms_hu_de0186bebe1eb659.jpg 534w"
loading="lazy"
alt="Audio Insight Peak/RMS meter"
class="gallery-image"
data-flex-grow="77"
data-flex-basis="186px"
>
&lt;/p>
&lt;p>Peak and RMS intentionally describe different things.&lt;/p>
&lt;p>Sample peak examines every sample. Its live value has instantaneous attack and a 20 dB/s release:&lt;/p>
\[
\begin{aligned}
\lambda_p&amp;=10^{-20/(20F_s)},\\
p[n]&amp;=\max\left(|x[n]|,\lambda_p p[n-1]\right).
\end{aligned}
\]&lt;p>In other words, a new larger sample wins immediately; otherwise the old indication decays by the amount corresponding to one sample period. A separate hold marker keeps a new maximum for two seconds, then falls at the same 20 dB/s rate. The OVER indicator latches when \(|x[n]|\geq1\), although the label deliberately does not claim that floating-point audio at 0 dBFS proves waveform clipping.&lt;/p>
&lt;p>RMS estimates sustained signal power. With the 300 ms time constant \(\tau=0.300\) s, Audio Insight updates an exponential mean square for every sample:&lt;/p>
\[
\begin{aligned}
\alpha&amp;=e^{-1/(F_s\tau)},\\
q[n]&amp;=\alpha q[n-1]+(1-\alpha)x[n]^2,\\
\operatorname{RMS}[n]&amp;=\sqrt{q[n]},\\
D_{\mathrm{RMS}}[n]&amp;=20\log_{10}\operatorname{RMS}[n].
\end{aligned}
\]&lt;p>This is an exponential response, not a rectangular box containing exactly the latest 300 ms. It also has no AES17 \(+3.01\) dB calibration offset, so a full-scale sine reads approximately \(-3.01\) dBFS RMS. Peak reveals brief extremes; RMS behaves more like a view of sustained energy. The peak remains a &lt;strong>sample peak&lt;/strong>, not an oversampled true-peak/dBTP measurement, so it does not predict a possibly larger value between stored samples.&lt;/p>
&lt;p>These ballistics run on the bounded real-time capture path and inspect every sample. Their meaning therefore does not change if an analysis worker is briefly late.&lt;/p>
&lt;h3 id="stereo-how-are-left-and-right-related">Stereo: how are left and right related?
&lt;/h3>&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-stereo-correlation.png"
width="576"
height="650"
srcset="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-stereo-correlation_hu_263c226881c3769f.webp 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-stereo-correlation_hu_75cef76ae6f2d730.jpg 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-stereo-correlation_hu_23357ccd719a8e4e.webp 576w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-stereo-correlation_hu_81e9cc669ba79053.jpg 576w"
loading="lazy"
alt="Audio Insight Vectorscope and Correlation meter"
class="gallery-image"
data-flex-grow="88"
data-flex-basis="212px"
>
&lt;/p>
&lt;p>The vectorscope turns each stereo sample pair into a point:&lt;/p>
\[
x_{\mathrm{scope}}=\frac{R-L}{2},
\qquad
y_{\mathrm{scope}}=\frac{L+R}{2}.
\]&lt;p>Audio shared equally by both channels has \(x=0\) and lies on the vertical center axis. Opposite-phase audio has \(y=0\) and spreads horizontally. The coordinates remain tied to full scale rather than being normalized independently on every frame, so a quiet signal is not made to look artificially loud.&lt;/p>
&lt;p>The field keeps the latest 250 ms but bounds its GPU data. For \(W_f=\lceil0.25F_s\rceil\) captured frames, the worker selects one pair every:&lt;/p>
\[
d=\left\lceil\frac{W_f}{4096}\right\rceil
\]&lt;p>frames. At 48 kHz, \(W_f=12000\), \(d=3\), and the cloud contains about 4,000 uniformly spaced points. Their opacity fades with age. This decimation changes only the picture; it does not change the correlation measurement.&lt;/p>
&lt;p>The adjacent correlation value uses every sample, with 300 ms exponentially weighted averages:&lt;/p>
\[
\begin{aligned}
\alpha&amp;=e^{-1/(F_s\cdot0.300)},\\
E_n[z]&amp;=\alpha E_{n-1}[z]+(1-\alpha)z[n].
\end{aligned}
\]\[
\rho[n]=\frac{E_n[LR]}{\sqrt{E_n[L^2]E_n[R^2]}}.
\]&lt;p>The three running values \(E[L^2]\), \(E[R^2]\), and \(E[LR]\) advance in source-sample order on the real-time side, and the implementation clamps the final ratio to \([-1,1]\) against numerical error. A value near \(+1\) means the channels are strongly alike, \(0\) means little linear relationship, and a negative value warns that mono playback may cancel important content. If either averaged channel power is below \(10^{-9}\), equivalent to \(-90\) dBFS RMS, correlation is reported as unavailable rather than dividing by a nearly zero value. A genuinely mono input is labeled MONO and likewise does not receive a synthetic \(+1\) correlation.&lt;/p>
&lt;h3 id="loudness-how-loud-does-it-feel-over-time">Loudness: how loud does it feel over time?
&lt;/h3>&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-loudness.png"
width="384"
height="650"
srcset="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-loudness_hu_7320b9503e1a0dce.webp 384w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-loudness_hu_ca5aed9118a6d0df.jpg 384w"
loading="lazy"
alt="Audio Insight Loudness meters"
class="gallery-image"
data-flex-grow="59"
data-flex-basis="141px"
>
&lt;/p>
&lt;p>Raw peak level is not perceived loudness. Audio Insight implements BS.1770-5 K-weighting with the Momentary, Short-term, and Integrated semantics commonly used with EBU R128. K-weighting is a pair of filters: a high-frequency shelf models the head&amp;rsquo;s acoustic effect, and a high-pass stage reduces the contribution of very low frequencies. The code derives their coefficients for the current sample rate.&lt;/p>
&lt;p>If \(y_c[n]\) is the K-weighted output of channel \(c\), Audio Insight forms the per-sample energy and a window mean:&lt;/p>
\[
\begin{aligned}
e[n]&amp;=\sum_c y_c[n]^2,\\
z_W&amp;=\frac{1}{N_W}\sum_{n\in W}e[n].
\end{aligned}
\]&lt;p>For the supported mono and stereo layouts, every actual channel has unit weight. Mono therefore contributes once; it is never duplicated into synthetic left and right channels. Surround layouts and their channel weights are outside the current scope. Window energy becomes LUFS (Loudness Units relative to Full Scale) using the BS.1770 offset:&lt;/p>
\[
L_W=-0.691+10\log_{10}z_W.
\]&lt;ul>
&lt;li>Momentary loudness covers 400 ms.&lt;/li>
&lt;li>Short-term loudness covers 3 seconds.&lt;/li>
&lt;li>Integrated loudness uses 400 ms blocks completed every 100 ms—75% overlap—from the latest Reset within the current uninterrupted, visible analysis interval.&lt;/li>
&lt;/ul>
&lt;p>Momentary and Short-term are simple ungated window measurements. Integrated loudness applies gates: thresholds that exclude blocks from the long-term average. For each 400 ms block \(i\), let its mean-square energy be \(z_i\) and its loudness be \(L_i=-0.691+10\log_{10}z_i\). The absolute-passing set is:&lt;/p>
\[
\begin{aligned}
\mathcal A&amp;=\{i\mid L_i>-70\ \mathrm{LUFS}\},\\
\mu_{\mathcal A}&amp;=\frac{1}{|\mathcal A|}\sum_{i\in\mathcal A}z_i.
\end{aligned}
\]&lt;p>At each Integrated update, one non-iterative relative threshold is calculated 10 LU below the preliminary absolute-gated mean of the history accumulated so far:&lt;/p>
\[
\begin{aligned}
\Gamma_{\mathrm{rel}}&amp;=-0.691+10\log_{10}\mu_{\mathcal A}-10,\\
\mathcal R&amp;=\{i\in\mathcal A\mid L_i>\Gamma_{\mathrm{rel}}\}.
\end{aligned}
\]&lt;p>Finally:&lt;/p>
\[
\begin{aligned}
\bar z_{\mathcal R}&amp;=\frac{1}{|\mathcal R|}\sum_{i\in\mathcal R}z_i,\\
L_I&amp;=-0.691+10\log_{10}\bar z_{\mathcal R}.
\end{aligned}
\]&lt;p>Both comparisons are strict \(>\), and the relative gate is not iterated repeatedly. This two-stage gate prevents silence and very quiet passages from dragging the program average down indefinitely. The tile&amp;rsquo;s Reset command restarts Integrated loudness while ready Momentary/Short-term values and K-weighting continuity remain intact. Editor reactivation, an audio discontinuity, or a format change resets the complete loudness analyzer.&lt;/p>
&lt;p>The empty cases are explicit too. If \(\mathcal A\) contains no blocks, the preliminary mean and relative gate remain unavailable. If \(\mathcal R\) is empty, Integrated loudness remains \(-\infty\). The implementation never divides by an empty set.&lt;/p>
&lt;p>The implementation does not claim complete EBU Mode compliance: it does not yet include LRA or true peak, for example. The label describes its M/S/I measurement semantics, not a certification.&lt;/p>
&lt;p>There is an interesting performance problem hiding in Integrated loudness. Within one uninterrupted visible measurement, the exact answer can cover 24 hours: up to 864,000 blocks. Rescanning every qualifying block every 100 ms would make the cost grow throughout the measurement.&lt;/p>
&lt;p>The implementation uses a preallocated sorted index called a B+ tree. It contains finite block energies above the absolute gate and keeps aggregate counts and sums in its branches; all completed blocks still count toward the 24-hour limit. A new relative-gate boundary can be answered by finding one boundary leaf and combining a bounded number of branch totals. Capacity for the worst case occupies about 7.25 MiB on arm64, and the structure never allocates while processing.&lt;/p>
&lt;h2 id="smooth-is-a-timing-property-not-an-fps-number">Smooth is a timing property, not an FPS number
&lt;/h2>&lt;p>The renderer uses &lt;code>CAMetalDisplayLink&lt;/code>, which supplies a drawable in step with a display. While visible, Audio Insight requests the active display&amp;rsquo;s exact reported maximum refresh rate, with a 60 Hz fallback. That request is best effort—Core Animation and the compositor still control actual presentation—so measured presentation timestamps are the truth.&lt;/p>
&lt;p>This distinction became important repeatedly. A counter can say 120 callbacks per second while the screen still changes only 60 times. An average can say 120 FPS while an occasional doubled interval makes scrolling visibly hitch. Smoothness is about the complete chain from callback to presentation and about the distribution of frame intervals, not just one large number.&lt;/p>
&lt;p>&lt;img src="https://charlie0129.github.io/blog/images/audio-insight-soundsource.png"
loading="lazy"
alt="Audio Insight running inside SoundSource"
>
&lt;/p>
&lt;h3 id="the-plugin-that-crashed-its-host">The plugin that crashed its host
&lt;/h3>&lt;p>The first AU build appeared for a moment in SoundSource and then disappeared. The host reported only that its Audio Unit hosting service had crashed.&lt;/p>
&lt;p>The detailed log led to an assertion in timed drawable presentation. A normal Metal application may call an API such as timed &lt;code>present&lt;/code>, but a drawable delivered by &lt;code>CAMetalDisplayLink&lt;/code> has different presentation ownership. Combining the two caused the hosting process to assert. The correct sequence is to commit the command buffer and call plain &lt;code>present()&lt;/code> on that drawable, while using the display link&amp;rsquo;s target timestamp only for telemetry and scheduling.&lt;/p>
&lt;p>This is one reason plugin development needs testing in real hosts. SoundSource exposed an API misuse that a successful build or unit test had not.&lt;/p>
&lt;h3 id="why-120-display-callbacks-produced-60-frames">Why 120 display callbacks produced 60 frames
&lt;/h3>&lt;p>After the crash was fixed, the display link was firing close to 120 times per second, but only about 60 frames were submitted. The built-in metrics captured the pattern:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Counter&lt;/th>
&lt;th style="text-align: right">Before the fix&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Display-link callbacks&lt;/td>
&lt;td style="text-align: right">6,453&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Metal submissions&lt;/td>
&lt;td style="text-align: right">3,230&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GPU-backpressure drops&lt;/td>
&lt;td style="text-align: right">3,223&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sampled display-link callback rate&lt;/td>
&lt;td style="text-align: right">~111/s&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sampled Metal submission rate&lt;/td>
&lt;td style="text-align: right">~59.6/s&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The cumulative counters cover the full telemetry epoch; the two rates are a sample from its final roughly 0.25 seconds. Almost exactly every other display-link callback was being rejected by the in-flight buffer pool.&lt;/p>
&lt;p>The surprising part was that the GPU was not necessarily too slow. Reusable vertex buffers were retained until the drawable was actually presented. The compositor may hold a drawable for several refresh periods even after GPU execution has completed, so all reusable buffers became occupied and the next callback had nowhere to write.&lt;/p>
&lt;p>The fix was to separate two lifetimes. GPU command completion now releases the reusable buffers immediately. A small, independent object survives only to correlate the later presentation timestamp. The renderer no longer holds large working resources hostage to compositor timing.&lt;/p>
&lt;p>In a later point-in-time M1 Max capture from another development build, with the Metrics panel visible, the drawable was 2,400×1,496 pixels at 2× backing scale. The run recorded 1,188 display-link callbacks, 1,188 submissions, and zero GPU-backpressure drops. Across the most recent 240 presented intervals, the average was 8.438 ms, or 118.52 Hz; 237 intervals were the normal 8.333 ms and three doubled to 16.667 ms. Telemetry also counted 11 skipped presentations over the run. That capture used the then-selected 16,384-point FFT; today&amp;rsquo;s default is 8,192.&lt;/p>
&lt;p>The capture demonstrates that the buffer-lifetime bottleneck and its GPU-backpressure drops were gone. It is evidence of approximately display-rate presentation in that run, not a perfect-pacing claim or a controlled comparison with another plugin.&lt;/p>
&lt;h3 id="making-60-hz-data-scroll-on-a-120-hz-display">Making 60 Hz data scroll on a 120 Hz display
&lt;/h3>&lt;p>The Spectrogram exposed a second kind of stutter. New analysis columns arrive at 60 Hz. If the image moves forward only when a complete column arrives, it necessarily steps every other frame on a 120 Hz display.&lt;/p>
&lt;p>The solution was not to double the FFT workload. The renderer advances a fractional scroll head from the target presentation clock while keeping the actual dB cells discrete. A one-slice cushion absorbs ordinary analysis scheduling jitter. If a texture upload is briefly busy, the renderer postpones that upload while continuing to draw the rest of the dashboard.&lt;/p>
&lt;p>The result is much smoother motion from the same 60-slices-per-second target. This also explains why raising thread priority would have been the wrong first response: the main issue was the relationship between two clocks, not a shortage of real-time privileges.&lt;/p>
&lt;h3 id="the-random-resets-that-were-not-random">The random resets that were not random
&lt;/h3>&lt;p>During longer sessions, all graphs would occasionally reset. The recovery was intentional—when audio history has a real gap, temporal analyzers must not pretend the samples on either side were adjacent—but the handoff overflowed far too easily even while host audio was continuous. Sequence tracking then correctly detected the resulting loss.&lt;/p>
&lt;p>The original capture queue had 16 logical slots and consumed one for each host callback. Its time capacity therefore depended on the host&amp;rsquo;s block size. A metrics capture reached all 16 ready slots, discarded 20 queued chunks to make room for newer audio, and recorded three consumer discontinuities followed by three Loudness resets.&lt;/p>
&lt;p>The redesigned queue packs audio across callback boundaries into 128 slots of 256 frames, retaining 32,768 frames regardless of host callback size. That is about 683 ms at 48 kHz, 341 ms at 96 kHz, or 171 ms at 192 kHz. The capacity and overflow behavior are covered by implementation tests; longer post-redesign host runs remain part of validation. A sufficiently long stall can still overflow it. When that happens, latest data wins and temporal analyzers reset, because joining unrelated pieces of audio would produce convincing but false measurements.&lt;/p>
&lt;h2 id="building-observability-into-the-plugin">Building observability into the plugin
&lt;/h2>&lt;p>Apple&amp;rsquo;s Metal HUD is useful for applications that enable it before creating their first Metal device. A plugin usually arrives after its host has already done that, so it cannot reliably switch the HUD on from a settings button. I replaced that idea with a built-in performance panel available in Release builds.&lt;/p>
&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics.png"
width="2400"
height="1600"
srcset="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_3e35564a57531db1.webp 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_17a99fe9b1840b47.jpg 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_a50d2e90557737cb.webp 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_56e8ba0c2aa2fcf5.jpg 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_c16f0ce7449dffc6.webp 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_7ee062fc54661c12.jpg 1536w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_91a2ab2ced51d103.webp 2048w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_5058b4d74de2b309.jpg 2048w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_8f5e390e440110af.webp 2400w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics_hu_f2af51aec60caaa4.jpg 2400w"
loading="lazy"
alt="Frame pacing and latency composition in the Metrics panel"
class="gallery-image"
data-flex-grow="150"
data-flex-basis="360px"
>
&lt;/p>
&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics-details.png"
width="1030"
height="1492"
srcset="https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics-details_hu_8fc88fe5b45184b.webp 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics-details_hu_6855df2f78d2e266.jpg 480w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics-details_hu_7bb34ff9e83af0ff.webp 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics-details_hu_ece4367265690785.jpg 1024w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics-details_hu_ce43a78db3f44ba9.webp 1030w, https://charlie0129.github.io/blog/p/building-audio-insight/images/audio-insight-metrics-details_hu_392c9d2f73db95ad.jpg 1030w"
loading="lazy"
alt="Metric details"
class="gallery-image"
data-flex-grow="69"
data-flex-basis="165px"
>
&lt;/p>
&lt;p>It reports exact frame pacing over the latest 240 presentation intervals, derived from 241 timestamps; CPU, submit, GPU, and compositor latency composition; display-link scheduling; audio-callback histograms; queue occupancy and discontinuities; analyzer freshness; and raw copyable metrics for offline inspection. The stacked latency bar covers the pipeline from a display-link callback to presentation. It is not a breakdown of an 8.33 ms frame budget: several frames can overlap in flight, so its total can exceed one refresh interval without reducing presentation cadence.&lt;/p>
&lt;p>Graphs move at vblank, headline numbers refresh at no more than 10 Hz, and the full text table refreshes at 4 Hz. That keeps the visual feedback immediate without rebuilding lots of text 120 times per second. Instrumentation turned several vague reports—“it looks a bit laggy,” “it seems to reset”—into specific, actionable failures.&lt;/p>
&lt;h2 id="an-agent-assisted-human-tested-development-loop">An agent-assisted, human-tested development loop
&lt;/h2>&lt;p>I used coding agents to implement much of Audio Insight. That did not remove the need for a tight feedback loop; it made the loop more important.&lt;/p>
&lt;p>The agents could design the threading model, inspect crash logs, add instrumentation, and reason from raw captures. They could build the plugin, but they could not reliably judge how motion felt inside my particular SoundSource setup. At runnable milestones I installed the AU, watched it on the M1 Max, adjusted settings, and returned observations, screenshots, logs, or copied metrics. Those reports led directly to the presentation-lifetime fix, the fractional Spectrogram scroll, dynamic axis labeling, and the queue redesign.&lt;/p>
&lt;p>For visual and real-time software, “the code is correct” and “the product feels right” are different claims. An instrumented implementation plus a person looking at the actual display proved far more useful than guessing at either one in isolation.&lt;/p>
&lt;h2 id="what-is-open-source-today">What is open source today
&lt;/h2>&lt;p>The current code identifies itself as Audio Insight 0.1.0. It targets macOS 15 on arm64 and builds AUv2 and VST3. It uses C++20, CMake, a pinned JUCE submodule for the plugin shell, CPU FFT analysis accelerated by Apple&amp;rsquo;s vDSP on macOS, and a native Metal renderer. Project-owned code is licensed under AGPL-3.0-or-later; JUCE retains its own upstream AGPL terms.&lt;/p>
&lt;p>The current release policy is pragmatic for a small open-source project: builds use ad hoc signing, and Developer ID signing and notarization are out of scope. Users can build from source. For a downloaded bundle, the documented flow is to verify the published checksum, extract it, clear quarantine only on the intended bundle, apply an ad hoc signature, and verify that signature.&lt;/p>
&lt;p>Older macOS versions, Intel/Universal builds, Windows, and AUv3 are architectural possibilities rather than current support promises. Logic compatibility, broader VST3 host coverage, multi-instance stress testing, and several formal performance gates also remain work in progress.&lt;/p>
&lt;p>The source, build instructions, and current limitations are all in the &lt;a class="link" href="https://github.com/charlie0129/audio-insight" target="_blank" rel="noopener"
>Audio Insight repository&lt;/a>. If you use analyzers but have never looked inside one, I hope the code makes the path from samples to pixels a little less mysterious. And if the Spectrogram glides across a 120 Hz display without drawing attention to the renderer, that is exactly the point.&lt;/p></description></item><item><title>Thoughts on Re-Encoded BD Animes</title><link>https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/</link><pubDate>Tue, 17 Jan 2023 21:28:00 +0800</pubDate><guid>https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/</guid><description>&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Re-encoded BD anime series are my go-to when watching animes. They have great quality while being a fraction of the size of a Blu-ray disc. Let alone they come with all kinds of extra contents.&lt;/p>
&lt;p>Nowadays, re-encoded BD anime series usually have video tracks compressed using 10-bit x265 (a software implementation of the H.265/HEVC video compression standard), and audio tracks compressed using FLAC (a lossless audio codec).&lt;/p>
&lt;p>The video tracks are great, generally a good balance between size and quality, no complaints. The audio tracks are my main problem. Sometimes they take up too much space with no real benefit for most viewers.&lt;/p>
&lt;blockquote>
&lt;p>Other versions like WEB-DL are not considered because they are already heavily compressed so they don&amp;rsquo;t have the space concerns.&lt;/p>&lt;/blockquote>
&lt;h2 id="video-tracks">Video Tracks
&lt;/h2>&lt;p>I am totally satisfied with the video tracks, because:&lt;/p>
&lt;ol>
&lt;li>the x265 encoder is very efficient (especially at variable bitrate controlling, which most hardware encoders still suffer from, i.e. NVIDIA NVENC, Intel QuickSync, and AMD VCN), being able to compress video to a fraction of the size of the BD original while preserving video quality;&lt;/li>
&lt;li>the encoding team usually does a great job doing manual optimizations to fix problems in the original video, such as aliasing, ringing, and color banding. (Some team even goes as far as AI upscaling the video, although a bit controversial.)&lt;/li>
&lt;/ol>
&lt;p>Despite being one third (or even less) of the original bitrate, you can barely tell the difference between the re-encoded video and the original one, even when comparing side-by-side. In fact, the re-encoded video is sometimes even better due to the manual optimizations by the encoding team. This saves a lot of space while preserving video quality.&lt;/p>
&lt;blockquote>
&lt;p>Video encoding is a complex topic, involving a huge amount of trial and error, even x265-encoding alone has a TON of dials and knobs to tweak, and this is only part of the whole encoding process. I will not go into details here, simply because of my lack of knowledge.&lt;/p>&lt;/blockquote>
&lt;h3 id="samples">Samples
&lt;/h3>&lt;p>For example, you can see what the encoding team (VCB-Studio) does to optimize the original video quality from the note of &lt;em>Haiyore! Nyaruko-san / 潜行吧！奈亚子&lt;/em> :&lt;/p>
&lt;blockquote>
&lt;p>For Season 1, the source is of nothing special. Its native resolution is 720p, then upscaled by a poor algorithm. This leads to many defects: lines featuring severe aliasing and ringing as well as serious ringing on the image borders. Dark scenes are widely spread throughout Season 1, together with the plentiful use of dark fades, resulting in heavy colour banding.
For the lines, most of the problems can be solved by descaling and reconstruction, then slight AA and moderate de-ringing as supplements. For colour banding, since most scenes have only a little colour banding, in order to deal with severe colour banding in dark scenes, we designed a complex mask for protection in combination with luminance information. We also use a colour banding detection algorithm. Thanks to all those, we finally adaptively controlled the strength of de-banding. At the end, we added some grains to improve the viewing exprience.&lt;/p>
&lt;p>第一季原盘画质一般。原生分辨率为 720p，被比较劣质的算法拉升上来，导致线条带有严重锯齿和振铃，而且画面的边框部分有很强的拉升带来的边缘振铃。画面暗场极多，而且大量运用暗式淡入淡出，这些场景出现了严重的色带。
对于线条，大部分问题都可以通过逆向拉升再重构解决，然后补上轻微的抗锯齿处理和中等强度的去振铃处理。对于色带，由于大部分场景的色带都很少，只有少部分暗场有较严重的色带，我们结合亮度信息设计了复杂的保护手段，并使用了一个色带检测算法，根据检测的结果对去色带的力度进行了自适应调整。最后加上了一定强度的动态噪点，以改善原盘噪点的观感。&lt;/p>&lt;/blockquote>
&lt;details>
&lt;summary>MediaInfo: Haiyore! Nyaruko-san episode 1 from VCB-Studio&lt;/summary>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;span class="lnt">55
&lt;/span>&lt;span class="lnt">56
&lt;/span>&lt;span class="lnt">57
&lt;/span>&lt;span class="lnt">58
&lt;/span>&lt;span class="lnt">59
&lt;/span>&lt;span class="lnt">60
&lt;/span>&lt;span class="lnt">61
&lt;/span>&lt;span class="lnt">62
&lt;/span>&lt;span class="lnt">63
&lt;/span>&lt;span class="lnt">64
&lt;/span>&lt;span class="lnt">65
&lt;/span>&lt;span class="lnt">66
&lt;/span>&lt;span class="lnt">67
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="n">General&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Unique&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">276260962046491867529669363000855506406&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mh">0xCFD5ED098E39DF78A31330DA2C4C2DE6&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Complete&lt;/span> &lt;span class="n">name&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">Volumes&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">pool&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">raidz&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="n">x4tb&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">public&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">anime&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">VCB&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">Studio&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">Haiyore&lt;/span>&lt;span class="o">!&lt;/span> &lt;span class="n">Nyaruko&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">san&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">VCB&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">Studio&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">Haiyore&lt;/span>&lt;span class="o">!&lt;/span> &lt;span class="n">Nyaruko&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">san&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">Ma10p_1080p&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">VCB&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">Studio&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">Haiyore&lt;/span>&lt;span class="o">!&lt;/span> &lt;span class="n">Nyaruko&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">san&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">01&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">Ma10p_1080p&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">x265_flac&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">mkv&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Matroska&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Version&lt;/span> &lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="ne">File&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">946&lt;/span> &lt;span class="n">MiB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Duration&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">23&lt;/span> &lt;span class="nb">min&lt;/span> &lt;span class="mi">56&lt;/span> &lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Overall&lt;/span> &lt;span class="n">bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Variable&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Overall&lt;/span> &lt;span class="n">bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="mi">524&lt;/span> &lt;span class="n">kb&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Encoded&lt;/span> &lt;span class="n">date&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">UTC&lt;/span> &lt;span class="mi">2022&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">05&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">28&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">48&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">application&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">mkvmerge&lt;/span> &lt;span class="n">v48&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">0.0&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;Fortress Around Your Heart&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="mi">64&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">library&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">libebml&lt;/span> &lt;span class="n">v1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">4.0&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">libmatroska&lt;/span> &lt;span class="n">v1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">6.0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Video&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">HEVC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Info&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">High&lt;/span> &lt;span class="n">Efficiency&lt;/span> &lt;span class="n">Video&lt;/span> &lt;span class="n">Coding&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="n">profile&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Main&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="n">L4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="n">High&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Codec&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">V_MPEGH&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ISO&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">HEVC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Duration&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">23&lt;/span> &lt;span class="nb">min&lt;/span> &lt;span class="mi">56&lt;/span> &lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">4&lt;/span> &lt;span class="mi">028&lt;/span> &lt;span class="n">kb&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Width&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="mi">920&lt;/span> &lt;span class="n">pixels&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Height&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="mi">080&lt;/span> &lt;span class="n">pixels&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Display&lt;/span> &lt;span class="n">aspect&lt;/span> &lt;span class="n">ratio&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">16&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Frame&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Constant&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Frame&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">23.976&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">24000&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mi">1001&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="n">FPS&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="ne">Color&lt;/span> &lt;span class="n">space&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">YUV&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Chroma&lt;/span> &lt;span class="n">subsampling&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">depth&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">10&lt;/span> &lt;span class="n">bits&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bits&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Pixel&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="n">Frame&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">0.081&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Stream&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">690&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">73&lt;/span>&lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">library&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">x265&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="mi">97&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ga456c6e73&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">g9859a8cb5&lt;/span>&lt;span class="p">:[&lt;/span>&lt;span class="n">Windows&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">clang&lt;/span> &lt;span class="mf">14.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="mi">64&lt;/span> &lt;span class="n">bit&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">Kyouko&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="n">bit&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="mi">8&lt;/span>&lt;span class="n">bit&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="mi">12&lt;/span>&lt;span class="n">bit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Encoding&lt;/span> &lt;span class="n">settings&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">rc&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">crf&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">crf&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">14.0000&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qcomp&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.65&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qpstep&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">stats&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">stats&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">read&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vbv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">maxrate&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">38000&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vbv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bufsize&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">40000&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vbv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">init&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.9&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">min&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">vbv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">fullness&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">50.0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">vbv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">fullness&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">80.0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">crf&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">max&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">crf&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">min&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lossless&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lossless&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">aq&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">mode&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">aq&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">strength&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">aq&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bias&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">strength&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">cbqpoffs&lt;/span>&lt;span class="o">=-&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">crqpoffs&lt;/span>&lt;span class="o">=-&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">ipratio&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.40&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">pbratio&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.20&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">psy&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rd&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">2.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">psy&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rdoq&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">deblock&lt;/span>&lt;span class="o">=-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">ref&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">limit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">refs&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">limit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">modes&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">bframes&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">adapt&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">bframe&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bias&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pyramid&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">weightp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">weightb&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">min&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">keyint&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">keyint&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">360&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rc&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lookahead&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">80&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">gop&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lookahead&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">scenecut&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">40&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">hist&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">scenecut&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">radl&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">32&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">min&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">me&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">subme&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">merange&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">38&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rdoq&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">level&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rd&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rdpenalty&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">dynamic&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rd&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rd&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">refine&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="o">-----&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">cutree&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sao&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rect&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">amp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">open&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">gop&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">wpp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pmode&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pme&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">psnr&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ssim&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">nr&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">nr&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">inter&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">constrained&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">strong&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">smoothing&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">tu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">16&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">tu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">inter&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">depth&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">tu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">depth&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">limit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">tu&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qg&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">32&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qpmax&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">69&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qpmin&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="o">-----&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">cpuid&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1111039&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">frame&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">threads&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">numa&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pools&lt;/span>&lt;span class="o">=+&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">log&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">level&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">input&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">csp&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">input&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">res&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1920&lt;/span>&lt;span class="n">x1080&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">interlace&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">level&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">idc&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">high&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">tier&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">uhd&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bd&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">allow&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">non&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">conformance&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">repeat&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">headers&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">aud&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hrd&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">info&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">hash&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">temporal&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">layers&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">lookahead&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">slices&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">splice&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">refresh&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ssim&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rd&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">signhide&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">tskip&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">merge&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">temporal&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">mvp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">frame&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">dup&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hme&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">analyze&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">src&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pics&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sao&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">non&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">deblock&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">selective&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sao&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">early&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">skip&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rskip&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">fast&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">tskip&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">fast&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">splitrd&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">skip&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">zone&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">count&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">strict&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cbr&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rc&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">grain&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="k">const&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">vbv&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">sar&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">overscan&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">videoformat&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">colorprim&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">transfer&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">colormatrix&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">chromaloc&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">display&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">window&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">cll&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">min&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">luma&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">luma&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1023&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">log2&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">poc&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lsb&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vui&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">timing&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">info&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vui&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hrd&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">info&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">slices&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">qp&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pps&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ref&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">list&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pps&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">multi&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="k">pass&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rps&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">scenecut&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bias&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.05&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">hist&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">threshold&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.03&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">delta&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">qp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">aq&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">motion&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hdr10&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hdr10&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">dhdr10&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">idr&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">recovery&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sei&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">analysis&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">reuse&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">level&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">analysis&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">save&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">reuse&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">level&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">analysis&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">load&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">reuse&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">level&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">scale&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">factor&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">refine&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">refine&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">inter&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">refine&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">mv&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">refine&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ctu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">distortion&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">limit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sao&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">ctu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">info&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lowpass&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">dct&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">refine&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">analysis&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">type&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">copy&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pic&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ausize&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">factor&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">dynamic&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">refine&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">single&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sei&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hevc&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">aq&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">svt&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">field&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qp&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">adaptation&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">range&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">scenecut&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">aware&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">qp&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="n">conformance&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">window&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">offsets&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">right&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">bottom&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">decoder&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rate&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">vbv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">live&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">multi&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="k">pass&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Default&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Yes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Forced&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">No&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="ne">Color&lt;/span> &lt;span class="nb">range&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Limited&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="ne">Color&lt;/span> &lt;span class="n">primaries&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">BT&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">709&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Transfer&lt;/span> &lt;span class="n">characteristics&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">BT&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">709&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Matrix&lt;/span> &lt;span class="n">coefficients&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">BT&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">709&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Audio&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">FLAC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Info&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Free&lt;/span> &lt;span class="n">Lossless&lt;/span> &lt;span class="n">Audio&lt;/span> &lt;span class="n">Codec&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Codec&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">A_FLAC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Duration&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">23&lt;/span> &lt;span class="nb">min&lt;/span> &lt;span class="mi">56&lt;/span> &lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Variable&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="mi">494&lt;/span> &lt;span class="n">kb&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Channel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">s&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="n">channels&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Channel&lt;/span> &lt;span class="n">layout&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">L&lt;/span> &lt;span class="n">R&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Sampling&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">48.0&lt;/span> &lt;span class="n">kHz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Frame&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">11.719&lt;/span> &lt;span class="n">FPS&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">4096&lt;/span> &lt;span class="n">SPF&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">depth&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="n">bits&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Compression&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Lossless&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Stream&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">256&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">27&lt;/span>&lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">library&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">libFLAC&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">UTC&lt;/span> &lt;span class="mi">2017&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">01&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">01&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Language&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Japanese&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Default&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Yes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Forced&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">No&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Menu&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="mi">00&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">00&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">00.000&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">en&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">Chapter&lt;/span> &lt;span class="mi">01&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="mi">00&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">01&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">14.992&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">en&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">Chapter&lt;/span> &lt;span class="mi">02&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="mi">00&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">02&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">45.040&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">en&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">Chapter&lt;/span> &lt;span class="mi">03&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="mi">00&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">13&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">08.997&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">en&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">Chapter&lt;/span> &lt;span class="mi">04&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="mi">00&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">22&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">10.037&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">en&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">Chapter&lt;/span> &lt;span class="mi">05&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="mi">00&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.002&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">en&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">Chapter&lt;/span> &lt;span class="mi">06&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/details>
&lt;p>As of video quality, you can verify yourself. Here are some frames extracted from &lt;em>Haiyore! Nyaruko-san / 潜行吧！奈亚子&lt;/em> (VCB-Studio). Can you tell any difference between the original and the re-encoded video? Remember that the re-encoded video has a bitrate of only 4028 kbps, while the original video will &lt;em>at least&lt;/em> triple that.&lt;/p>
&lt;blockquote>
&lt;p>This blog uses Responsive Images to improve experience, so what you see here may be scaled down. To view the original image, you can download the original file from the links provided.&lt;/p>&lt;/blockquote>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Original&lt;/th>
&lt;th>Re-encoded&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;img src="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414.png"
width="1920"
height="1080"
srcset="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414_hu_29fa20cfa5d689f9.webp 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414_hu_3167d2319ea5dcbc.jpg 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414_hu_9c39ddbf377e17bb.webp 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414_hu_6476173563f4acb.jpg 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414_hu_279a5772d504b296.webp 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414_hu_2726e7e66e426c91.jpg 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414_hu_1e54bdae89d5403e.webp 1920w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414_hu_f7696d6ea6eb3222.jpg 1920w"
loading="lazy"
alt="original-0"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>
&lt;a class="link" href="images/13414.png" >original-0&lt;/a>&lt;/td>
&lt;td>&lt;img src="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414v.png"
width="1920"
height="1080"
srcset="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414v_hu_e1e4281a5106ad49.webp 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414v_hu_e5abee7a625fed34.jpg 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414v_hu_d4f8cb8ee80023be.webp 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414v_hu_9df56fbbb22b5e55.jpg 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414v_hu_4184ef5d573e2daf.webp 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414v_hu_413c45d0b513eed9.jpg 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414v_hu_4f7b7dbaa0e55ae.webp 1920w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/13414v_hu_627670b4036867b0.jpg 1920w"
loading="lazy"
alt="re-encoded-0"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>
&lt;a class="link" href="images/13414v.png" >re-encoded-0&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;img src="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040.png"
width="1920"
height="1080"
srcset="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040_hu_8201b8214c837890.webp 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040_hu_c99e0fe9701069f9.jpg 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040_hu_78502d849aeb285.webp 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040_hu_e30cc96697a4296a.jpg 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040_hu_30e7a2a04ed85772.webp 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040_hu_573f9e3f910a4bc2.jpg 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040_hu_28ca9e9ae32eed02.webp 1920w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040_hu_5d3b1af9e578ef1a.jpg 1920w"
loading="lazy"
alt="original-1"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>
&lt;a class="link" href="images/22040.png" >original-1&lt;/a>&lt;/td>
&lt;td>&lt;img src="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040v.png"
width="1920"
height="1080"
srcset="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040v_hu_fcc816a9fb2d716c.webp 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040v_hu_120e34dbde91d5b2.jpg 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040v_hu_85bc66003a38a75f.webp 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040v_hu_514da467feb6bcaf.jpg 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040v_hu_a9549aa612378b47.webp 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040v_hu_c1fcac2114bb1c94.jpg 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040v_hu_fcd9526743804f3.webp 1920w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/22040v_hu_9fbd4ea76a855a9e.jpg 1920w"
loading="lazy"
alt="re-encoded-1"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>
&lt;a class="link" href="images/22040v.png" >re-encoded-1&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;img src="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998.png"
width="1920"
height="1080"
srcset="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998_hu_af848167285bf462.webp 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998_hu_40d4a9ef0199719.jpg 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998_hu_b0974d92367da4f9.webp 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998_hu_4d6befa049f0d91f.jpg 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998_hu_209adb520c40ae81.webp 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998_hu_3eb385c09d6e2d32.jpg 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998_hu_f47006848b3681e9.webp 1920w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998_hu_78bd3d93cfc48cae.jpg 1920w"
loading="lazy"
alt="original-2"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>
&lt;a class="link" href="images/998.png" >original-2&lt;/a>&lt;/td>
&lt;td>&lt;img src="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998v.png"
width="1920"
height="1080"
srcset="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998v_hu_b880a4cab2178a7f.webp 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998v_hu_937f0e149cb3ffc4.jpg 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998v_hu_17aa969fb9e6a0d2.webp 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998v_hu_7edb50b987252da6.jpg 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998v_hu_3191c1a753f6189.webp 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998v_hu_ccc89210b1b1e1b8.jpg 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998v_hu_4d126f15f7dbee60.webp 1920w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/998v_hu_cc432fc4d5d03fbd.jpg 1920w"
loading="lazy"
alt="re-encoded-2"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>
&lt;a class="link" href="images/998v.png" >re-encoded-2&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;img src="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267.png"
width="1920"
height="1080"
srcset="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267_hu_19fbeab6da9d0764.webp 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267_hu_b54a75dabe0f2385.jpg 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267_hu_e53839ea056071e6.webp 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267_hu_3c53ff6d4269ad83.jpg 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267_hu_659d75d542915cb6.webp 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267_hu_f25fd44439567897.jpg 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267_hu_b56a7603c1328074.webp 1920w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267_hu_24dd3a5ebea96f0a.jpg 1920w"
loading="lazy"
alt="original-3"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>
&lt;a class="link" href="images/19267.png" >original-3&lt;/a>&lt;/td>
&lt;td>&lt;img src="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267v.png"
width="1920"
height="1080"
srcset="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267v_hu_67c4a9088a347374.webp 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267v_hu_9b1f9022e5f438cb.jpg 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267v_hu_e23866a2fabe145d.webp 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267v_hu_9fedafa14d1e0275.jpg 1024w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267v_hu_d880b3741a7cb3bf.webp 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267v_hu_42d0642651afa4f.jpg 1536w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267v_hu_d7363866b5e2055d.webp 1920w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/19267v_hu_4a0ab4ec1b7df344.jpg 1920w"
loading="lazy"
alt="re-encoded-3"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>
&lt;a class="link" href="images/19267v.png" >re-encoded-3&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>Can&amp;rsquo;t notice any difference? Or the re-encoded one look better? Save the image locally and zoom in further :p. Yes, I DO put the correct pictures in the correct places.&lt;/p>&lt;/blockquote>
&lt;p>The static images are already hard to tell apart. The difference will be even smaller when you are watching the video, simply because there are motions in the video and you will not be able to focus on the details.&lt;/p>
&lt;p>So yeah, the video tracks are great. I will not touch them.&lt;/p>
&lt;h2 id="audio-tracks">Audio Tracks
&lt;/h2>&lt;h3 id="lossless-compression-problem">Lossless Compression Problem
&lt;/h3>&lt;p>However, the audio part is where I have a problem. It&amp;rsquo;s not about quality, but about size. Let me explain.&lt;/p>
&lt;p>Unlike the video tracks, which is compressed using a lossy codec (H.265/HEVC), the audio tracks are usually losslessly compressed, which means that its quality is 100% same to the original, literally. This is great for archival purposes, but it&amp;rsquo;s a overkill for most people. Because what comes with great quality is size. FLAC tracks usually have a bitrate of 1000+ kbps. One FLAC track in a single episode will typically be over 200 MB in size, as you can seen from the example below. By compressing them to 200 kbps, for example, you save 800+ kbps per track, or put it simply, cut a 200 MB track to 40 MB, which saves a lot of space. This is especially true for animes with multiple FLAC tracks. An extreme example is &lt;em>Kobayashi-san Chi no Maidragon / Miss Kobayachi&amp;rsquo;s Dragon Maid / 小林家的龙女仆&lt;/em> from team AI-Raws. It has three FLAC tracks, with a total bitrate of 3955 (1432+1294+1229) kbps. Compressing them to 600 (200*3) kbps will cut the entire episode size from 1.89 GB to 1.3 GB, which is a 36% reduction in size, saving 400 MB per episode. That&amp;rsquo;s a lot.&lt;/p>
&lt;details>
&lt;summary>MediaInfo: Kobayashi-san Chi no Maidragon episode 1 from AI-Raws&lt;/summary>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt"> 10
&lt;/span>&lt;span class="lnt"> 11
&lt;/span>&lt;span class="lnt"> 12
&lt;/span>&lt;span class="lnt"> 13
&lt;/span>&lt;span class="lnt"> 14
&lt;/span>&lt;span class="lnt"> 15
&lt;/span>&lt;span class="lnt"> 16
&lt;/span>&lt;span class="lnt"> 17
&lt;/span>&lt;span class="lnt"> 18
&lt;/span>&lt;span class="lnt"> 19
&lt;/span>&lt;span class="lnt"> 20
&lt;/span>&lt;span class="lnt"> 21
&lt;/span>&lt;span class="lnt"> 22
&lt;/span>&lt;span class="lnt"> 23
&lt;/span>&lt;span class="lnt"> 24
&lt;/span>&lt;span class="lnt"> 25
&lt;/span>&lt;span class="lnt"> 26
&lt;/span>&lt;span class="lnt"> 27
&lt;/span>&lt;span class="lnt"> 28
&lt;/span>&lt;span class="lnt"> 29
&lt;/span>&lt;span class="lnt"> 30
&lt;/span>&lt;span class="lnt"> 31
&lt;/span>&lt;span class="lnt"> 32
&lt;/span>&lt;span class="lnt"> 33
&lt;/span>&lt;span class="lnt"> 34
&lt;/span>&lt;span class="lnt"> 35
&lt;/span>&lt;span class="lnt"> 36
&lt;/span>&lt;span class="lnt"> 37
&lt;/span>&lt;span class="lnt"> 38
&lt;/span>&lt;span class="lnt"> 39
&lt;/span>&lt;span class="lnt"> 40
&lt;/span>&lt;span class="lnt"> 41
&lt;/span>&lt;span class="lnt"> 42
&lt;/span>&lt;span class="lnt"> 43
&lt;/span>&lt;span class="lnt"> 44
&lt;/span>&lt;span class="lnt"> 45
&lt;/span>&lt;span class="lnt"> 46
&lt;/span>&lt;span class="lnt"> 47
&lt;/span>&lt;span class="lnt"> 48
&lt;/span>&lt;span class="lnt"> 49
&lt;/span>&lt;span class="lnt"> 50
&lt;/span>&lt;span class="lnt"> 51
&lt;/span>&lt;span class="lnt"> 52
&lt;/span>&lt;span class="lnt"> 53
&lt;/span>&lt;span class="lnt"> 54
&lt;/span>&lt;span class="lnt"> 55
&lt;/span>&lt;span class="lnt"> 56
&lt;/span>&lt;span class="lnt"> 57
&lt;/span>&lt;span class="lnt"> 58
&lt;/span>&lt;span class="lnt"> 59
&lt;/span>&lt;span class="lnt"> 60
&lt;/span>&lt;span class="lnt"> 61
&lt;/span>&lt;span class="lnt"> 62
&lt;/span>&lt;span class="lnt"> 63
&lt;/span>&lt;span class="lnt"> 64
&lt;/span>&lt;span class="lnt"> 65
&lt;/span>&lt;span class="lnt"> 66
&lt;/span>&lt;span class="lnt"> 67
&lt;/span>&lt;span class="lnt"> 68
&lt;/span>&lt;span class="lnt"> 69
&lt;/span>&lt;span class="lnt"> 70
&lt;/span>&lt;span class="lnt"> 71
&lt;/span>&lt;span class="lnt"> 72
&lt;/span>&lt;span class="lnt"> 73
&lt;/span>&lt;span class="lnt"> 74
&lt;/span>&lt;span class="lnt"> 75
&lt;/span>&lt;span class="lnt"> 76
&lt;/span>&lt;span class="lnt"> 77
&lt;/span>&lt;span class="lnt"> 78
&lt;/span>&lt;span class="lnt"> 79
&lt;/span>&lt;span class="lnt"> 80
&lt;/span>&lt;span class="lnt"> 81
&lt;/span>&lt;span class="lnt"> 82
&lt;/span>&lt;span class="lnt"> 83
&lt;/span>&lt;span class="lnt"> 84
&lt;/span>&lt;span class="lnt"> 85
&lt;/span>&lt;span class="lnt"> 86
&lt;/span>&lt;span class="lnt"> 87
&lt;/span>&lt;span class="lnt"> 88
&lt;/span>&lt;span class="lnt"> 89
&lt;/span>&lt;span class="lnt"> 90
&lt;/span>&lt;span class="lnt"> 91
&lt;/span>&lt;span class="lnt"> 92
&lt;/span>&lt;span class="lnt"> 93
&lt;/span>&lt;span class="lnt"> 94
&lt;/span>&lt;span class="lnt"> 95
&lt;/span>&lt;span class="lnt"> 96
&lt;/span>&lt;span class="lnt"> 97
&lt;/span>&lt;span class="lnt"> 98
&lt;/span>&lt;span class="lnt"> 99
&lt;/span>&lt;span class="lnt">100
&lt;/span>&lt;span class="lnt">101
&lt;/span>&lt;span class="lnt">102
&lt;/span>&lt;span class="lnt">103
&lt;/span>&lt;span class="lnt">104
&lt;/span>&lt;span class="lnt">105
&lt;/span>&lt;span class="lnt">106
&lt;/span>&lt;span class="lnt">107
&lt;/span>&lt;span class="lnt">108
&lt;/span>&lt;span class="lnt">109
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="n">General&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Unique&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">39274225615593709220200463866578723060&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mh">0x1D8BF0D2BC4C9D643B9E040209C9E0F4&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Complete&lt;/span> &lt;span class="n">name&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">Volumes&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">pool&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">raidz&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="n">x4tb&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">public&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">anime&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">AI&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">Raws&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">Miss&lt;/span> &lt;span class="n">Kobayachi&lt;/span>&lt;span class="s1">&amp;#39;s Dragon Maid][BDRip][MKV]/[AI-Raws] 小林さんちのメイドラゴン #01 (BD HEVC 1920x1080 yuv444p10le FLAC 日本語字幕)[6FDC51A9].mkv&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Matroska&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Version&lt;/span> &lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="ne">File&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">1.89&lt;/span> &lt;span class="n">GiB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Duration&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">25&lt;/span> &lt;span class="nb">min&lt;/span> &lt;span class="mi">11&lt;/span> &lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Overall&lt;/span> &lt;span class="n">bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Variable&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Overall&lt;/span> &lt;span class="n">bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">10.8&lt;/span> &lt;span class="n">Mb&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Encoded&lt;/span> &lt;span class="n">date&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">UTC&lt;/span> &lt;span class="mi">2022&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">01&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">24&lt;/span> &lt;span class="mi">14&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">17&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">application&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">mkvmerge&lt;/span> &lt;span class="n">v33&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">1.0&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;Primrose&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="mi">64&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">library&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">libebml&lt;/span> &lt;span class="n">v1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">3.7&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">libmatroska&lt;/span> &lt;span class="n">v1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">5.0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Video&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">HEVC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Info&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">High&lt;/span> &lt;span class="n">Efficiency&lt;/span> &lt;span class="n">Video&lt;/span> &lt;span class="n">Coding&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="n">profile&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Format&lt;/span> &lt;span class="ne">Range&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="n">L4&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="n">High&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Codec&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">V_MPEGH&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ISO&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">HEVC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Duration&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">25&lt;/span> &lt;span class="nb">min&lt;/span> &lt;span class="mi">11&lt;/span> &lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">6&lt;/span> &lt;span class="mi">700&lt;/span> &lt;span class="n">kb&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Width&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="mi">920&lt;/span> &lt;span class="n">pixels&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Height&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="mi">080&lt;/span> &lt;span class="n">pixels&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Display&lt;/span> &lt;span class="n">aspect&lt;/span> &lt;span class="n">ratio&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">16&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Frame&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Constant&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Frame&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">23.976&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">24000&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mi">1001&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="n">FPS&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Chroma&lt;/span> &lt;span class="n">subsampling&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">depth&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">10&lt;/span> &lt;span class="n">bits&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bits&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Pixel&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="n">Frame&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">0.135&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Stream&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">1.18&lt;/span> &lt;span class="n">GiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">62&lt;/span>&lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">library&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">x265&lt;/span> &lt;span class="mf">2.9&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="mi">8&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">27&lt;/span>&lt;span class="n">d8424c799d&lt;/span>&lt;span class="p">:[&lt;/span>&lt;span class="n">Windows&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">MSVC&lt;/span> &lt;span class="mi">1900&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="mi">64&lt;/span> &lt;span class="n">bit&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="n">bit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Encoding&lt;/span> &lt;span class="n">settings&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">cpuid&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1111039&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">frame&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">threads&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">numa&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pools&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">16&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">wpp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pmode&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pme&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">psnr&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ssim&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">log&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">level&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">input&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">csp&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">input&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">res&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1920&lt;/span>&lt;span class="n">x1080&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">interlace&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">total&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">frames&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">level&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">idc&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">high&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">tier&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">uhd&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bd&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">ref&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">allow&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">non&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">conformance&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">repeat&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">headers&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">annexb&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">aud&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hrd&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">info&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">hash&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">temporal&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">layers&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">open&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">gop&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">min&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">keyint&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">23&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">keyint&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">250&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">gop&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lookahead&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">bframes&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">adapt&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pyramid&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">bframe&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bias&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rc&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lookahead&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">25&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">lookahead&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">slices&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">scenecut&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">40&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">radl&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">refresh&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">ctu&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">64&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">min&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rect&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">amp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">tu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">32&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">tu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">inter&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">depth&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">tu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">depth&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">limit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">tu&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rdoq&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">level&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">dynamic&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rd&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ssim&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rd&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">signhide&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">tskip&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">nr&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">nr&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">inter&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">constrained&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">strong&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">smoothing&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">merge&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">limit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">refs&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">limit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">modes&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">me&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">subme&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">merange&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">57&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">temporal&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">mvp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">weightp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">weightb&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">analyze&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">src&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pics&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">deblock&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">sao&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sao&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">non&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">deblock&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rd&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">early&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">skip&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rskip&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">fast&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">tskip&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">fast&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lossless&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">splitrd&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">skip&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rdpenalty&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">psy&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rd&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">2.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">psy&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rdoq&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rd&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">refine&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lossless&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">cbqpoffs&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">crqpoffs&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">rc&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">crf&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">crf&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">14.5&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qcomp&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.60&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qpstep&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">stats&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">stats&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">read&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vbv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">maxrate&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">25600&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vbv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bufsize&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">10240&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vbv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">init&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.9&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">crf&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">max&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">crf&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">min&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">ipratio&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.40&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">pbratio&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.30&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">aq&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">mode&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">aq&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">strength&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.00&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">cutree&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">zone&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">count&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">strict&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cbr&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qg&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">32&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rc&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">grain&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qpmax&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">31&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">qpmin&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="k">const&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">vbv&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">sar&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">overscan&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">videoformat&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">colorprim&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">transfer&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">colormatrix&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">chromaloc&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">display&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">window&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cll&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">min&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">luma&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">luma&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1023&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">log2&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">poc&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lsb&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vui&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">timing&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">info&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">vui&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hrd&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">info&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">slices&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">qp&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pps&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ref&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">list&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pps&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">multi&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="k">pass&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">rps&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">scenecut&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">bias&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.05&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">delta&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">qp&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">aq&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">motion&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hdr&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">hdr&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">dhdr10&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">opt&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">idr&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">recovery&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sei&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">analysis&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">reuse&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">level&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">scale&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">factor&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">refine&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">intra&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">refine&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">inter&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">refine&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">mv&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">limit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sao&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">ctu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">info&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">lowpass&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">dct&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">refine&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">mv&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">type&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">copy&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pic&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">ausize&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">factor&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">1.0&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">dynamic&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">refine&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">no&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">single&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sei&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Default&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Yes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Forced&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">No&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="ne">Color&lt;/span> &lt;span class="nb">range&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Limited&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="ne">Color&lt;/span> &lt;span class="n">primaries&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">BT&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">709&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Audio&lt;/span> &lt;span class="c1">#1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">FLAC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Info&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Free&lt;/span> &lt;span class="n">Lossless&lt;/span> &lt;span class="n">Audio&lt;/span> &lt;span class="n">Codec&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Codec&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">A_FLAC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Duration&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">25&lt;/span> &lt;span class="nb">min&lt;/span> &lt;span class="mi">11&lt;/span> &lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Variable&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="mi">432&lt;/span> &lt;span class="n">kb&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Channel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">s&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="n">channels&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Channel&lt;/span> &lt;span class="n">layout&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">L&lt;/span> &lt;span class="n">R&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Sampling&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">48.0&lt;/span> &lt;span class="n">kHz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Frame&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">11.719&lt;/span> &lt;span class="n">FPS&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">4096&lt;/span> &lt;span class="n">SPF&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">depth&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="n">bits&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Compression&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Lossless&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Stream&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">258&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">13&lt;/span>&lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">library&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">libFLAC&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">UTC&lt;/span> &lt;span class="mi">2007&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">09&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">17&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Default&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Yes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Forced&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">No&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Audio&lt;/span> &lt;span class="c1">#2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">FLAC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Info&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Free&lt;/span> &lt;span class="n">Lossless&lt;/span> &lt;span class="n">Audio&lt;/span> &lt;span class="n">Codec&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Codec&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">A_FLAC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Duration&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">25&lt;/span> &lt;span class="nb">min&lt;/span> &lt;span class="mi">11&lt;/span> &lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Variable&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="mi">294&lt;/span> &lt;span class="n">kb&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Channel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">s&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="n">channels&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Channel&lt;/span> &lt;span class="n">layout&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">L&lt;/span> &lt;span class="n">R&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Sampling&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">48.0&lt;/span> &lt;span class="n">kHz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Frame&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">11.719&lt;/span> &lt;span class="n">FPS&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">4096&lt;/span> &lt;span class="n">SPF&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">depth&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="n">bits&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Compression&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Lossless&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Stream&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">233&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">12&lt;/span>&lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Title&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="err">キャストコメンタリー&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">library&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">libFLAC&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">UTC&lt;/span> &lt;span class="mi">2007&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">09&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">17&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Default&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">No&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Forced&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">No&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Audio&lt;/span> &lt;span class="c1">#3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">FLAC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Info&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Free&lt;/span> &lt;span class="n">Lossless&lt;/span> &lt;span class="n">Audio&lt;/span> &lt;span class="n">Codec&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Codec&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">A_FLAC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Duration&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">25&lt;/span> &lt;span class="nb">min&lt;/span> &lt;span class="mi">11&lt;/span> &lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Variable&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="mi">229&lt;/span> &lt;span class="n">kb&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Channel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">s&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="n">channels&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Channel&lt;/span> &lt;span class="n">layout&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">L&lt;/span> &lt;span class="n">R&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Sampling&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">48.0&lt;/span> &lt;span class="n">kHz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Frame&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">11.719&lt;/span> &lt;span class="n">FPS&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">4096&lt;/span> &lt;span class="n">SPF&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">depth&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="n">bits&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Compression&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Lossless&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Stream&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">221&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">11&lt;/span>&lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Title&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="err">スタッフコメンタリー&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Writing&lt;/span> &lt;span class="n">library&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">libFLAC&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">UTC&lt;/span> &lt;span class="mi">2007&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">09&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">17&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Default&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">No&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Forced&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">No&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Text&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Format&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">PGS&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Muxing&lt;/span> &lt;span class="n">mode&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">zlib&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Codec&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">S_HDMV&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">PGS&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Codec&lt;/span> &lt;span class="n">ID&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Info&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Picture&lt;/span> &lt;span class="n">based&lt;/span> &lt;span class="n">subtitle&lt;/span> &lt;span class="n">format&lt;/span> &lt;span class="n">used&lt;/span> &lt;span class="n">on&lt;/span> &lt;span class="n">BDs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">HD&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">DVDs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Duration&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="nb">min&lt;/span> &lt;span class="mi">30&lt;/span> &lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bit&lt;/span> &lt;span class="n">rate&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">277&lt;/span> &lt;span class="n">kb&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Count&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">elements&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mi">2364&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Stream&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="mf">48.5&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Language&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Japanese&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Default&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">Yes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Forced&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">No&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/details>
&lt;h3 id="lossy-compression">Lossy Compression
&lt;/h3>&lt;p>But compressing them so hard will certainly bring quality losses&amp;hellip; Or will it? Well, yes, there must be quality loss when using lossy codecs, but the question is how much? Is it acceptable? You have seen that the example video tracks are compressed to 4028 kbps, which is a lot less than the original video. But the video tracks are still great. So, is the quality loss acceptable for audio tracks?&lt;/p>
&lt;p>In fact, using a modern codec at 256 kbps (or even half that), the quality loss is so little that I can almost guarantee that you will NOT hear a difference for two reasons:&lt;/p>
&lt;ol>
&lt;li>most codecs are considered &amp;ldquo;transparent&amp;rdquo; at 256 kbps or above (better codes will be &amp;ldquo;transparent&amp;rdquo; at even lower bitrate), which means that you cannot tell the difference between the original and the compressed one (more on this later);&lt;/li>
&lt;li>when watching anime, you are usually not paying attention to details in the audio, but the video. This makes the difference in audio tracks even less noticeable.&lt;/li>
&lt;/ol>
&lt;p>So we can safely compress audio without worrying about quality loss. But how much should we compress? Well, that depends on your own preference. Generally, you can choose a codec and a bitrate that is better than what is &amp;ldquo;transparent&amp;rdquo; to you.&lt;/p>
&lt;p>But hold on, how do I know what is &amp;ldquo;transparent&amp;rdquo; to me?&lt;/p>
&lt;h3 id="audio-transparency">Audio Transparency
&lt;/h3>&lt;p>There is a concept called &amp;ldquo;transparent&amp;rdquo; in audio encoding, which means the compressed audio is so good that a person cannot tell a difference between the original and the compressed one. This is usually done through ABX blind tests, where the listener is not told which one is the original and which one is the compressed one. If the listener cannot tell the difference, then the audio is considered transparent. Of course, this differs from person to person. You have to do the test with your own ears with different encoders at different bitrates to find your &amp;ldquo;transparent&amp;rdquo; threshold (which codec at which bitrate). When you find your threshold, any better codec at any better bitrate will also be transparent to you.&lt;/p>
&lt;blockquote>
&lt;p>About Bitrate and quality:&lt;/p>
&lt;p>They cannot be compared directly. For example, 320 kbps MP3 is not the same as 320 kbps AAC. (AAC is generally considered a better codec than MP3, so it can achieve the same quality with a lower bitrate.)&lt;/p>
&lt;ul>
&lt;li>
&lt;p>When dealing with the same codec (same encoder, same settings), the higher the bitrate, the better the quality. For example, MP3 at 320 kbps wll have better quality than MP3 at 256 kbps.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>But when dealing with different codecs, the bitrate is not the only factor that affects the quality. The codec itself, the encoder, encoding settings, and etc. all affect quality. For example, AAC (qaac, vbr, default settings) at 256 kbps is often said to have similar quality to MP3 at 320 kbps.&lt;/p>
&lt;/li>
&lt;/ul>&lt;/blockquote>
&lt;p>But the general consensus is that Opus is transparent at 160kbps and above, and AAC is transparent at 192kbps and above:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>A &lt;a class="link" href="https://hydrogenaud.io/index.php?topic=120007.0" target="_blank" rel="noopener"
>blind test of multiple codecs at ~192kbps VBR&lt;/a> shows that codecs at 192k is transparent to the test subject. Opus being the most transparent codec at 192k;&lt;/p>
&lt;blockquote>
&lt;p>&lt;img src="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/IgorC_192kbps1enc.png"
width="800"
height="420"
srcset="https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/IgorC_192kbps1enc_hu_f9553d78e3cd62e.webp 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/IgorC_192kbps1enc_hu_79b6d43b2148df85.jpg 480w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/IgorC_192kbps1enc_hu_ad252a688add138a.webp 800w, https://charlie0129.github.io/blog/p/thoughts-on-re-encoded-bd-animes/images/IgorC_192kbps1enc_hu_edaaf8602c54b268.jpg 800w"
loading="lazy"
alt="blind test – MultiCodec at ~192 VBR kbps"
class="gallery-image"
data-flex-grow="190"
data-flex-basis="457px"
>
&lt;/p>&lt;/blockquote>
&lt;/li>
&lt;li>
&lt;p>Tests of different encoders at different bitrates published by SoundExpert show that most codecs at 128kbps and above are transparent to most test subjects. Detailed results can be found at &lt;a class="link" href="http://soundexpert.org/encoders-128-kbps;" target="_blank" rel="noopener"
>http://soundexpert.org/encoders-128-kbps;&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a class="link" href="https://hydrogenaud.io/index.php/topic,114656.0.html" target="_blank" rel="noopener"
>A topic from HydrogenAudio forum&lt;/a> even shows that Opus at ~80kbps is transparent to an average listener;&lt;/p>
&lt;blockquote>
&lt;p>It&amp;rsquo;s interesting to observe that 4 members have mentioned Opus@80kbps as point where is hard to spot artifacts for them.&lt;/p>
&lt;p>Opus ~80 kbps is roughly equivalent to LAME ~130 kbps (V5) which lands in an &amp;ldquo;excellent&amp;rdquo; area of quality (MOS 4.5+) &lt;a class="link" href="http://listening-tests.hydrogenaud.io/sebastian/mp3-128-1/results.htm" target="_blank" rel="noopener"
>http://listening-tests.hydrogenaud.io/sebastian/mp3-128-1/results.htm&lt;/a>&lt;/p>
&lt;p>So one could say that Opus 80 kbps is &amp;ldquo;excellent&amp;rdquo; at least for &lt;em>an average listener.&lt;/em> It&amp;rsquo;s clear that an experienced listeners can spot artifacts at much higher rates.&lt;/p>
&lt;blockquote>
&lt;p>I never noticed any artifacts at 80kbps though, though I haven&amp;rsquo;t tried to find any either. &lt;a class="link" href="https://hydrogenaud.io/index.php?msg=945143" target="_blank" rel="noopener"
>Quote from: noiselab on 2017-09-18 06:49:15&lt;/a>&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>I tried it and for me it&amp;rsquo;s 80 kbit. &lt;a class="link" href="https://hydrogenaud.io/index.php?msg=945153" target="_blank" rel="noopener"
>Quote from: hlloyge on 2017-09-18 11:49:01&lt;/a>&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>I&amp;rsquo;ll be honest, I struggled to ABX at 64kbps. 80kbps is enough for me. &lt;a class="link" href="https://hydrogenaud.io/index.php?msg=945154" target="_blank" rel="noopener"
>Quote from: Funkstar De Luxe on 2017-09-18 13:35:01&lt;/a>&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>80kbps is pretty much my limit as well, can&amp;rsquo;t be bothered listening to killer samples all the time. &lt;a class="link" href="https://hydrogenaud.io/index.php?msg=945156" target="_blank" rel="noopener"
>Quote from: bstrobl on 2017-09-18 14:39:30&lt;/a>&lt;/p>&lt;/blockquote>&lt;/blockquote>
&lt;/li>
&lt;li>
&lt;p>All iTunes music is delivered in AAC at 256kbps (before the arrival of Apple Music Lossless), which is an indication that most people cannot tell the difference as Apple is a company that cares about quality;&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>As you can see I am only focusing on AAC and Opus (as of lossy codecs), because AAC offers good sound quality and great compatibility while Opus has great sound quality and &amp;ldquo;okay&amp;rdquo; compatibility. Other codecs like MP3 are just not good enough to compete with them, so they will not be my choice later.&lt;/p>
&lt;h3 id="listening-samples">Listening Samples
&lt;/h3>&lt;p>Now bring your best audio equipment. Same as before, let&amp;rsquo;s listen to some samples to see if you can tell a difference, or you can do blind ABX tests by yourself to find your &amp;ldquo;transparent&amp;rdquo; threshold.&lt;/p>
&lt;p>All lossy codecs are encoded using VBR (CBR is not considered because it is not size-efficient) with a quality setting to match the resulting bitrates of different encoders as close as possible.&lt;/p>
&lt;details>
&lt;summary>Encoder versions&lt;/summary>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">opusenc 0.2-3-gf5f571b; libopus 1.3.1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">OggEnc v2.88; libvorbis 1.3.6
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">qaac 2.73; CoreAudioToolbox 7.10.9.0
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">lame 3.100
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/details>
&lt;blockquote>
&lt;p>Note that if you cannot playback some audio tracks, make sure your browser supports this type of audio or you can download the audio tracks and play them locally. Latest versions of Chromium-based browsers should be fine. Safari might have some issues with Opus and Ogg.&lt;/p>&lt;/blockquote>
&lt;h4 id="orange--オレンジ">Orange / オレンジ
&lt;/h4>&lt;p>For the first example, I will use &lt;em>Orange / オレンジ&lt;/em> by 7!! &amp;mdash; the 2nd ending song from &lt;em>Shigatsu wa Kimi no Uso / 四月は君の嘘 / Your Lie in April / 四月是你的谎言&lt;/em> for its female voices. The audio is not complex (simpley put, do not contain many instruments), so it is easier for the encoders to achieve good results.&lt;/p>
&lt;h5 id="vocal">Vocal
&lt;/h5>&lt;p>Reference track:&lt;/p>
&lt;figure>
&lt;figcaption>flac, best, 893k&lt;/figcaption>
&lt;audio
style="margin:0 24px 0 24px;"
controls loop preload="none"
type="audio/flac"
src="media/orange-0-flac-893k.flac" />
&lt;/figure>
&lt;p>Compressed tracks:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>VBR Bitrate&lt;/th>
&lt;th>Opus&lt;/th>
&lt;th>AAC&lt;/th>
&lt;th>Ogg&lt;/th>
&lt;th>MP3&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>~256k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr256, 276k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-opus-vbr256k-276k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q109, 225k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-0-qaac-q109-225k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q8, 234k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-vorbis-q8-234k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v0, 249k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-0-lame-v0-249k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~192k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr192, 212k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-opus-vbr192k-212k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q91, 171k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-0-qaac-q91-171k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q6, 178k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-vorbis-q6-178k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v2, 182k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-0-lame-v2-182k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~160k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr160, 180k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-opus-vbr160k-180k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q82, 142k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-0-qaac-q82-142k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q5, 153k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-vorbis-q5-153k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v4, 148k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-0-lame-v4-148k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~128k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr128, 146k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-opus-vbr128k-146k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q64, 113k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-0-qaac-q64-113k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q4, 131k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-vorbis-q4-131k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v5, 126k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-0-lame-v5-126k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~96k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr96, 111k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-opus-vbr96k-111k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q45, 86k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-0-qaac-q45-86k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q2, 92k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-vorbis-q2-92k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v7, 98k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-0-lame-v7-98k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~64k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr64, 76k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-opus-vbr64k-76k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q27, 66k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-0-qaac-q27-66k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q0, 61k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-0-vorbis-q0-61k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v9, 69k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-0-lame-v9-69k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h5 id="vocal-with-simple-instruments">Vocal with simple instruments
&lt;/h5>&lt;p>Reference track:&lt;/p>
&lt;figure>
&lt;figcaption>flac, best, 920k&lt;/figcaption>
&lt;audio
style="margin:0 24px 0 24px;"
controls loop preload="none"
type="audio/flac"
src="media/orange-1-flac-920k.flac" />
&lt;/figure>
&lt;p>Compressed tracks:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>VBR Bitrate&lt;/th>
&lt;th>Opus&lt;/th>
&lt;th>AAC&lt;/th>
&lt;th>Ogg&lt;/th>
&lt;th>MP3&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>~256k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr256, 274k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-opus-vbr256k-274k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q109, 236k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-1-qaac-q109-236k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q8, 239k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-vorbis-q8-239k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v0, 256k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-1-lame-v0-256k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~192k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr192, 210k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-opus-vbr192k-210k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q91, 180k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-1-qaac-q91-180k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q6, 183k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-vorbis-q6-183k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v2, 183k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-1-lame-v2-183k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~160k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr160, 179k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-opus-vbr160k-179k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q82, 149k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-1-qaac-q82-149k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q5, 158k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-vorbis-q5-158k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v4, 147k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-1-lame-v4-147k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~128k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr128, 144k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-opus-vbr128k-144k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q64, 119k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-1-qaac-q64-119k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q4, 134k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-vorbis-q4-134k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v5, 126k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-1-lame-v5-126k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~96k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr96, 109k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-opus-vbr96k-109k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q45, 90k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-1-qaac-q45-90k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q2, 95k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-vorbis-q2-95k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v7, 100k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-1-lame-v7-100k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~64k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr64, 75k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-opus-vbr64k-75k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q27, 66k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-1-qaac-q27-66k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q0, 62k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-1-vorbis-q0-62k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v9, 70k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-1-lame-v9-70k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h5 id="vocal-with-more-complex-instruments">Vocal with more complex instruments
&lt;/h5>&lt;p>Reference track:&lt;/p>
&lt;figure>
&lt;figcaption>flac, best, 1089k&lt;/figcaption>
&lt;audio
style="margin:0 24px 0 24px;"
controls loop preload="none"
type="audio/flac"
src="media/orange-2-flac-1089k.flac" />
&lt;/figure>
&lt;p>Compressed tracks:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>VBR Bitrate&lt;/th>
&lt;th>Opus&lt;/th>
&lt;th>AAC&lt;/th>
&lt;th>Ogg&lt;/th>
&lt;th>MP3&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>~256k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr256, 262k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-opus-vbr256k-262k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q109, 270k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-2-qaac-q109-270k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q8, 266k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-vorbis-q8-266k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v0, 288k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-2-lame-v0-288k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~192k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr192, 200k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-opus-vbr192k-200k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q91, 200k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-2-qaac-q91-200k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q6, 201k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-vorbis-q6-201k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v2, 206k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-2-lame-v2-206k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~160k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr160, 169k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-opus-vbr160k-169k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q82, 165k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-2-qaac-q82-165k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q5, 170k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-vorbis-q5-170k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v4, 154k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-2-lame-v4-154k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~128k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr128, 136k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-opus-vbr128k-136k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q64, 129k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-2-qaac-q64-129k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q4, 142k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-vorbis-q4-142k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v5, 134k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-2-lame-v5-134k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~96k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr96, 102k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-opus-vbr96k-102k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q45, 96k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-2-qaac-q45-96k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q2, 97k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-vorbis-q2-97k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v7, 101k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-2-lame-v7-101k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~64k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr64, 69k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-opus-vbr64k-69k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q27, 69k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/orange-2-qaac-q27-69k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q0, 62k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/orange-2-vorbis-q0-62k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v9, 68k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/orange-2-lame-v9-68k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="vision">Vision
&lt;/h4>&lt;p>The second song will be a more complex, or demanding one &amp;mdash; &lt;em>Vision&lt;/em> by 中島岬:&lt;/p>
&lt;p>&lt;em>Vision&lt;/em> reference track:&lt;/p>
&lt;figure>
&lt;figcaption>flac, best, 1058k&lt;/figcaption>
&lt;audio
style="margin:0 24px 0 24px;"
controls loop preload="none"
type="audio/flac"
src="media/vision-flac-1058k.flac" />
&lt;/figure>
&lt;p>&lt;em>Vision&lt;/em> compressed tracks:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>VBR Bitrate&lt;/th>
&lt;th>Opus&lt;/th>
&lt;th>AAC&lt;/th>
&lt;th>Ogg&lt;/th>
&lt;th>MP3&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>~256k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr256, 260k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-opus-vbr256k-260k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q109, 297k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/vision-qaac-q109-297k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q8, 290k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-vorbis-q8-290k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v0, 288k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/vision-lame-v0-288k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~192k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr192, 197k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-opus-vbr192k-197k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q91, 218k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/vision-qaac-q91-218k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q6, 212k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-vorbis-q6-212k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v2, 209k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/vision-lame-v2-209k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~160k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr160, 165k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-opus-vbr160k-165k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q82, 178k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/vision-qaac-q82-178k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q5, 175k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-vorbis-q5-175k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v4, 156k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/vision-lame-v4-156k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~128k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr128, 133k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-opus-vbr128k-133k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q64, 142k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/vision-qaac-q64-142k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q4, 139k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-vorbis-q4-139k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v5, 135k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/vision-lame-v5-135k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~96k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr96, 100k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-opus-vbr96k-100k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q45, 109k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/vision-qaac-q45-109k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q2, 99k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-vorbis-q2-99k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v7, 109k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/vision-lame-v7-109k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>~64k&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>opusenc, vbr64, 66k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-opus-vbr64k-66k.opus" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>qaac, q27, 77k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mp4" src="media/vision-qaac-q27-77k.m4a" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>oggenc2, q0, 63k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/ogg" src="media/vision-vorbis-q0-63k.ogg" />&lt;/figure>&lt;/td>
&lt;td>&lt;figure>&lt;figcaption>lame, v9, 73k&lt;/figcaption>&lt;audio style="margin:0 24px 0 24px;" controls loop preload="none" type="audio/mpeg" src="media/vision-lame-v9-73k.mp3" />&lt;/figure>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>You can clearly see the AAC and MP3 encoders tend to give a higher bitrate than target bitrate in VBR mode to handle complex songs.&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>Want to listen to your own song at differnet bitrates? Use &lt;a class="link" href="convert.js" >this script&lt;/a> to encode it to all formats. This is exactly the same script that I wrote to encode the songs and generate the table above.&lt;/p>&lt;/blockquote>
&lt;p>Now, you should have your own understanding of the different codecs: above which bitrate of which codec is transparent to you.&lt;/p>
&lt;h3 id="my-take-on-the-codecs">My take on the codecs
&lt;/h3>&lt;p>Here is my opinion: &lt;strong>since ~192k Opus is already transparent to me (and to most people), why use 1000+ kbps FLAC? I can save a lot of space, without even tell a difference!&lt;/strong> Unless you have outstandingly gifted ears with high-end equipments, or you do heavy post-processing on audio, you should and will be fine with a transparent lossy encoding.&lt;/p>
&lt;p>Also, most audio in animes is voice, which is usually not complex for encoders, so the actual bitrate can be even lower to sound good.&lt;/p>
&lt;h2 id="still-writing">Still writing&amp;hellip;
&lt;/h2>&lt;p>The rest is still being written&amp;hellip;&lt;/p></description></item></channel></rss>