WebM Codec SDK: vpx_rc_frame_stats Struct Reference

WebM Codec SDK

Data Fields
vpx_rc_frame_stats Struct Reference

First pass frame stats This is a mirror of vp9's FIRSTPASS_STATS except that spatial_layer_id is omitted. More...

`#include <vpx_ext_ratectrl.h>`

## Data Fields
double | frame
double | weight
double | intra_error
double | coded_error
double | sr_coded_error
double | frame_noise_energy
double | pcnt_inter
double | pcnt_motion
double | pcnt_second_ref
double | pcnt_neutral
double | pcnt_intra_low
double | pcnt_intra_high
double | intra_skip_pct
double | intra_smooth_pct
double | inactive_zone_rows
double | inactive_zone_cols
double | MVr
double | mvr_abs
double | MVc
double | mvc_abs
double | MVrv
double | MVcv
double | mv_in_out_count
double | duration
double | count

## Detailed Description

First pass frame stats This is a mirror of vp9's FIRSTPASS_STATS except that spatial_layer_id is omitted.

## Field Documentation

## ◆ frame

double vpx_rc_frame_stats::frame

Frame number in display order, if stats are for a single frame. No real meaning for a collection of frames.

## ◆ weight

double vpx_rc_frame_stats::weight

Weight assigned to this frame (or total weight for the collection of frames) currently based on intra factor and brightness factor. This is used to distribute bits between easier and harder frames.

## ◆ intra_error

double vpx_rc_frame_stats::intra_error

Intra prediction error.

## ◆ coded_error

double vpx_rc_frame_stats::coded_error

Best of intra pred error and inter pred error using last frame as ref.

## ◆ sr_coded_error

double vpx_rc_frame_stats::sr_coded_error

Best of intra pred error and inter pred error using golden frame as ref.

## ◆ frame_noise_energy

double vpx_rc_frame_stats::frame_noise_energy

Estimate the noise energy of the current frame.

## ◆ pcnt_inter

double vpx_rc_frame_stats::pcnt_inter

Percentage of blocks with inter pred error < intra pred error.

## ◆ pcnt_motion

double vpx_rc_frame_stats::pcnt_motion

Percentage of blocks using (inter prediction and) non-zero motion vectors.

## ◆ pcnt_second_ref

double vpx_rc_frame_stats::pcnt_second_ref

Percentage of blocks where golden frame was better than last or intra: inter pred error using golden frame < inter pred error using last frame and inter pred error using golden frame < intra pred error

## ◆ pcnt_neutral

double vpx_rc_frame_stats::pcnt_neutral

Percentage of blocks where intra and inter prediction errors were very close.

## ◆ pcnt_intra_low

double vpx_rc_frame_stats::pcnt_intra_low

Percentage of blocks that have intra error < inter error and inter error < LOW_I_THRESH

- bit_depth 8: LOW_I_THRESH = 24000
- bit_depth 10: LOW_I_THRESH = 24000 << 4
- bit_depth 12: LOW_I_THRESH = 24000 << 8

## ◆ pcnt_intra_high

double vpx_rc_frame_stats::pcnt_intra_high

Percentage of blocks that have intra error < inter error and intra error < LOW_I_THRESH but inter error >= LOW_I_THRESH LOW_I_THRESH

- bit_depth 8: LOW_I_THRESH = 24000
- bit_depth 10: LOW_I_THRESH = 24000 << 4
- bit_depth 12: LOW_I_THRESH = 24000 << 8

## ◆ intra_skip_pct

double vpx_rc_frame_stats::intra_skip_pct

Percentage of blocks that have almost no intra error residual (i.e. are in effect completely flat and untextured in the intra domain). In natural videos this is uncommon, but it is much more common in animations, graphics and screen content, so may be used as a signal to detect these types of content.

## ◆ intra_smooth_pct

double vpx_rc_frame_stats::intra_smooth_pct

Percentage of blocks that have intra error < SMOOTH_INTRA_THRESH

- bit_depth 8: SMOOTH_INTRA_THRESH = 4000
- bit_depth 10: SMOOTH_INTRA_THRESH = 4000 << 4
- bit_depth 12: SMOOTH_INTRA_THRESH = 4000 << 8

## ◆ inactive_zone_rows

double vpx_rc_frame_stats::inactive_zone_rows

Image mask rows top and bottom.

## ◆ inactive_zone_cols

double vpx_rc_frame_stats::inactive_zone_cols

Image mask columns at left and right edges.

## ◆ MVr

double vpx_rc_frame_stats::MVr

Mean of row motion vectors.

## ◆ mvr_abs

double vpx_rc_frame_stats::mvr_abs

Mean of absolute value of row motion vectors.

## ◆ MVc

double vpx_rc_frame_stats::MVc

Mean of column motion vectors.

## ◆ mvc_abs

double vpx_rc_frame_stats::mvc_abs

Mean of absolute value of column motion vectors.

## ◆ MVrv

double vpx_rc_frame_stats::MVrv

Variance of row motion vectors.

## ◆ MVcv

double vpx_rc_frame_stats::MVcv

Variance of column motion vectors.

## ◆ mv_in_out_count

double vpx_rc_frame_stats::mv_in_out_count

Value in range [-1,1] indicating fraction of row and column motion vectors that point inwards (negative MV value) or outwards (positive MV value). For example, value of 1 indicates, all row/column MVs are inwards.

## ◆ duration

double vpx_rc_frame_stats::duration

Duration of the frame / collection of frames.

## ◆ count

double vpx_rc_frame_stats::count

1.0 if stats are for a single frame, or number of frames whose stats are accumulated.

The documentation for this struct was generated from the following file:

- vpx/vpx_ext_ratectrl.h