tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

av1_noise_estimate.h (1360B)


      1 /*
      2 * Copyright (c) 2020, Alliance for Open Media. All rights reserved.
      3 *
      4 * This source code is subject to the terms of the BSD 2 Clause License and
      5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
      6 * was not distributed with this source code in the LICENSE file, you can
      7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
      8 * Media Patent License 1.0 was not distributed with this source code in the
      9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
     10 */
     11 
     12 #ifndef AOM_AV1_ENCODER_AV1_NOISE_ESTIMATE_H_
     13 #define AOM_AV1_ENCODER_AV1_NOISE_ESTIMATE_H_
     14 
     15 #include "av1/encoder/block.h"
     16 #include "aom_scale/yv12config.h"
     17 
     18 #ifdef __cplusplus
     19 extern "C" {
     20 #endif
     21 
     22 #define MAX_VAR_HIST_BINS 20
     23 
     24 typedef enum noise_level { kLowLow, kLow, kMedium, kHigh } NOISE_LEVEL;
     25 
     26 typedef struct noise_estimate {
     27  int enabled;
     28  NOISE_LEVEL level;
     29  int value;
     30  int thresh;
     31  int adapt_thresh;
     32  int count;
     33  int last_w;
     34  int last_h;
     35  int num_frames_estimate;
     36 } NOISE_ESTIMATE;
     37 
     38 struct AV1_COMP;
     39 
     40 void av1_noise_estimate_init(NOISE_ESTIMATE *const ne, int width, int height);
     41 
     42 NOISE_LEVEL av1_noise_estimate_extract_level(NOISE_ESTIMATE *const ne);
     43 
     44 void av1_update_noise_estimate(struct AV1_COMP *const cpi);
     45 
     46 #ifdef __cplusplus
     47 }  // extern "C"
     48 #endif
     49 
     50 #endif  // AOM_AV1_ENCODER_AV1_NOISE_ESTIMATE_H_