Mercurial > libavcodec.hg
view wmv2.h @ 10906:1b5fba731e24 libavcodec
Rearchitecturing the stiched up goose part 1
Run loop filter per row instead of per MB, this also should make it
much easier to switch to per frame filtering and also doing so in a
seperate thread in the future if some volunteer wants to try.
Overall decoding speedup of 1.7% (single thread on pentium dual / cathedral sample)
This change also allows some optimizations to be tried that would not have
been possible before.
author | michael |
---|---|
date | Sun, 17 Jan 2010 20:35:55 +0000 |
parents | 04423b2f6e0b |
children | 34a65026fa06 |
line wrap: on
line source
/* * Copyright (c) 2002 The FFmpeg Project * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef AVCODEC_WMV2_H #define AVCODEC_WMV2_H #include "avcodec.h" #include "dsputil.h" #include "mpegvideo.h" #include "intrax8.h" #define SKIP_TYPE_NONE 0 #define SKIP_TYPE_MPEG 1 #define SKIP_TYPE_ROW 2 #define SKIP_TYPE_COL 3 typedef struct Wmv2Context{ MpegEncContext s; IntraX8Context x8; int j_type_bit; int j_type; int abt_flag; int abt_type; int abt_type_table[6]; int per_mb_abt; int per_block_abt; int mspel_bit; int cbp_table_index; int top_left_mv_flag; int per_mb_rl_bit; int skip_type; int hshift; ScanTable abt_scantable[2]; DECLARE_ALIGNED_16(DCTELEM, abt_block2[6][64]); }Wmv2Context; void ff_wmv2_common_init(Wmv2Context * w); #endif /* AVCODEC_WMV2_H */