comparison ivi_common.h @ 12181:0885e7a93ed4 libavcodec

Fix Doxygen @param command attribute syntax. The [in] and [out] attributes have to be appended to the @param command.
author diego
date Sat, 17 Jul 2010 10:43:42 +0000
parents fdafbcef52f5
children
comparison
equal deleted inserted replaced
12180:b24153464669 12181:0885e7a93ed4
221 221
222 /** 222 /**
223 * Generate a huffman codebook from the given descriptor 223 * Generate a huffman codebook from the given descriptor
224 * and convert it into the FFmpeg VLC table. 224 * and convert it into the FFmpeg VLC table.
225 * 225 *
226 * @param cb [in] pointer to codebook descriptor 226 * @param[in] cb pointer to codebook descriptor
227 * @param vlc [out] where to place the generated VLC table 227 * @param[out] vlc where to place the generated VLC table
228 * @param flag [in] flag: 1 - for static or 0 for dynamic tables 228 * @param[in] flag flag: 1 - for static or 0 for dynamic tables
229 * @return result code: 0 - OK, -1 = error (invalid codebook descriptor) 229 * @return result code: 0 - OK, -1 = error (invalid codebook descriptor)
230 */ 230 */
231 int ff_ivi_create_huff_from_desc(const IVIHuffDesc *cb, VLC *vlc, int flag); 231 int ff_ivi_create_huff_from_desc(const IVIHuffDesc *cb, VLC *vlc, int flag);
232 232
233 /** 233 /**
237 237
238 /** 238 /**
239 * Decode a huffman codebook descriptor from the bitstream 239 * Decode a huffman codebook descriptor from the bitstream
240 * and select specified huffman table. 240 * and select specified huffman table.
241 * 241 *
242 * @param gb [in,out] the GetBit context 242 * @param[in,out] gb the GetBit context
243 * @param desc_coded [in] flag signalling if table descriptor was coded 243 * @param[in] desc_coded flag signalling if table descriptor was coded
244 * @param which_tab [in] codebook purpose (IVI_MB_HUFF or IVI_BLK_HUFF) 244 * @param[in] which_tab codebook purpose (IVI_MB_HUFF or IVI_BLK_HUFF)
245 * @param huff_tab [out] pointer to the descriptor of the selected table 245 * @param[out] huff_tab pointer to the descriptor of the selected table
246 * @param avctx [in] AVCodecContext pointer 246 * @param[in] avctx AVCodecContext pointer
247 * @return zero on success, negative value otherwise 247 * @return zero on success, negative value otherwise
248 */ 248 */
249 int ff_ivi_dec_huff_desc(GetBitContext *gb, int desc_coded, int which_tab, 249 int ff_ivi_dec_huff_desc(GetBitContext *gb, int desc_coded, int which_tab,
250 IVIHuffTab *huff_tab, AVCodecContext *avctx); 250 IVIHuffTab *huff_tab, AVCodecContext *avctx);
251 251
252 /** 252 /**
253 * Compare two huffman codebook descriptors. 253 * Compare two huffman codebook descriptors.
254 * 254 *
255 * @param desc1 [in] ptr to the 1st descriptor to compare 255 * @param[in] desc1 ptr to the 1st descriptor to compare
256 * @param desc2 [in] ptr to the 2nd descriptor to compare 256 * @param[in] desc2 ptr to the 2nd descriptor to compare
257 * @return comparison result: 0 - equal, 1 - not equal 257 * @return comparison result: 0 - equal, 1 - not equal
258 */ 258 */
259 int ff_ivi_huff_desc_cmp(const IVIHuffDesc *desc1, const IVIHuffDesc *desc2); 259 int ff_ivi_huff_desc_cmp(const IVIHuffDesc *desc1, const IVIHuffDesc *desc2);
260 260
261 /** 261 /**
262 * Copy huffman codebook descriptors. 262 * Copy huffman codebook descriptors.
263 * 263 *
264 * @param dst [out] ptr to the destination descriptor 264 * @param[out] dst ptr to the destination descriptor
265 * @param src [in] ptr to the source descriptor 265 * @param[in] src ptr to the source descriptor
266 */ 266 */
267 void ff_ivi_huff_desc_copy(IVIHuffDesc *dst, const IVIHuffDesc *src); 267 void ff_ivi_huff_desc_copy(IVIHuffDesc *dst, const IVIHuffDesc *src);
268 268
269 /** 269 /**
270 * Initialize planes (prepares descriptors, allocates buffers etc). 270 * Initialize planes (prepares descriptors, allocates buffers etc).
271 * 271 *
272 * @param planes [in,out] pointer to the array of the plane descriptors 272 * @param[in,out] planes pointer to the array of the plane descriptors
273 * @param cfg [in] pointer to the ivi_pic_config structure describing picture layout 273 * @param[in] cfg pointer to the ivi_pic_config structure describing picture layout
274 * @return result code: 0 - OK 274 * @return result code: 0 - OK
275 */ 275 */
276 int ff_ivi_init_planes(IVIPlaneDesc *planes, const IVIPicConfig *cfg); 276 int ff_ivi_init_planes(IVIPlaneDesc *planes, const IVIPicConfig *cfg);
277 277
278 /** 278 /**
279 * Free planes, bands and macroblocks buffers. 279 * Free planes, bands and macroblocks buffers.
280 * 280 *
281 * @param planes [in] pointer to the array of the plane descriptors 281 * @param[in] planes pointer to the array of the plane descriptors
282 */ 282 */
283 void ff_ivi_free_buffers(IVIPlaneDesc *planes); 283 void ff_ivi_free_buffers(IVIPlaneDesc *planes);
284 284
285 /** 285 /**
286 * Initialize tile and macroblock descriptors. 286 * Initialize tile and macroblock descriptors.
287 * 287 *
288 * @param planes [in,out] pointer to the array of the plane descriptors 288 * @param[in,out] planes pointer to the array of the plane descriptors
289 * @param tile_width [in] tile width 289 * @param[in] tile_width tile width
290 * @param tile_height [in] tile height 290 * @param[in] tile_height tile height
291 * @return result code: 0 - OK 291 * @return result code: 0 - OK
292 */ 292 */
293 int ff_ivi_init_tiles(IVIPlaneDesc *planes, int tile_width, int tile_height); 293 int ff_ivi_init_tiles(IVIPlaneDesc *planes, int tile_width, int tile_height);
294 294
295 /** 295 /**
297 * The size is stored as a variable-length field having the following format: 297 * The size is stored as a variable-length field having the following format:
298 * if (tile_data_size < 255) than this field is only one byte long 298 * if (tile_data_size < 255) than this field is only one byte long
299 * if (tile_data_size >= 255) than this field four is byte long: 0xFF X1 X2 X3 299 * if (tile_data_size >= 255) than this field four is byte long: 0xFF X1 X2 X3
300 * where X1-X3 is size of the tile data 300 * where X1-X3 is size of the tile data
301 * 301 *
302 * @param gb [in,out] the GetBit context 302 * @param[in,out] gb the GetBit context
303 * @return size of the tile data in bytes 303 * @return size of the tile data in bytes
304 */ 304 */
305 int ff_ivi_dec_tile_data_size(GetBitContext *gb); 305 int ff_ivi_dec_tile_data_size(GetBitContext *gb);
306 306
307 /** 307 /**
308 * Decode block data: 308 * Decode block data:
309 * extract huffman-coded transform coefficients from the bitstream, 309 * extract huffman-coded transform coefficients from the bitstream,
310 * dequantize them, apply inverse transform and motion compensation 310 * dequantize them, apply inverse transform and motion compensation
311 * in order to reconstruct the picture. 311 * in order to reconstruct the picture.
312 * 312 *
313 * @param gb [in,out] the GetBit context 313 * @param[in,out] gb the GetBit context
314 * @param band [in] pointer to the band descriptor 314 * @param[in] band pointer to the band descriptor
315 * @param tile [in] pointer to the tile descriptor 315 * @param[in] tile pointer to the tile descriptor
316 * @return result code: 0 - OK, -1 = error (corrupted blocks data) 316 * @return result code: 0 - OK, -1 = error (corrupted blocks data)
317 */ 317 */
318 int ff_ivi_decode_blocks(GetBitContext *gb, IVIBandDesc *band, IVITile *tile); 318 int ff_ivi_decode_blocks(GetBitContext *gb, IVIBandDesc *band, IVITile *tile);
319 319
320 /** 320 /**
321 * Handle empty tiles by performing data copying and motion 321 * Handle empty tiles by performing data copying and motion
322 * compensation respectively. 322 * compensation respectively.
323 * 323 *
324 * @param avctx [in] ptr to the AVCodecContext 324 * @param[in] avctx ptr to the AVCodecContext
325 * @param band [in] pointer to the band descriptor 325 * @param[in] band pointer to the band descriptor
326 * @param tile [in] pointer to the tile descriptor 326 * @param[in] tile pointer to the tile descriptor
327 * @param mv_scale [in] scaling factor for motion vectors 327 * @param[in] mv_scale scaling factor for motion vectors
328 */ 328 */
329 void ff_ivi_process_empty_tile(AVCodecContext *avctx, IVIBandDesc *band, 329 void ff_ivi_process_empty_tile(AVCodecContext *avctx, IVIBandDesc *band,
330 IVITile *tile, int32_t mv_scale); 330 IVITile *tile, int32_t mv_scale);
331 331
332 /** 332 /**
333 * Convert and output the current plane. 333 * Convert and output the current plane.
334 * This conversion is done by adding back the bias value of 128 334 * This conversion is done by adding back the bias value of 128
335 * (subtracted in the encoder) and clipping the result. 335 * (subtracted in the encoder) and clipping the result.
336 * 336 *
337 * @param plane [in] pointer to the descriptor of the plane being processed 337 * @param[in] plane pointer to the descriptor of the plane being processed
338 * @param dst [out] pointer to the buffer receiving converted pixels 338 * @param[out] dst pointer to the buffer receiving converted pixels
339 * @param dst_pitch [in] pitch for moving to the next y line 339 * @param[in] dst_pitch pitch for moving to the next y line
340 */ 340 */
341 void ff_ivi_output_plane(IVIPlaneDesc *plane, uint8_t *dst, int dst_pitch); 341 void ff_ivi_output_plane(IVIPlaneDesc *plane, uint8_t *dst, int dst_pitch);
342 342
343 #if IVI_DEBUG 343 #if IVI_DEBUG
344 /** 344 /**