Originally committed as revision 11097 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
@@ -21,7 +21,7 @@ | |||||
/** | /** | ||||
* @file rv30data.h | * @file rv30data.h | ||||
* Miscellaneous RV30 tables. | |||||
* miscellaneous RV30 tables | |||||
*/ | */ | ||||
#ifndef FFMPEG_RV30DATA_H | #ifndef FFMPEG_RV30DATA_H | ||||
@@ -36,8 +36,8 @@ static const uint8_t rv30_luma_dc_quant[32] = { | |||||
}; | }; | ||||
/** | /** | ||||
* This table is used for storing differences | |||||
* between predicted and real intra type. | |||||
* This table is used for storing the differences | |||||
* between the predicted and the real intra type. | |||||
*/ | */ | ||||
static const uint8_t rv30_itype_code[9*9*2] = { | static const uint8_t rv30_itype_code[9*9*2] = { | ||||
0, 0, 0, 1, 1, 0, 1, 1, 0, 2, 2, 0, 0, 3, 3, 0, 1, 2, | 0, 0, 0, 1, 1, 0, 1, 1, 0, 2, 2, 0, 0, 3, 3, 0, 1, 2, | ||||
@@ -52,13 +52,13 @@ static const uint8_t rv30_itype_code[9*9*2] = { | |||||
}; | }; | ||||
/** | /** | ||||
* This table is used for retrieving current intra type | |||||
* basing on its neighbours and adjustment provided by | |||||
* This table is used for retrieving the current intra type | |||||
* based on its neighbors and adjustment provided by | |||||
* code read and decoded before. | * code read and decoded before. | ||||
* | * | ||||
* This is really three-dimensional matrix with dimensions | |||||
* [-1..9][-1..9][0..9], first and second coordinates | |||||
* are detemined by top and left neighbours (-1 if unavailable). | |||||
* This is really a three-dimensional matrix with dimensions | |||||
* [-1..9][-1..9][0..9]. The first and second coordinates are | |||||
* detemined by the top and left neighbors (-1 if unavailable). | |||||
*/ | */ | ||||
static const uint8_t rv30_itype_from_context[900] = { | static const uint8_t rv30_itype_from_context[900] = { | ||||
0, 9, 9, 9, 9, 9, 9, 9, 9, | 0, 9, 9, 9, 9, 9, 9, 9, 9, | ||||
@@ -21,7 +21,7 @@ | |||||
/** | /** | ||||
* @file rv34data.h | * @file rv34data.h | ||||
* Miscellaneous RV30/40 tables. | |||||
* miscellaneous RV30/40 tables | |||||
*/ | */ | ||||
#ifndef FFMPEG_RV34DATA_H | #ifndef FFMPEG_RV34DATA_H | ||||
@@ -30,14 +30,14 @@ | |||||
#include <stdint.h> | #include <stdint.h> | ||||
/** | /** | ||||
* Number of ones in nibble minus one | |||||
* number of ones in nibble minus one | |||||
*/ | */ | ||||
static const uint8_t rv34_count_ones[16] = { | static const uint8_t rv34_count_ones[16] = { | ||||
0, 0, 0, 1, 0, 1, 1, 2, 0, 1, 1, 2, 1, 2, 2, 3 | 0, 0, 0, 1, 0, 1, 1, 2, 0, 1, 1, 2, 1, 2, 2, 3 | ||||
}; | }; | ||||
/** | /** | ||||
* Values used to reconstruct coded block pattern | |||||
* Values used to reconstruct coded block pattern. | |||||
*/ | */ | ||||
static const uint8_t rv34_cbp_code[16] = { | static const uint8_t rv34_cbp_code[16] = { | ||||
0x00, 0x20, 0x10, 0x30, 0x02, 0x22, 0x12, 0x32, | 0x00, 0x20, 0x10, 0x30, 0x02, 0x22, 0x12, 0x32, | ||||
@@ -45,10 +45,10 @@ static const uint8_t rv34_cbp_code[16] = { | |||||
}; | }; | ||||
/** | /** | ||||
* Precalculated results of division by three and modulo three for values 0-107 | |||||
* precalculated results of division by three and modulo three for values 0-107 | |||||
* | * | ||||
* A lot of four-tuples in RV40 are represented as c0*27+c1*9+c2*3+c3 | |||||
* This table allows conversion from value back to vector | |||||
* A lot of four-tuples in RV40 are represented as c0*27+c1*9+c2*3+c3. | |||||
* This table allows conversion from a value back to a vector. | |||||
*/ | */ | ||||
static const uint8_t modulo_three_table[108][4] = { | static const uint8_t modulo_three_table[108][4] = { | ||||
{ 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, 0, 2 }, { 0, 0, 1, 0 }, | { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, 0, 2 }, { 0, 0, 1, 0 }, | ||||
@@ -81,7 +81,7 @@ static const uint8_t modulo_three_table[108][4] = { | |||||
}; | }; | ||||
/** | /** | ||||
* Quantizer values used for AC and DC coefficients in chroma blocks | |||||
* quantizer values used for AC and DC coefficients in chroma blocks | |||||
*/ | */ | ||||
static const uint8_t rv34_chroma_quant[2][32] = { | static const uint8_t rv34_chroma_quant[2][32] = { | ||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | ||||
@@ -91,7 +91,7 @@ static const uint8_t rv34_chroma_quant[2][32] = { | |||||
}; | }; | ||||
/** | /** | ||||
* This table is used for dequantizing | |||||
* This table is used for dequantizing. | |||||
*/ | */ | ||||
static const uint16_t rv34_qscale_tab[32] = { | static const uint16_t rv34_qscale_tab[32] = { | ||||
60, 67, 76, 85, 96, 108, 121, 136, | 60, 67, 76, 85, 96, 108, 121, 136, | ||||
@@ -111,8 +111,8 @@ static const uint8_t rv34_dezigzag[16] = { | |||||
}; | }; | ||||
/** | /** | ||||
* Tables used to translate quantizer value into VLC set for decoding | |||||
* First table is used for intraframes. | |||||
* tables used to translate a quantizer value into a VLC set for decoding | |||||
* The first table is used for intraframes. | |||||
*/ | */ | ||||
static const uint8_t rv34_quant_to_vlc_set[2][31] = { | static const uint8_t rv34_quant_to_vlc_set[2][31] = { | ||||
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, | ||||
@@ -122,8 +122,8 @@ static const uint8_t rv34_quant_to_vlc_set[2][31] = { | |||||
}; | }; | ||||
/** | /** | ||||
* Table for obtaining quantizer difference | |||||
* @todo replace it with modified_quant_tab from h263data.h | |||||
* table for obtaining the quantizer difference | |||||
* @todo Replace it with modified_quant_tab from h263data.h. | |||||
*/ | */ | ||||
static const int8_t rv34_dquant_tab[] = { | static const int8_t rv34_dquant_tab[] = { | ||||
0, 0, 2, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, | 0, 0, 2, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, | ||||
@@ -133,13 +133,13 @@ static const int8_t rv34_dquant_tab[] = { | |||||
}; | }; | ||||
/** | /** | ||||
* Maximum number of macroblocks for each of the possible slice offset sizes | |||||
* @todo this is the same as ff_mba_max, maybe use it instead | |||||
* maximum number of macroblocks for each of the possible slice offset sizes | |||||
* @todo This is the same as ff_mba_max, maybe use it instead. | |||||
*/ | */ | ||||
static const uint16_t rv34_mb_max_sizes[6] = { 0x2F, 0x68, 0x18B, 0x62F, 0x18BF, 0x23FF }; | static const uint16_t rv34_mb_max_sizes[6] = { 0x2F, 0x68, 0x18B, 0x62F, 0x18BF, 0x23FF }; | ||||
/** | /** | ||||
* Bits needed to code slice offset for the given size | |||||
* @todo this is the same as ff_mba_length, maybe use it instead | |||||
* bits needed to code the slice offset for the given size | |||||
* @todo This is the same as ff_mba_length, maybe use it instead. | |||||
*/ | */ | ||||
static const uint8_t rv34_mb_bits_sizes[6] = { 6, 7, 9, 11, 13, 14 }; | static const uint8_t rv34_mb_bits_sizes[6] = { 6, 7, 9, 11, 13, 14 }; | ||||
@@ -21,7 +21,7 @@ | |||||
/** | /** | ||||
* @file rv40data.h | * @file rv40data.h | ||||
* Miscellaneous RV40 tables. | |||||
* miscellaneous RV40 tables | |||||
*/ | */ | ||||
#ifndef FFMPEG_RV40DATA_H | #ifndef FFMPEG_RV40DATA_H | ||||
@@ -30,7 +30,7 @@ | |||||
#include <stdint.h> | #include <stdint.h> | ||||
/** | /** | ||||
* Standard widths and heights coded in RV40 | |||||
* standard widths and heights coded in RV40 | |||||
*/ | */ | ||||
//@{ | //@{ | ||||
static const int rv40_standard_widths[] = { 160, 172, 240, 320, 352, 640, 704, 0}; | static const int rv40_standard_widths[] = { 160, 172, 240, 320, 352, 640, 704, 0}; | ||||
@@ -40,10 +40,10 @@ static const int rv40_standard_heights2[] = { 180, 360, 576, 0}; | |||||
#define MODE2_PATTERNS_NUM 20 | #define MODE2_PATTERNS_NUM 20 | ||||
/** | /** | ||||
* Intra types table | |||||
* intra types table | |||||
* | * | ||||
* These values are actually coded 3-tuples | * These values are actually coded 3-tuples | ||||
* used for detecting standard block configurations | |||||
* used for detecting standard block configurations. | |||||
*/ | */ | ||||
static const uint16_t rv40_aic_table_index[MODE2_PATTERNS_NUM] = { | static const uint16_t rv40_aic_table_index[MODE2_PATTERNS_NUM] = { | ||||
0x000, 0x100, 0x200, | 0x000, 0x100, 0x200, | ||||
@@ -55,8 +55,8 @@ static const uint16_t rv40_aic_table_index[MODE2_PATTERNS_NUM] = { | |||||
}; | }; | ||||
/** | /** | ||||
* Luma quantizer values | |||||
* Second table is used for inter blocks | |||||
* luma quantizer values | |||||
* The second table is used for inter blocks. | |||||
*/ | */ | ||||
static const uint8_t rv40_luma_dc_quant[2][32] = { | static const uint8_t rv40_luma_dc_quant[2][32] = { | ||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | ||||
@@ -66,18 +66,18 @@ static const uint8_t rv40_luma_dc_quant[2][32] = { | |||||
}; | }; | ||||
/** | /** | ||||
* @begingroup loopfilter coefficients used by RV40 loop filter | |||||
* @begingroup loopfilter coefficients used by the RV40 loop filter | |||||
* @{ | * @{ | ||||
*/ | */ | ||||
/** | /** | ||||
* Dither values for deblocking filter - left/top values | |||||
* dither values for deblocking filter - left/top values | |||||
*/ | */ | ||||
static const uint8_t rv40_dither_l[16] = { | static const uint8_t rv40_dither_l[16] = { | ||||
0x40, 0x50, 0x20, 0x60, 0x30, 0x50, 0x40, 0x30, | 0x40, 0x50, 0x20, 0x60, 0x30, 0x50, 0x40, 0x30, | ||||
0x50, 0x40, 0x50, 0x30, 0x60, 0x20, 0x50, 0x40 | 0x50, 0x40, 0x50, 0x30, 0x60, 0x20, 0x50, 0x40 | ||||
}; | }; | ||||
/** | /** | ||||
* Dither values for deblocking filter - right/bottom values | |||||
* dither values for deblocking filter - right/bottom values | |||||
*/ | */ | ||||
static const uint8_t rv40_dither_r[16] = { | static const uint8_t rv40_dither_r[16] = { | ||||
0x40, 0x30, 0x60, 0x20, 0x50, 0x30, 0x30, 0x40, | 0x40, 0x30, 0x60, 0x20, 0x50, 0x30, 0x30, 0x40, | ||||
@@ -21,7 +21,7 @@ | |||||
/** | /** | ||||
* @file rv40vlc2.h | * @file rv40vlc2.h | ||||
* RV40 VLC tables used for macroblock information decoding. | |||||
* RV40 VLC tables used for macroblock information decoding | |||||
*/ | */ | ||||
#ifndef FFMPEG_RV40VLC2_H | #ifndef FFMPEG_RV40VLC2_H | ||||
@@ -30,7 +30,7 @@ | |||||
#include <stdint.h> | #include <stdint.h> | ||||
/** | /** | ||||
* Codes used for the first four block types | |||||
* codes used for the first four block types | |||||
*/ | */ | ||||
//@{ | //@{ | ||||
#define AIC_TOP_BITS 8 | #define AIC_TOP_BITS 8 | ||||
@@ -46,7 +46,7 @@ static const uint8_t rv40_aic_top_vlc_bits[AIC_TOP_SIZE] = { | |||||
//@} | //@} | ||||
/** | /** | ||||
* Codes used for determining pair of block types | |||||
* codes used for determining a pair of block types | |||||
*/ | */ | ||||
//@{ | //@{ | ||||
#define AIC_MODE2_NUM 20 | #define AIC_MODE2_NUM 20 | ||||
@@ -634,7 +634,7 @@ static const uint8_t aic_mode1_vlc_bits[AIC_MODE1_NUM][AIC_MODE1_SIZE] = { | |||||
#define PBTYPE_ESCAPE 0xFF | #define PBTYPE_ESCAPE 0xFF | ||||
/** Tables used for P-frame macroblock type decoding */ | |||||
/** tables used for P-frame macroblock type decoding */ | |||||
//@{ | //@{ | ||||
#define NUM_PTYPE_VLCS 7 | #define NUM_PTYPE_VLCS 7 | ||||
#define PTYPE_VLC_SIZE 8 | #define PTYPE_VLC_SIZE 8 | ||||
@@ -670,7 +670,7 @@ static const uint8_t block_num_to_ptype_vlc_num[12] = { | |||||
}; | }; | ||||
//@} | //@} | ||||
/** Tables used for P-frame macroblock type decoding */ | |||||
/** tables used for P-frame macroblock type decoding */ | |||||
//@{ | //@{ | ||||
#define NUM_BTYPE_VLCS 6 | #define NUM_BTYPE_VLCS 6 | ||||
#define BTYPE_VLC_SIZE 7 | #define BTYPE_VLC_SIZE 7 | ||||