summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Bœsch <u@pkh.me>2014-05-08 23:48:55 +0200
committerClément Bœsch <u@pkh.me>2014-05-08 23:58:34 +0200
commit5623a10526ffa45ac2785bcfd3edba0d4382b2bc (patch)
treef91520d6e77572174ab4c1028c9b72dc1b03ef69
parent5df10150d4a8d9e56716e0cf16d68bd3def6d7a4 (diff)
avfilter/phase: make the main loop readable.
-rw-r--r--libavfilter/vf_phase.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/libavfilter/vf_phase.c b/libavfilter/vf_phase.c
index 34caf891f1..82dc603efe 100644
--- a/libavfilter/vf_phase.c
+++ b/libavfilter/vf_phase.c
@@ -122,8 +122,6 @@ static enum PhaseMode analyze_plane(void *ctx, enum PhaseMode mode, AVFrame *old
const int h = new->height;
const int w = new->width;
int bdif, tdif, pdif;
- const uint8_t *end, *rend;
- int top, t;
if (mode == AUTO) {
mode = new->interlaced_frame ? new->top_field_first ?
@@ -136,10 +134,14 @@ static enum PhaseMode analyze_plane(void *ctx, enum PhaseMode mode, AVFrame *old
if (mode <= BOTTOM_FIRST) {
bdiff = pdiff = tdiff = 65536.0;
} else {
+ int top = 0, t;
+ const uint8_t *rend, *end = nptr + (h - 2) * ns;
+
bdiff = pdiff = tdiff = 0.0;
- for (end = nptr + (h - 2) * ns, nptr += ns, optr += os, top = 0;
- nptr < end; nptr += ns - w, optr += os - w, top ^= 1) {
+ nptr += ns;
+ optr += os;
+ while (nptr < end) {
pdif = tdif = bdif = 0;
switch (mode) {
@@ -204,6 +206,9 @@ static enum PhaseMode analyze_plane(void *ctx, enum PhaseMode mode, AVFrame *old
pdiff += (double)pdif;
tdiff += (double)tdif;
bdiff += (double)bdif;
+ nptr += ns - w;
+ optr += os - w;
+ top ^= 1;
}
scale = 1.0 / (w * (h - 3)) / 25.0;