diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-12-29 01:40:34 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-12-29 01:40:34 +0100 |
commit | 6071e4d87a9b257c3f7b5912825ede9caa757624 (patch) | |
tree | aeaad3a1d7eb0b27f20a66665740d2a96e99f7c2 /libavcodec/ivi_dsp.h | |
parent | 7e5cbb3c2d96c27d526aa69cbdbd1ab23739d7e5 (diff) | |
parent | 8f5216905f88510c9a74cd91a424902aa989b9a1 (diff) | |
download | ffmpeg-6071e4d87a9b257c3f7b5912825ede9caa757624.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
v410dec: Check for sufficient input data. Fixes crash
fate: Add v210 codec regression tests
mpegts: adjustable minimum PES payload
mpegts: properly output large audio packets
avformat: Add SMJPEG demuxer.
Indeo 4 decoder
Conflicts:
doc/general.texi
libavcodec/v410dec.c
libavcodec/version.h
libavformat/mpegtsenc.c
libavformat/smjpeg.c
libavformat/version.h
tests/codec-regression.sh
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/ivi_dsp.h')
-rw-r--r-- | libavcodec/ivi_dsp.h | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/libavcodec/ivi_dsp.h b/libavcodec/ivi_dsp.h index 4fb2f80035..5a3441764c 100644 --- a/libavcodec/ivi_dsp.h +++ b/libavcodec/ivi_dsp.h @@ -1,7 +1,7 @@ /* * DSP functions for Indeo Video Interactive codecs (Indeo4 and Indeo5) * - * Copyright (c) 2009 Maxim Poliakovski + * Copyright (c) 2009-2011 Maxim Poliakovski * * This file is part of FFmpeg. * @@ -44,6 +44,43 @@ void ff_ivi_recompose53(const IVIPlaneDesc *plane, uint8_t *dst, const int dst_pitch, const int num_bands); /** + * Haar wavelet recomposition filter for Indeo 4 + * + * @param[in] plane pointer to the descriptor of the plane being processed + * @param[out] dst pointer to the destination buffer + * @param[in] dst_pitch pitch of the destination buffer + * @param[in] num_bands number of wavelet bands to be processed + */ +void ff_ivi_recompose_haar(const IVIPlaneDesc *plane, uint8_t *dst, + const int dst_pitch, const int num_bands); + +/** + * two-dimensional inverse Haar 8x8 transform for Indeo 4 + * + * @param[in] in pointer to the vector of transform coefficients + * @param[out] out pointer to the output buffer (frame) + * @param[in] pitch pitch to move to the next y line + * @param[in] flags pointer to the array of column flags: + * != 0 - non_empty column, 0 - empty one + * (this array must be filled by caller) + */ +void ff_ivi_inverse_haar_8x8(const int32_t *in, int16_t *out, uint32_t pitch, + const uint8_t *flags); + +/** + * DC-only two-dimensional inverse Haar transform for Indeo 4. + * Performing the inverse transform in this case is equivalent to + * spreading DC_coeff >> 3 over the whole block. + * + * @param[in] in pointer to the dc coefficient + * @param[out] out pointer to the output buffer (frame) + * @param[in] pitch pitch to move to the next y line + * @param[in] blk_size transform block size + */ +void ff_ivi_dc_haar_2d(const int32_t *in, int16_t *out, uint32_t pitch, + int blk_size); + +/** * two-dimensional inverse slant 8x8 transform * * @param[in] in pointer to the vector of transform coefficients |