1*fb1b10abSAndroid Build Coastguard Worker /* 2*fb1b10abSAndroid Build Coastguard Worker * Copyright (c) 2023 The WebM project authors. All Rights Reserved. 3*fb1b10abSAndroid Build Coastguard Worker * 4*fb1b10abSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license 5*fb1b10abSAndroid Build Coastguard Worker * that can be found in the LICENSE file in the root of the source 6*fb1b10abSAndroid Build Coastguard Worker * tree. An additional intellectual property rights grant can be found 7*fb1b10abSAndroid Build Coastguard Worker * in the file PATENTS. All contributing project authors may 8*fb1b10abSAndroid Build Coastguard Worker * be found in the AUTHORS file in the root of the source tree. 9*fb1b10abSAndroid Build Coastguard Worker */ 10*fb1b10abSAndroid Build Coastguard Worker 11*fb1b10abSAndroid Build Coastguard Worker #ifndef VPX_VP9_ENCODER_VP9_FIRSTPASS_STATS_H_ 12*fb1b10abSAndroid Build Coastguard Worker #define VPX_VP9_ENCODER_VP9_FIRSTPASS_STATS_H_ 13*fb1b10abSAndroid Build Coastguard Worker 14*fb1b10abSAndroid Build Coastguard Worker #include <stdint.h> 15*fb1b10abSAndroid Build Coastguard Worker 16*fb1b10abSAndroid Build Coastguard Worker #ifdef __cplusplus 17*fb1b10abSAndroid Build Coastguard Worker extern "C" { 18*fb1b10abSAndroid Build Coastguard Worker #endif 19*fb1b10abSAndroid Build Coastguard Worker 20*fb1b10abSAndroid Build Coastguard Worker typedef struct { 21*fb1b10abSAndroid Build Coastguard Worker double frame; 22*fb1b10abSAndroid Build Coastguard Worker double weight; 23*fb1b10abSAndroid Build Coastguard Worker double intra_error; 24*fb1b10abSAndroid Build Coastguard Worker double coded_error; 25*fb1b10abSAndroid Build Coastguard Worker double sr_coded_error; 26*fb1b10abSAndroid Build Coastguard Worker double frame_noise_energy; 27*fb1b10abSAndroid Build Coastguard Worker double pcnt_inter; 28*fb1b10abSAndroid Build Coastguard Worker double pcnt_motion; 29*fb1b10abSAndroid Build Coastguard Worker double pcnt_second_ref; 30*fb1b10abSAndroid Build Coastguard Worker double pcnt_neutral; 31*fb1b10abSAndroid Build Coastguard Worker double pcnt_intra_low; // Coded intra but low variance 32*fb1b10abSAndroid Build Coastguard Worker double pcnt_intra_high; // Coded intra high variance 33*fb1b10abSAndroid Build Coastguard Worker double intra_skip_pct; 34*fb1b10abSAndroid Build Coastguard Worker double intra_smooth_pct; // % of blocks that are smooth 35*fb1b10abSAndroid Build Coastguard Worker double inactive_zone_rows; // Image mask rows top and bottom. 36*fb1b10abSAndroid Build Coastguard Worker double inactive_zone_cols; // Image mask columns at left and right edges. 37*fb1b10abSAndroid Build Coastguard Worker double MVr; 38*fb1b10abSAndroid Build Coastguard Worker double mvr_abs; 39*fb1b10abSAndroid Build Coastguard Worker double MVc; 40*fb1b10abSAndroid Build Coastguard Worker double mvc_abs; 41*fb1b10abSAndroid Build Coastguard Worker double MVrv; 42*fb1b10abSAndroid Build Coastguard Worker double MVcv; 43*fb1b10abSAndroid Build Coastguard Worker double mv_in_out_count; 44*fb1b10abSAndroid Build Coastguard Worker double duration; 45*fb1b10abSAndroid Build Coastguard Worker double count; 46*fb1b10abSAndroid Build Coastguard Worker double new_mv_count; 47*fb1b10abSAndroid Build Coastguard Worker int64_t spatial_layer_id; 48*fb1b10abSAndroid Build Coastguard Worker } FIRSTPASS_STATS; 49*fb1b10abSAndroid Build Coastguard Worker 50*fb1b10abSAndroid Build Coastguard Worker #ifdef __cplusplus 51*fb1b10abSAndroid Build Coastguard Worker } // extern "C" 52*fb1b10abSAndroid Build Coastguard Worker #endif 53*fb1b10abSAndroid Build Coastguard Worker 54*fb1b10abSAndroid Build Coastguard Worker #endif // VPX_VP9_ENCODER_VP9_FIRSTPASS_STATS_H_ 55