Commit 5623a105 authored by Clément Bœsch's avatar Clément Bœsch

avfilter/phase: make the main loop readable.

parent 5df10150
...@@ -122,8 +122,6 @@ static enum PhaseMode analyze_plane(void *ctx, enum PhaseMode mode, AVFrame *old ...@@ -122,8 +122,6 @@ static enum PhaseMode analyze_plane(void *ctx, enum PhaseMode mode, AVFrame *old
const int h = new->height; const int h = new->height;
const int w = new->width; const int w = new->width;
int bdif, tdif, pdif; int bdif, tdif, pdif;
const uint8_t *end, *rend;
int top, t;
if (mode == AUTO) { if (mode == AUTO) {
mode = new->interlaced_frame ? new->top_field_first ? mode = new->interlaced_frame ? new->top_field_first ?
...@@ -136,10 +134,14 @@ static enum PhaseMode analyze_plane(void *ctx, enum PhaseMode mode, AVFrame *old ...@@ -136,10 +134,14 @@ static enum PhaseMode analyze_plane(void *ctx, enum PhaseMode mode, AVFrame *old
if (mode <= BOTTOM_FIRST) { if (mode <= BOTTOM_FIRST) {
bdiff = pdiff = tdiff = 65536.0; bdiff = pdiff = tdiff = 65536.0;
} else { } else {
int top = 0, t;
const uint8_t *rend, *end = nptr + (h - 2) * ns;
bdiff = pdiff = tdiff = 0.0; bdiff = pdiff = tdiff = 0.0;
for (end = nptr + (h - 2) * ns, nptr += ns, optr += os, top = 0; nptr += ns;
nptr < end; nptr += ns - w, optr += os - w, top ^= 1) { optr += os;
while (nptr < end) {
pdif = tdif = bdif = 0; pdif = tdif = bdif = 0;
switch (mode) { switch (mode) {
...@@ -204,6 +206,9 @@ static enum PhaseMode analyze_plane(void *ctx, enum PhaseMode mode, AVFrame *old ...@@ -204,6 +206,9 @@ static enum PhaseMode analyze_plane(void *ctx, enum PhaseMode mode, AVFrame *old
pdiff += (double)pdif; pdiff += (double)pdif;
tdiff += (double)tdif; tdiff += (double)tdif;
bdiff += (double)bdif; bdiff += (double)bdif;
nptr += ns - w;
optr += os - w;
top ^= 1;
} }
scale = 1.0 / (w * (h - 3)) / 25.0; scale = 1.0 / (w * (h - 3)) / 25.0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment