Dirac Video Codec

# 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:
[legend]

List of all members.

## 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

- EncoderParams & m_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

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

dirac::QualityMonitor::~QualityMonitor | ( |  | ) |

## Member Function Documentation

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

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

Parameters:

  | enc_picture | the picture being encoded

void dirac::QualityMonitor::ResetAll | ( |  | ) |

void dirac::QualityMonitor::WriteLog | ( |  | ) |

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

## Member Data Documentation

EncoderParams& dirac::QualityMonitor::m_encparams`[private]`

long double dirac::QualityMonitor::m_totalmse_averageY`[private]`

long double dirac::QualityMonitor::m_totalmse_averageU`[private]`

long double dirac::QualityMonitor::m_totalmse_averageV`[private]`

int dirac::QualityMonitor::m_allpicture_total`[private]`

OneDArray<long double> dirac::QualityMonitor::m_mse_averageY`[private]`

OneDArray<long double> dirac::QualityMonitor::m_mse_averageU`[private]`

OneDArray<long double> dirac::QualityMonitor::m_mse_averageV`[private]`

OneDArray<int> dirac::QualityMonitor::m_picture_total`[private]`

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

- quality_monitor.h

© 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.