diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-08-11 13:07:39 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-08-11 13:08:46 +0200 |
commit | 9eda4e8bd759bfa9d3cc68f2a82a4de6d8eb76ca (patch) | |
tree | 2826c4fcf027891fbfdb153ad1b594367186a3f5 /libavcodec/idctdsp.h | |
parent | 5ec85c9750f0770383b781acd6362a8bebbf4db6 (diff) | |
download | ffmpeg-9eda4e8bd759bfa9d3cc68f2a82a4de6d8eb76ca.tar.gz |
avcodec/idctdsp: move add/put_pixels_clamped_c to header
This allows sharing them with the xvid IDCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/idctdsp.h')
-rw-r--r-- | libavcodec/idctdsp.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/libavcodec/idctdsp.h b/libavcodec/idctdsp.h index 04510b16bb..bd5e87510e 100644 --- a/libavcodec/idctdsp.h +++ b/libavcodec/idctdsp.h @@ -106,4 +106,45 @@ void ff_idctdsp_init_ppc(IDCTDSPContext *c, AVCodecContext *avctx, void ff_idctdsp_init_x86(IDCTDSPContext *c, AVCodecContext *avctx, unsigned high_bit_depth); +static inline void put_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels, + int line_size) +{ + int i; + + /* read the pixels */ + for (i = 0; i < 8; i++) { + pixels[0] = av_clip_uint8(block[0]); + pixels[1] = av_clip_uint8(block[1]); + pixels[2] = av_clip_uint8(block[2]); + pixels[3] = av_clip_uint8(block[3]); + pixels[4] = av_clip_uint8(block[4]); + pixels[5] = av_clip_uint8(block[5]); + pixels[6] = av_clip_uint8(block[6]); + pixels[7] = av_clip_uint8(block[7]); + + pixels += line_size; + block += 8; + } +} + +static inline void add_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels, + int line_size) +{ + int i; + + /* read the pixels */ + for (i = 0; i < 8; i++) { + pixels[0] = av_clip_uint8(pixels[0] + block[0]); + pixels[1] = av_clip_uint8(pixels[1] + block[1]); + pixels[2] = av_clip_uint8(pixels[2] + block[2]); + pixels[3] = av_clip_uint8(pixels[3] + block[3]); + pixels[4] = av_clip_uint8(pixels[4] + block[4]); + pixels[5] = av_clip_uint8(pixels[5] + block[5]); + pixels[6] = av_clip_uint8(pixels[6] + block[6]); + pixels[7] = av_clip_uint8(pixels[7] + block[7]); + pixels += line_size; + block += 8; + } +} + #endif /* AVCODEC_IDCTDSP_H */ |