Grok 20.3.2
grk::RateControlStats Struct Reference

Per-tile rate control statistics collected during T1 encoding. More...

#include <RateControlStats.h>

Public Member Functions

 RateControlStats ()
void init (uint16_t numcomps)
void updateMinSlope (uint16_t val)
void updateMaxSlope (uint16_t val)
void updateMinRDSlope (double val)
void updateMaxRDSlope (double val)

Public Attributes

uint16_t numcomps_
std::unique_ptr< std::atomic< uint64_t >[]> numpixByComponent_
std::atomic< uint64_t > numCodeBlocks_ {0}
std::atomic< uint16_t > minimumSlope_ {USHRT_MAX}
std::atomic< uint16_t > maximumSlope_ {0}
std::atomic< double > minRDSlope_ {DBL_MAX}
std::atomic< double > maxRDSlope_ {-1.0}

Detailed Description

Per-tile rate control statistics collected during T1 encoding.

These stats are gathered in parallel during block encoding so that the rate control bisection loop can skip the initial serial codeblock traversal.

Constructor & Destructor Documentation

◆ RateControlStats()

grk::RateControlStats::RateControlStats ( )
inline

References numCodeBlocks_, and numcomps_.

Member Function Documentation

◆ init()

void grk::RateControlStats::init ( uint16_t numcomps)
inline

◆ updateMaxRDSlope()

void grk::RateControlStats::updateMaxRDSlope ( double val)
inline

References maxRDSlope_.

◆ updateMaxSlope()

void grk::RateControlStats::updateMaxSlope ( uint16_t val)
inline

References maximumSlope_.

◆ updateMinRDSlope()

void grk::RateControlStats::updateMinRDSlope ( double val)
inline

References minRDSlope_.

◆ updateMinSlope()

void grk::RateControlStats::updateMinSlope ( uint16_t val)
inline

References minimumSlope_.

Member Data Documentation

◆ maximumSlope_

std::atomic<uint16_t> grk::RateControlStats::maximumSlope_ {0}

Referenced by init(), and updateMaxSlope().

◆ maxRDSlope_

std::atomic<double> grk::RateControlStats::maxRDSlope_ {-1.0}

Referenced by init(), and updateMaxRDSlope().

◆ minimumSlope_

std::atomic<uint16_t> grk::RateControlStats::minimumSlope_ {USHRT_MAX}

Referenced by init(), and updateMinSlope().

◆ minRDSlope_

std::atomic<double> grk::RateControlStats::minRDSlope_ {DBL_MAX}

Referenced by init(), and updateMinRDSlope().

◆ numCodeBlocks_

std::atomic<uint64_t> grk::RateControlStats::numCodeBlocks_ {0}

Referenced by init(), and RateControlStats().

◆ numcomps_

uint16_t grk::RateControlStats::numcomps_

Referenced by init(), and RateControlStats().

◆ numpixByComponent_

std::unique_ptr<std::atomic<uint64_t>[]> grk::RateControlStats::numpixByComponent_

Referenced by init().


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