00001 /* 00002 * Copyright (c) 2003 Michael Niedermayer 00003 * 00004 * This file is part of FFmpeg. 00005 * 00006 * FFmpeg is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * FFmpeg is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with FFmpeg; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00019 */ 00020 00026 #ifndef AVCODEC_ASV_H 00027 #define AVCODEC_ASV_H 00028 00029 #include <stdint.h> 00030 00031 #include "libavutil/attributes.h" 00032 #include "libavutil/mem.h" 00033 00034 #include "avcodec.h" 00035 #include "dsputil.h" 00036 #include "get_bits.h" 00037 #include "put_bits.h" 00038 00039 typedef struct ASV1Context{ 00040 AVCodecContext *avctx; 00041 DSPContext dsp; 00042 AVFrame picture; 00043 PutBitContext pb; 00044 GetBitContext gb; 00045 ScanTable scantable; 00046 int inv_qscale; 00047 int mb_width; 00048 int mb_height; 00049 int mb_width2; 00050 int mb_height2; 00051 DECLARE_ALIGNED(16, DCTELEM, block)[6][64]; 00052 uint16_t intra_matrix[64]; 00053 int q_intra_matrix[64]; 00054 uint8_t *bitstream_buffer; 00055 unsigned int bitstream_buffer_size; 00056 } ASV1Context; 00057 00058 extern const uint8_t ff_asv_scantab[64]; 00059 extern const uint8_t ff_asv_ccp_tab[17][2]; 00060 extern const uint8_t ff_asv_level_tab[7][2]; 00061 extern const uint8_t ff_asv_dc_ccp_tab[8][2]; 00062 extern const uint8_t ff_asv_ac_ccp_tab[16][2]; 00063 extern const uint8_t ff_asv2_level_tab[63][2]; 00064 00065 av_cold void ff_asv_common_init(AVCodecContext *avctx); 00066 00067 #endif /* AVCODEC_ASV_H */
1.5.8