Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::QualityMonitor Class Reference

Class to monitor the quality of pictures and adjust coding parameters appropriately.

#include <quality_monitor.h>

Collaboration diagram for dirac::QualityMonitor:

Public Member Functions

 QualityMonitor (EncoderParams &ep)
 Constructor. Sets up initial Lagrangian values.
 ~QualityMonitor ()
 Destructor.
void UpdateModel (const EncPicture &enc_picture)
 Update the mse factors, returning true if we need to recode.
void ResetAll ()
 Reset the quality factors (say if there's been a cut)
void WriteLog ()
 Write a log of the quality to date.

Private Member Functions

double QualityVal (const PicArray &coded_data, const PicArray &orig_data, const int xlen, const int ylen)
 Calculate the quality of coded wrt original picture.

Private Attributes

EncoderParamsm_encparams
 A reference to the encoder parameters.
long double m_totalmse_averageY
 The overall average Y mse.
long double m_totalmse_averageU
 The overall average U mse.
long double m_totalmse_averageV
 The overall average V mse.
int m_allpicture_total
 The total number of pictures coded.
OneDArray< long double > m_mse_averageY
 The average Y mse for the picture types.
OneDArray< long double > m_mse_averageU
 The average U mse for the picture types.
OneDArray< long double > m_mse_averageV
 The average V mse for the picture types.
OneDArray< int > m_picture_total
 The number of pictures of each type.

Constructor & Destructor Documentation

◆ QualityMonitor()

dirac::QualityMonitor::QualityMonitor ( EncoderParams & ep)

◆ ~QualityMonitor()

dirac::QualityMonitor::~QualityMonitor ( )

Member Function Documentation

◆ QualityVal()

double dirac::QualityMonitor::QualityVal ( const PicArray & coded_data,
const PicArray & orig_data,
const int xlen,
const int ylen )
private

◆ ResetAll()

void dirac::QualityMonitor::ResetAll ( )

◆ UpdateModel()

void dirac::QualityMonitor::UpdateModel ( const EncPicture & enc_picture)

Update the mse factors, returning true if we need to recode

Parameters
enc_picturethe picture being encoded

◆ WriteLog()

void dirac::QualityMonitor::WriteLog ( )

Member Data Documentation

◆ m_allpicture_total

int dirac::QualityMonitor::m_allpicture_total
private

◆ m_encparams

EncoderParams& dirac::QualityMonitor::m_encparams
private

◆ m_mse_averageU

OneDArray<long double> dirac::QualityMonitor::m_mse_averageU
private

◆ m_mse_averageV

OneDArray<long double> dirac::QualityMonitor::m_mse_averageV
private

◆ m_mse_averageY

OneDArray<long double> dirac::QualityMonitor::m_mse_averageY
private

◆ m_picture_total

OneDArray<int> dirac::QualityMonitor::m_picture_total
private

◆ m_totalmse_averageU

long double dirac::QualityMonitor::m_totalmse_averageU
private

◆ m_totalmse_averageV

long double dirac::QualityMonitor::m_totalmse_averageV
private

◆ m_totalmse_averageY

long double dirac::QualityMonitor::m_totalmse_averageY
private

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

© 2004 British Broadcasting Corporation. Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.