Merge commit '93fed46a92bab8be176d3e67be4354189a8dbe7f'
authorClément Bœsch <u@pkh.me>
Sun, 19 Mar 2017 15:08:27 +0000 (16:08 +0100)
committerClément Bœsch <u@pkh.me>
Sun, 19 Mar 2017 15:08:27 +0000 (16:08 +0100)
* commit '93fed46a92bab8be176d3e67be4354189a8dbe7f':
  timefilter: test: Drop some disabled debug cruft

Merged-by: Clément Bœsch <u@pkh.me>
1  2 
libavdevice/tests/timefilter.c

@@@ -1,18 -1,18 +1,18 @@@
  /*
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -32,21 -32,17 +32,21 @@@ int main(void
  #define SAMPLES 1000
      double ideal[SAMPLES];
      double samples[SAMPLES];
 +    double samplet[SAMPLES];
      for (n0 = 0; n0 < 40; n0 = 2 * n0 + 1) {
          for (n1 = 0; n1 < 10; n1 = 2 * n1 + 1) {
              double best_error = 1000000000;
 -            double bestpar0   = 1;
 -            double bestpar1   = 0.001;
 +            double bestpar0   = n0 ? 1 : 100000;
 +            double bestpar1   = 1;
              int better, i;
  
              av_lfg_init(&prng, 123);
              for (i = 0; i < SAMPLES; i++) {
 -                ideal[i]   = 10 + i + n1 * i / (1000);
 +                samplet[i] = 10 + i + (av_lfg_get(&prng) < LFG_MAX/2 ? 0 : 0.999);
 +                ideal[i]   = samplet[i] + n1 * i / (1000);
                  samples[i] = ideal[i] + n0 * (av_lfg_get(&prng) - LFG_MAX / 2) / (LFG_MAX * 10LL);
 +                if(i && samples[i]<samples[i-1])
 +                    samples[i]=samples[i-1]+0.001;
              }
  
              do {
@@@ -62,9 -58,7 +62,9 @@@
                          }
                          for (i = 0; i < SAMPLES; i++) {
                              double filtered;
 -                            filtered = ff_timefilter_update(tf, samples[i], 1);
 +                            filtered = ff_timefilter_update(tf, samples[i], i ? (samplet[i] - samplet[i-1]) : 1);
 +                            if(filtered < 0 || filtered > 1000000000)
 +                                printf("filter is unstable\n");
                              error   += (filtered - ideal[i]) * (filtered - ideal[i]);
                          }
                          ff_timefilter_destroy(tf);
                      }
                  }
              } while (better);
- #if 0
-             double lastfil = 9;
-             TimeFilter *tf = ff_timefilter_new(1, bestpar0, bestpar1);
-             for (i = 0; i < SAMPLES; i++) {
-                 double filtered;
-                 filtered = ff_timefilter_update(tf, samples[i], 1);
-                 printf("%f %f %f %f\n", i - samples[i] + 10, filtered - samples[i],
-                        samples[FFMAX(i, 1)] - samples[FFMAX(i - 1, 0)], filtered - lastfil);
-                 lastfil = filtered;
-             }
-             ff_timefilter_destroy(tf);
- #else
 -            printf(" [%f %f %9f]", bestpar0, bestpar1, best_error);
 +            printf(" [%12f %11f %9f]", bestpar0, bestpar1, best_error);
- #endif
          }
          printf("\n");
      }