Merge commit '07acdd651d'
* commit '07acdd651d':
ivi_common: use proper logging context in ivi_decode_blocks().
ivi_common: make some functions and tables static.
asyncts: ignore min_delta only if first_pts is set
Conflicts:
libavcodec/ivi_common.c
libavcodec/ivi_common.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
be26232efa
3 changed files with 117 additions and 132 deletions
|
|
@ -63,9 +63,6 @@ enum {
|
|||
IVI_BLK_HUFF = 1 /// Huffman table is used for coding blocks
|
||||
};
|
||||
|
||||
extern VLC ff_ivi_mb_vlc_tabs [8]; ///< static macroblock Huffman tables
|
||||
extern VLC ff_ivi_blk_vlc_tabs[8]; ///< static block Huffman tables
|
||||
|
||||
|
||||
/**
|
||||
* Common scan patterns (defined in ivi_common.c)
|
||||
|
|
@ -280,17 +277,6 @@ static inline int ivi_scale_mv(int mv, int mv_scale)
|
|||
return (mv + (mv > 0) + (mv_scale - 1)) >> mv_scale;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a huffman codebook from the given descriptor
|
||||
* and convert it into the FFmpeg VLC table.
|
||||
*
|
||||
* @param[in] cb pointer to codebook descriptor
|
||||
* @param[out] vlc where to place the generated VLC table
|
||||
* @param[in] flag flag: 1 - for static or 0 for dynamic tables
|
||||
* @return result code: 0 - OK, -1 = error (invalid codebook descriptor)
|
||||
*/
|
||||
int ff_ivi_create_huff_from_desc(const IVIHuffDesc *cb, VLC *vlc, int flag);
|
||||
|
||||
/**
|
||||
* Initialize static codes used for macroblock and block decoding.
|
||||
*/
|
||||
|
|
@ -310,23 +296,6 @@ void ff_ivi_init_static_vlc(void);
|
|||
int ff_ivi_dec_huff_desc(GetBitContext *gb, int desc_coded, int which_tab,
|
||||
IVIHuffTab *huff_tab, AVCodecContext *avctx);
|
||||
|
||||
/**
|
||||
* Compare two huffman codebook descriptors.
|
||||
*
|
||||
* @param[in] desc1 ptr to the 1st descriptor to compare
|
||||
* @param[in] desc2 ptr to the 2nd descriptor to compare
|
||||
* @return comparison result: 0 - equal, 1 - not equal
|
||||
*/
|
||||
int ff_ivi_huff_desc_cmp(const IVIHuffDesc *desc1, const IVIHuffDesc *desc2);
|
||||
|
||||
/**
|
||||
* Copy huffman codebook descriptors.
|
||||
*
|
||||
* @param[out] dst ptr to the destination descriptor
|
||||
* @param[in] src ptr to the source descriptor
|
||||
*/
|
||||
void ff_ivi_huff_desc_copy(IVIHuffDesc *dst, const IVIHuffDesc *src);
|
||||
|
||||
/**
|
||||
* Initialize planes (prepares descriptors, allocates buffers etc).
|
||||
*
|
||||
|
|
@ -336,13 +305,6 @@ void ff_ivi_huff_desc_copy(IVIHuffDesc *dst, const IVIHuffDesc *src);
|
|||
*/
|
||||
int ff_ivi_init_planes(IVIPlaneDesc *planes, const IVIPicConfig *cfg);
|
||||
|
||||
/**
|
||||
* Free planes, bands and macroblocks buffers.
|
||||
*
|
||||
* @param[in] planes pointer to the array of the plane descriptors
|
||||
*/
|
||||
void ff_ivi_free_buffers(IVIPlaneDesc *planes);
|
||||
|
||||
/**
|
||||
* Initialize tile and macroblock descriptors.
|
||||
*
|
||||
|
|
@ -353,42 +315,6 @@ void ff_ivi_free_buffers(IVIPlaneDesc *planes);
|
|||
*/
|
||||
int ff_ivi_init_tiles(IVIPlaneDesc *planes, int tile_width, int tile_height);
|
||||
|
||||
/**
|
||||
* Decode size of the tile data.
|
||||
* The size is stored as a variable-length field having the following format:
|
||||
* if (tile_data_size < 255) than this field is only one byte long
|
||||
* if (tile_data_size >= 255) than this field four is byte long: 0xFF X1 X2 X3
|
||||
* where X1-X3 is size of the tile data
|
||||
*
|
||||
* @param[in,out] gb the GetBit context
|
||||
* @return size of the tile data in bytes
|
||||
*/
|
||||
int ff_ivi_dec_tile_data_size(GetBitContext *gb);
|
||||
|
||||
/**
|
||||
* Decode block data:
|
||||
* extract huffman-coded transform coefficients from the bitstream,
|
||||
* dequantize them, apply inverse transform and motion compensation
|
||||
* in order to reconstruct the picture.
|
||||
*
|
||||
* @param[in,out] gb the GetBit context
|
||||
* @param[in] band pointer to the band descriptor
|
||||
* @param[in] tile pointer to the tile descriptor
|
||||
* @return result code: 0 - OK, -1 = error (corrupted blocks data)
|
||||
*/
|
||||
int ff_ivi_decode_blocks(GetBitContext *gb, IVIBandDesc *band, IVITile *tile);
|
||||
|
||||
/**
|
||||
* Convert and output the current plane.
|
||||
* This conversion is done by adding back the bias value of 128
|
||||
* (subtracted in the encoder) and clipping the result.
|
||||
*
|
||||
* @param[in] plane pointer to the descriptor of the plane being processed
|
||||
* @param[out] dst pointer to the buffer receiving converted pixels
|
||||
* @param[in] dst_pitch pitch for moving to the next y line
|
||||
*/
|
||||
void ff_ivi_output_plane(IVIPlaneDesc *plane, uint8_t *dst, int dst_pitch);
|
||||
|
||||
int ff_ivi_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
||||
AVPacket *avpkt);
|
||||
av_cold int ff_ivi_decode_close(AVCodecContext *avctx);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue