Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/aom/av1/encoder/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  tune_vmaf.h   Sprache: C

 
/*
 * Copyright (c) 2019, Alliance for Open Media. All rights reserved.
 *
 * This source code is subject to the terms of the BSD 2 Clause License and
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
 * was not distributed with this source code in the LICENSE file, you can
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
 * Media Patent License 1.0 was not distributed with this source code in the
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
 */


#ifndef AOM_AV1_ENCODER_TUNE_VMAF_H_
#define AOM_AV1_ENCODER_TUNE_VMAF_H_

#include "aom_dsp/vmaf.h"
#include "aom_scale/yv12config.h"
#include "av1/common/enums.h"
#include "av1/encoder/ratectrl.h"
#include "av1/encoder/block.h"

typedef struct {
  // Stores the scaling factors for rdmult when tuning for VMAF.
  // rdmult_scaling_factors[row * num_cols + col] stores the scaling factors for
  // 64x64 block at (row, col).
  double *rdmult_scaling_factors;

  // Stores the luma sse of the last frame.
  double last_frame_ysse[MAX_ARF_LAYERS];

  // Stores the VMAF of the last frame.
  double last_frame_vmaf[MAX_ARF_LAYERS];

  // Stores the filter strength of the last frame.
  double last_frame_unsharp_amount[MAX_ARF_LAYERS];

  // Stores the origial qindex before scaling.
  int original_qindex;

  // VMAF model used in VMAF caculations.
  VmafModel *vmaf_model;
} TuneVMAFInfo;

struct AV1_COMP;

void av1_vmaf_blk_preprocessing(struct AV1_COMP *cpi,
                                const YV12_BUFFER_CONFIG *source);

void av1_vmaf_frame_preprocessing(struct AV1_COMP *cpi,
                                  const YV12_BUFFER_CONFIG *source);

void av1_vmaf_neg_preprocessing(struct AV1_COMP *cpi,
                                const YV12_BUFFER_CONFIG *source);

void av1_set_mb_vmaf_rdmult_scaling(struct AV1_COMP *cpi);

void av1_set_vmaf_rdmult(const struct AV1_COMP *cpi, MACROBLOCK *x,
                         BLOCK_SIZE bsize, int mi_row, int mi_col, int *rdmult);

int av1_get_vmaf_base_qindex(const struct AV1_COMP *cpi, int current_qindex);

void av1_update_vmaf_curve(struct AV1_COMP *cpi);

#endif  // AOM_AV1_ENCODER_TUNE_VMAF_H_

Messung V0.5
C=85 H=100 G=92

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.