Table of Contents
QccVIDMotionVectorsTable - data structure for the Huffman coding
of motion vectors as specified in the H.261 standard
#include
"libQccPack.h"
int QccVIDMotionVectorsTableInitialize(QccVIDMotionVectorsTable
*table);
int QccVIDMotionVectorsTableCreate(QccVIDMotionVectorsTable
*table);
void QccVIDMotionVectorsTableFree(QccVIDMotionVectorsTable *table);
QccPack provides data structure QccVIDMotionVectorsTable
for representing the encoding and decoding tables used for the coding
of motion-vector data (MVD) as specified in the H.261 video-coding standard.
Specifically, the data placed in the tables corresponds to Table 3/H.261
in Sec. 4.2.3.4 of the H.261 standard.
The QccVIDMotionVectorsTable
data structure is defined as:
typedef struct
{
QccENTHuffmanTable
encode_table;
QccENTHuffmanTable decode_table;
} QccVIDMotionVectorsTable;
The fields of QccVIDMotionVectorsTable are as follows:
- encode_table
- The Huffman table for encoding.
- decoding_table
- The Huffman table for
decoding.
QccVIDMotionVectorsTableInitialize() should be called
before any use of a QccVIDMotionVectorsTable structure. QccVIDMotionVectorsTableInitialize()
initializes the fields of table with a call to QccENTHuffmanTableInitialize(3)
.
QccVIDMotionVectorsTableCreate() calls QccENTHuffmanTableCreateEncodeTable(3)
and QccENTHuffmanTableCreateDecodeTable(3)
with the appropriate data to
create the encoding and decoding tables.
QccVIDMotioVectorsTableFree()
free space allocated to the encoding and decoding tables.
These routines return 0 on success, and 1 on failure.
QccVIDMotionVectorsEncode(3)
,
QccVIDMotionVectorsDecode(3)
, QccENTHuffmanTable(3)
, QccPackVID(3)
, QccPackENT(3)
,
QccPack(3)
ITU-T, Video Coding for Audiovisual Services at p x 64 kbit/s,
March 1993, ITU-T Recommendation H.261.
Copyright (C) 1997-2021 James
E. Fowler
Table of Contents