# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
dirac_instr::DrawMotionArrows Class Reference

Class to carry out the overlay of motion vectors represented by arrows.

`#include <motion_arrows.h>`

Inheritance diagram for dirac_instr::DrawMotionArrows:
[legend]
Collaboration diagram for dirac_instr::DrawMotionArrows:
[legend]

## Public Member Functions
| DrawMotionArrows (Picture &, DrawPictureMotionParams &, const MvArray &, int)
| Constructor. More...
| ~DrawMotionArrows ()
| Destructor. More...
void | DrawBlock (int, int)
| Manages drawing of motion vector arrows. More...
void | DrawLegend ()
| Does nothing, no legend for overlay. More...
Public Member Functions inherited from dirac_instr::DrawOverlay
| DrawOverlay (Picture &, DrawPictureMotionParams &)
| Constructor. More...
virtual | ~DrawOverlay ()
| Destructor. More...
virtual void | DrawBlock (int, int)=0
| Carries out overlay for single block. More...
virtual void | DrawLegend ()=0
| Draws overlay legend. More...
void | DrawReferenceNumbers (int, int)
| Draws picture numbers for both references. More...
void | DrawReferenceNumber (int, int)
| Draws picture number for chosen reference. More...
void | DrawPictureNumber (int)
| Draws current picture number. More...
void | DrawCharacter (const PicArray &, int, int)
| Draws a character / number / symbol. More...
const OverlaySymbols & | Symbols () const
| Returns reference to symbols object. More...

## Protected Member Functions
void | DrawArrow (int, int, int, int)
| Draws a single 16 x 16 pixel arrow. More...
Protected Member Functions inherited from dirac_instr::DrawOverlay
void | GetPowerUV (int, int &, int &)
| Calculates U and V for particular value normalised to 1000. More...
void | DrawPowerBar (int, int)
| Draws power bar legend with given limits. More...
void | DrawValue (int, int, int)
| Draws value. More...
void | DrawMvBlockUV (int, int, int, int)
| Colours motion vector block referenced by motion vector. More...
void | DrawBlockUV (int, int, int, int)
| Colours an 8x8 block referenced by TL chroma pixel. More...

## Protected Attributes
int | m_mv_scale
| Temporal motion vector scaling. More...
int | m_blocks_per_arrow_y
| Number of blocks per arrow. More...
int | m_blocks_per_arrow_x
const MvArray & | m_mv
| Reference to motion vector data for particular reference. More...
Protected Attributes inherited from dirac_instr::DrawOverlay
Picture & | m_picture
| Picture data. More...
DrawPictureMotionParams & | m_draw_params
| Block parameters and chroma scaling. More...
OverlaySymbols | m_symbols
| Symbols. More...

## Constructor & Destructor Documentation

## ◆ DrawMotionArrows()

dirac_instr::DrawMotionArrows::DrawMotionArrows | ( | Picture & | ,
|  | DrawPictureMotionParams & | ,
|  | const MvArray & | ,
|  | int |
| ) |  |

## ◆ ~DrawMotionArrows()

dirac_instr::DrawMotionArrows::~DrawMotionArrows | ( |  | ) |

## Member Function Documentation

## ◆ DrawArrow()

void dirac_instr::DrawMotionArrows::DrawArrow | ( | int | ,
|  | int | ,
|  | int | ,
|  | int |
| ) |  |
| protected

## ◆ DrawBlock()

void dirac_instr::DrawMotionArrows::DrawBlock | ( | int | ,
|  | int |
| ) |  |
| virtual

Implements dirac_instr::DrawOverlay.

Reimplemented in dirac_instr::DrawMotionColourArrows.

## ◆ DrawLegend()

void dirac_instr::DrawMotionArrows::DrawLegend | ( |  | ) |
| virtual

Implements dirac_instr::DrawOverlay.

Reimplemented in dirac_instr::DrawMotionColourArrows.

## Member Data Documentation

## ◆ m_blocks_per_arrow_x

int dirac_instr::DrawMotionArrows::m_blocks_per_arrow_x
| protected

## ◆ m_blocks_per_arrow_y

int dirac_instr::DrawMotionArrows::m_blocks_per_arrow_y
| protected

## ◆ m_mv

const MvArray& dirac_instr::DrawMotionArrows::m_mv
| protected

## ◆ m_mv_scale

int dirac_instr::DrawMotionArrows::m_mv_scale
| protected

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

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