annotate i386/vp3dsp_mmx.h @ 5651:ab023c9f03d0 libavcodec

store halfpel filter coefficients in the header as well as the flag for diagonal interpolation the primary reason for this change is that previously MC up to 1/4 pel matched H.264 exactly and that increases the risk of stumbling over patents secondly this allows 0.10 db or more quality gain by choosing a longer filter and the filter could also be chosen optimally for each frame though that of course would cause speed loss at the decoder and encoder side ...
author michael
date Sat, 08 Sep 2007 14:51:13 +0000
parents f276a83296d5
children 1d83e9c34641
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5014
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
1 /*
5217
diego
parents: 5014
diff changeset
2 * vp3dsp MMX function declarations
5014
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
3 * Copyright (c) 2007 Aurelien Jacobs <aurel@gnuage.org>
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
4 *
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
5 * This file is part of FFmpeg.
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
6 *
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
11 *
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
15 * Lesser General Public License for more details.
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
16 *
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
20 */
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
21
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
22 #ifndef VP3DSP_MMX_H
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
23 #define VP3DSP_MMX_H
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
24
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
25 #include "dsputil.h"
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
26
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
27 void ff_vp3_idct_mmx(int16_t *data);
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
28 void ff_vp3_idct_put_mmx(uint8_t *dest, int line_size, DCTELEM *block);
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
29 void ff_vp3_idct_add_mmx(uint8_t *dest, int line_size, DCTELEM *block);
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
30 void ff_vp3_dsp_init_mmx(void);
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
31
42b99a3aadde better separation of vp3dsp functions from dsputil_mmx.c
aurel
parents:
diff changeset
32 #endif /* VP3DSP_MMX_H */