Created by the British Broadcasting Corporation.
#include <frame_buffer.h>
| dirac::FrameBuffer::FrameBuffer | ( | ) |
| dirac::FrameBuffer::FrameBuffer | ( | ChromaFormat | cf, | |
| int | xlen, | |||
| int | ylen, | |||
| int | c_xlen, | |||
| int | c_ylen, | |||
| unsigned int | vd | |||
| ) |
Creates a FrameBuffer using the chroma format. Suitable for compressing when there are no L2 frames, or when the temporal prediction structure is to be determined on the fly.
| cf | the Chroma format of frames in the buffer | |
| xlen | the luma width of frames in the buffer | |
| ylen | the luma height of frames in the buffer | |
| c_xlen | the chroma width of frames in the buffer | |
| c_ylen | the chroma height of frames in the buffer | |
| vd | the video depth of the data in the buffer |
| dirac::FrameBuffer::FrameBuffer | ( | ChromaFormat | cf, | |
| int | numL1, | |||
| int | L1sep, | |||
| int | xlen, | |||
| int | ylen, | |||
| int | c_xlen, | |||
| int | c_ylen, | |||
| unsigned int | vd | |||
| ) |
Creates a FrameBuffer using the chroma format, the number of L1 frames between I frames and the separation in frames between L1 frames. Suitable for compressing when there is a full GOP structure or when the temporal prediction structure is to be determined on the fly.
| cf | the Chroma format of frames in the buffer | |
| numL1 | the number of Layer 1 frames before the next I frame. 0 means that there is only one I frame. | |
| L1sep | the number of Layer 2 frames between Layer 1 frames | |
| xlen | the luma width of frames in the buffer | |
| ylen | the luma height of frames in the buffer | |
| c_xlen | the chroma width of frames in the buffer | |
| c_ylen | the chroma height of frames in the buffer | |
| vd | the video depth of the data in the buffer |
| dirac::FrameBuffer::FrameBuffer | ( | const FrameBuffer & | cpy | ) |
Copy constructor. Removes the current contents of the frame buffer and copies in the contents of the initialising buffer.
| dirac::FrameBuffer::~FrameBuffer | ( | ) |
| void dirac::FrameBuffer::Clean | ( | int | fnum | ) |
Delete frame.
| fnum | frame number in display order to be deleted from frame buffer |
| void dirac::FrameBuffer::Clean | ( | int | show_fnum, | |
| int | current_coded_fnum | |||
| ) |
Delete frames which have been output and which are no longer required for reference. Expiry times are set in each frame's frame parameters.
| show_fnum | frame number in display order that can be output | |
| current_coded_fnum | frame number in display order of frame currently being coded |
| const FrameParams& dirac::FrameBuffer::GetFParams | ( | ) | const [inline] |
| const Frame& dirac::FrameBuffer::GetFrame | ( | unsigned int | fnum | ) | const |
| Frame& dirac::FrameBuffer::GetFrame | ( | unsigned int | fnum | ) |
| FrameBuffer& dirac::FrameBuffer::operator= | ( | const FrameBuffer & | rhs | ) |
Operator=. Assigns all elements of the rhs to the lhs.
| void dirac::FrameBuffer::PushFrame | ( | StreamPicInput * | picin, | |
| unsigned int | fnum | |||
| ) |
Read a new frame into the buffer. Frame parameters associated with the frame will be derived from the frame number and the internal GOP parameters in the frame buffer.
| picin | the picture input | |
| fnum | the frame number |
| void dirac::FrameBuffer::PushFrame | ( | StreamPicInput * | picin, | |
| const FrameParams & | fp | |||
| ) |
Read a new frame into the buffer. Frame parameters associated with the frame will be as given by the frame parameter object.
| picin | the picture input | |
| fp | the frame parameters to apply to the frame |
| void dirac::FrameBuffer::PushFrame | ( | const Frame & | frame | ) |
Put a copy of a new frame into the top of the buffer.
| void dirac::FrameBuffer::PushFrame | ( | const FrameParams & | fp | ) |
Put a new frame into the top of the buffer. Frame parameters associated with the frame will be as given by the frame parameter object.
| void dirac::FrameBuffer::PushFrame | ( | unsigned int | frame_num | ) |
Put a new frame into the top of the buffer. Frame parameters associated with the frame will be the built-in parameters for the buffer.
| frame_num | the number of the frame being inserted |
| void dirac::FrameBuffer::Remove | ( | unsigned int | fnum | ) | [private] |
Remove a frame with a given frame number (in display order) from the buffer. Searches through the buffer and removes frame(s) with that number.
| void dirac::FrameBuffer::SetFrameParams | ( | unsigned int | fnum | ) | [private] |
| size_t dirac::FrameBuffer::Size | ( | ) | const [inline] |
std::map<unsigned int,unsigned int> dirac::FrameBuffer::m_fnum_map [private] |
FrameParams dirac::FrameBuffer::m_fparams [private] |
std::vector<Frame*> dirac::FrameBuffer::m_frame_data [private] |
std::vector<bool> dirac::FrameBuffer::m_frame_in_use [private] |
unsigned int dirac::FrameBuffer::m_gop_len [private] |
unsigned int dirac::FrameBuffer::m_L1_sep [private] |
unsigned int dirac::FrameBuffer::m_num_L1 [private] |
© 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.