mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-12-12 05:26:12 +00:00
lavfi/ebur128: advance pointer to samples
Correct the advancement of a pointer to skip over LFE samples as intended in the loudness computation. This suggested patch is 3 of 3 for Ticket #2144 "libavfilter ebur128 loudness inaccuracy, irregular time interval, LFE interference". This suggested patch supersedes the contribution of January 15, 2013 in the thread “[PATCH] lavfi: EBU R.128 irreg time, ch weights, skip LFE” which combined multiple fixes in one batch.
This commit is contained in:
parent
de21e6736e
commit
b64de24fd7
@ -478,6 +478,8 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *insamples)
|
||||
for (ch = 0; ch < nb_channels; ch++) {
|
||||
double bin;
|
||||
|
||||
ebur128->x[ch * 3] = *samples++; // set X[i]
|
||||
|
||||
if (!ebur128->ch_weighting[ch])
|
||||
continue;
|
||||
|
||||
@ -491,8 +493,6 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *insamples)
|
||||
- dst[1]*name##_A1 - dst[2]*name##_A2; \
|
||||
} while (0)
|
||||
|
||||
ebur128->x[ch * 3] = *samples++; // set X[i]
|
||||
|
||||
// TODO: merge both filters in one?
|
||||
FILTER(y, x, PRE); // apply pre-filter
|
||||
ebur128->x[ch * 3 + 2] = ebur128->x[ch * 3 + 1];
|
||||
|
Loading…
Reference in New Issue
Block a user