Libav
|
00001 /* 00002 * DSP functions for Indeo Video Interactive codecs (Indeo4 and Indeo5) 00003 * 00004 * Copyright (c) 2009 Maxim Poliakovski 00005 * 00006 * This file is part of FFmpeg. 00007 * 00008 * FFmpeg is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * FFmpeg is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with FFmpeg; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 */ 00022 00029 #ifndef AVCODEC_IVI_DSP_H 00030 #define AVCODEC_IVI_DSP_H 00031 00032 #include "avcodec.h" 00033 #include "ivi_common.h" 00034 00043 void ff_ivi_recompose53(const IVIPlaneDesc *plane, uint8_t *dst, 00044 const int dst_pitch, const int num_bands); 00045 00056 void ff_ivi_inverse_slant_8x8(const int32_t *in, int16_t *out, uint32_t pitch, 00057 const uint8_t *flags); 00058 00069 void ff_ivi_inverse_slant_4x4(const int32_t *in, int16_t *out, uint32_t pitch, 00070 const uint8_t *flags); 00071 00083 void ff_ivi_dc_slant_2d(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size); 00084 00093 void ff_ivi_row_slant8(const int32_t *in, int16_t *out, uint32_t pitch, 00094 const uint8_t *flags); 00095 00106 void ff_ivi_col_slant8(const int32_t *in, int16_t *out, uint32_t pitch, 00107 const uint8_t *flags); 00108 00112 void ff_ivi_dc_row_slant(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size); 00113 00117 void ff_ivi_dc_col_slant(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size); 00118 00122 void ff_ivi_put_pixels_8x8(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags); 00123 00128 void ff_ivi_put_dc_pixel_8x8(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size); 00129 00138 void ff_ivi_mc_8x8_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type); 00139 00148 void ff_ivi_mc_4x4_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type); 00149 00158 void ff_ivi_mc_8x8_no_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type); 00159 00168 void ff_ivi_mc_4x4_no_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type); 00169 00170 #endif /* AVCODEC_IVI_DSP_H */