1/* 2 * Copyright (c) 2002 The FFmpeg Project 3 * 4 * This file is part of FFmpeg. 5 * 6 * FFmpeg is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * FFmpeg is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with FFmpeg; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 */ 20 21#ifndef AVCODEC_WMV2_H 22#define AVCODEC_WMV2_H 23 24#include "avcodec.h" 25#include "dsputil.h" 26#include "mpegvideo.h" 27#include "intrax8.h" 28 29#define SKIP_TYPE_NONE 0 30#define SKIP_TYPE_MPEG 1 31#define SKIP_TYPE_ROW 2 32#define SKIP_TYPE_COL 3 33 34 35typedef struct Wmv2Context{ 36 MpegEncContext s; 37 IntraX8Context x8; 38 int j_type_bit; 39 int j_type; 40 int abt_flag; 41 int abt_type; 42 int abt_type_table[6]; 43 int per_mb_abt; 44 int per_block_abt; 45 int mspel_bit; 46 int cbp_table_index; 47 int top_left_mv_flag; 48 int per_mb_rl_bit; 49 int skip_type; 50 int hshift; 51 52 ScanTable abt_scantable[2]; 53 DECLARE_ALIGNED_16(DCTELEM, abt_block2[6][64]); 54}Wmv2Context; 55 56void ff_wmv2_common_init(Wmv2Context * w); 57 58#endif /* AVCODEC_WMV2_H */ 59