annotate faandct.h @ 2609:0f74a379a890 libavcodec

store the number of runs to avoid storing the last run value about 10% lower bitrate for -qscale 32 (forman & some music video) worst case bitrate increase <0.1% (lossless or low qscale) and now the bad news, even though this just adds a single subtraction and an if() into the medium sized unpack_coeffs() loop and the if() will only be false once per unpac_coeff() call, gcc produces 50% slower code, i didnt look at the generated asm yet, not sure if i want to ...
author michael
date Fri, 15 Apr 2005 13:24:30 +0000
parents aa4dc16c0f18
children ef2149182f1c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1557
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
1 /*
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
2 * Floating point AAN DCT
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
3 * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
4 *
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
9 *
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
13 * Lesser General Public License for more details.
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
14 *
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
16 * License along with this library; if not, write to the Free Software
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
18 *
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
19 */
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
20
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
21 /**
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
22 * @file faandct.h
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
23 * @brief
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
24 * Floating point AAN DCT
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
25 * @author Michael Niedermayer <michaelni@gmx.at>
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
26 */
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
27
1562
bf452704100f optionally merge postscale into quantization table for the float aan dct
michael
parents: 1557
diff changeset
28 #define FAAN_POSTSCALE
bf452704100f optionally merge postscale into quantization table for the float aan dct
michael
parents: 1557
diff changeset
29
1557
5d53c03186a1 floating point AAN DCT
michael
parents:
diff changeset
30 void ff_faandct(DCTELEM * data);
1571
aa4dc16c0f18 * adding integer/floating point AAN implementations for DCT 2-4-8
romansh
parents: 1562
diff changeset
31 void ff_faandct248(DCTELEM * data);