159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong/* ------------------------------------------------------------------
259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * Copyright (C) 1998-2009 PacketVideo
359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong *
459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * Licensed under the Apache License, Version 2.0 (the "License");
559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * you may not use this file except in compliance with the License.
659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * You may obtain a copy of the License at
759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong *
859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong *      http://www.apache.org/licenses/LICENSE-2.0
959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong *
1059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * Unless required by applicable law or agreed to in writing, software
1159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * distributed under the License is distributed on an "AS IS" BASIS,
1259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
1359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * express or implied.
1459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * See the License for the specific language governing permissions
1559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * and limitations under the License.
1659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong * -------------------------------------------------------------------
1759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong */
1859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#ifndef _DCT_H_
1959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#define _DCT_H_
2059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
2159f566c4ec3dfc097ad8163523e522280b27e5c3James Dongconst static Int ColThInter[32] = {0, 0x1C, 0x4C, 0x6C, 0x9C, 0xBC, 0xEC, 0x10C,
2259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong                                   0x13C, 0x15C, 0x18C, 0x1AC, 0x1DC, 0x1FC, 0x22C, 0x24C,
2359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong                                   0x27C, 0x29C, 0x2CC, 0x2EC, 0x31C, 0x33C, 0x36C, 0x38C,
2459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong                                   0x3BC, 0x3DC, 0x40C, 0x42C, 0x45C, 0x47C, 0x4AC, 0x4CC
2559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong                                  };
2659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
2759f566c4ec3dfc097ad8163523e522280b27e5c3James Dongconst static Int ColThIntra[32] = {0, 0x1C, 0x3C, 0x5C, 0x7C, 0x9C, 0xBC, 0xDC,
2859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong                                   0xFC, 0x11C, 0x13C, 0x15C, 0x17C, 0x19C, 0x1BC, 0x1DC,
2959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong                                   0x1FC, 0x21C, 0x23C, 0x25C, 0x27C, 0x29C, 0x2BC, 0x2DC,
3059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong                                   0x2FC, 0x31C, 0x33C, 0x35C, 0x37C, 0x39C, 0x3BC, 0x3DC
3159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong                                  };
3259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
3359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong/******************************************************/
3459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong/********** IDCT part **************************/
3559f566c4ec3dfc097ad8163523e522280b27e5c3James Dongconst static unsigned char imask[8] = {128, 64, 32, 16, 8, 4, 2, 1};
3659f566c4ec3dfc097ad8163523e522280b27e5c3James Dongconst static unsigned char mask[8] = {0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe};
3759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
3859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#define W1 2841                 /* 2048*sqrt(2)*cos(1*pi/16) */
3959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#define W2 2676                 /* 2048*sqrt(2)*cos(2*pi/16) */
4059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#define W3 2408                 /* 2048*sqrt(2)*cos(3*pi/16) */
4159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#define W5 1609                 /* 2048*sqrt(2)*cos(5*pi/16) */
4259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#define W6 1108                 /* 2048*sqrt(2)*cos(6*pi/16) */
4359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#define W7 565                  /* 2048*sqrt(2)*cos(7*pi/16) */
4459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
4559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#ifdef __cplusplus
4659f566c4ec3dfc097ad8163523e522280b27e5c3James Dongextern "C"
4759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
4859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#endif
4959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
5059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    /* Reduced input IDCT */
5159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_col0(Short *blk);
5259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_col1(Short *blk);
5359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_col2(Short *blk);
5459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_col3(Short *blk);
5559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_col4(Short *blk);
5659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_col0x40(Short *blk);
5759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_col0x20(Short *blk);
5859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_col0x10(Short *blk);
5959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
6059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_rowInter(Short *srce, UChar *rec, Int lx);
6159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0Inter(Short *blk, UChar *rec, Int lx);
6259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row1Inter(Short *blk, UChar *rec, Int lx);
6359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row2Inter(Short *blk, UChar *rec, Int lx);
6459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row3Inter(Short *blk, UChar *rec, Int lx);
6559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row4Inter(Short *blk, UChar *rec, Int lx);
6659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0x40Inter(Short *blk, UChar *rec, Int lx);
6759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0x20Inter(Short *blk, UChar *rec, Int lx);
6859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0x10Inter(Short *blk, UChar *rec, Int lx);
6959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0xCCInter(Short *blk, UChar *rec, Int lx);
7059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_rowIntra(Short *srce, UChar *rec, Int lx);
7159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0Intra(Short *blk, UChar *rec, Int lx);
7259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row1Intra(Short *blk, UChar *rec, Int lx);
7359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row2Intra(Short *blk, UChar *rec, Int lx);
7459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row3Intra(Short *blk, UChar *rec, Int lx);
7559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row4Intra(Short *blk, UChar *rec, Int lx);
7659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0x40Intra(Short *blk, UChar *rec, Int lx);
7759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0x20Intra(Short *blk, UChar *rec, Int lx);
7859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0x10Intra(Short *blk, UChar *rec, Int lx);
7959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0xCCIntra(Short *blk, UChar *rec, Int lx);
8059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_rowzmv(Short *srce, UChar *rec, UChar *prev, Int lx);
8159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0zmv(Short *blk, UChar *rec, UChar *prev, Int lx);
8259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row1zmv(Short *blk, UChar *rec, UChar *prev, Int lx);
8359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row2zmv(Short *blk, UChar *rec, UChar *prev, Int lx);
8459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row3zmv(Short *blk, UChar *rec, UChar *prev, Int lx);
8559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row4zmv(Short *blk, UChar *rec, UChar *prev, Int lx);
8659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0x40zmv(Short *blk, UChar *rec, UChar *prev, Int lx);
8759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0x20zmv(Short *blk, UChar *rec, UChar *prev, Int lx);
8859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0x10zmv(Short *blk, UChar *rec, UChar *prev, Int lx);
8959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void idct_row0xCCzmv(Short *blk, UChar *rec, UChar *prev, Int lx);
9059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
9159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
9259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#ifdef __cplusplus
9359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong}
9459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#endif
9559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
9659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong/* Look-up table mapping to RIDCT from bitmap */
9759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#ifdef SMALL_DCT
9859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
9959f566c4ec3dfc097ad8163523e522280b27e5c3James Dongstatic void (*const idctcolVCA[16])(Short*) =
10059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
10159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_col0, &idct_col4, &idct_col3, &idct_col4,
10259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_col2, &idct_col4, &idct_col3, &idct_col4,
10359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_col1, &idct_col4, &idct_col3, &idct_col4,
10459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_col2, &idct_col4, &idct_col3, &idct_col4
10559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong};
10659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
10759f566c4ec3dfc097ad8163523e522280b27e5c3James Dongstatic void (*const idctrowVCAInter[16])(Short*, UChar*, Int) =
10859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
10959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row0Inter, &idct_row4Inter, &idct_row3Inter, &idct_row4Inter,
11059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row2Inter, &idct_row4Inter, &idct_row3Inter, &idct_row4Inter,
11159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row1Inter, &idct_row4Inter, &idct_row3Inter, &idct_row4Inter,
11259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row2Inter, &idct_row4Inter, &idct_row3Inter, &idct_row4Inter
11359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong};
11459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
11559f566c4ec3dfc097ad8163523e522280b27e5c3James Dongstatic void (*const idctrowVCAzmv[16])(Short*, UChar*, UChar*, Int) =
11659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
11759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row0zmv, &idct_row4zmv, &idct_row3zmv, &idct_row4zmv,
11859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row2zmv, &idct_row4zmv, &idct_row3zmv, &idct_row4zmv,
11959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row1zmv, &idct_row4zmv, &idct_row3zmv, &idct_row4zmv,
12059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row2zmv, &idct_row4zmv, &idct_row3zmv, &idct_row4zmv
12159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong};
12259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
12359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
12459f566c4ec3dfc097ad8163523e522280b27e5c3James Dongstatic void (*const idctrowVCAIntra[16])(Short*, UChar*, Int) =
12559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
12659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row0Intra, &idct_row4Intra, &idct_row3Intra, &idct_row4Intra,
12759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row2Intra, &idct_row4Intra, &idct_row3Intra, &idct_row4Intra,
12859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row1Intra, &idct_row4Intra, &idct_row3Intra, &idct_row4Intra,
12959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row2Intra, &idct_row4Intra, &idct_row3Intra, &idct_row4Intra
13059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong};
13159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
13259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#else /* SMALL_DCT */
13359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
13459f566c4ec3dfc097ad8163523e522280b27e5c3James Dongstatic void (*const idctcolVCA[16])(Short*) =
13559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
13659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_col0, &idct_col0x10, &idct_col0x20, &idct_col4,
13759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_col0x40, &idct_col4, &idct_col3, &idct_col4,
13859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_col1, &idct_col4, &idct_col3, &idct_col4,
13959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_col2, &idct_col4, &idct_col3, &idct_col4
14059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong};
14159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
14259f566c4ec3dfc097ad8163523e522280b27e5c3James Dongstatic void (*const idctrowVCAInter[16])(Short*, UChar*, Int) =
14359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
14459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row0Inter, &idct_row0x10Inter, &idct_row0x20Inter, &idct_row4Inter,
14559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row0x40Inter, &idct_row4Inter, &idct_row3Inter, &idct_row4Inter,
14659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row1Inter, &idct_row4Inter, &idct_row3Inter, &idct_row4Inter,
14759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row2Inter, &idct_row4Inter, &idct_row3Inter, &idct_row4Inter
14859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong};
14959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
15059f566c4ec3dfc097ad8163523e522280b27e5c3James Dongstatic void (*const idctrowVCAzmv[16])(Short*, UChar*, UChar*, Int) =
15159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
15259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row0zmv, &idct_row0x10zmv, &idct_row0x20zmv, &idct_row4zmv,
15359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row0x40zmv, &idct_row4zmv, &idct_row3zmv, &idct_row4zmv,
15459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row1zmv, &idct_row4zmv, &idct_row3zmv, &idct_row4zmv,
15559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row2zmv, &idct_row4zmv, &idct_row3zmv, &idct_row4zmv
15659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong};
15759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
15859f566c4ec3dfc097ad8163523e522280b27e5c3James Dongstatic void (*const idctrowVCAIntra[16])(Short*, UChar*, Int) =
15959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
16059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row0Intra, &idct_row0x10Intra, &idct_row0x20Intra, &idct_row4Intra,
16159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row0x40Intra, &idct_row4Intra, &idct_row3Intra, &idct_row4Intra,
16259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row1Intra, &idct_row4Intra, &idct_row3Intra, &idct_row4Intra,
16359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    &idct_row2Intra, &idct_row4Intra, &idct_row3Intra, &idct_row4Intra
16459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong};
16559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
16659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#endif /* SMALL_DCT */
16759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
16859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#ifdef __cplusplus
16959f566c4ec3dfc097ad8163523e522280b27e5c3James Dongextern "C"
17059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong{
17159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#endif
17259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    /* part in AppVCA_dct.c */
17359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong//void Block1x1DCTzmv (Short *out,UChar *prev,UChar *cur,UChar *rec,Int lx,Int chroma);
17459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void Block1x1DCTwSub(Short *out, UChar *cur, UChar *prev, Int pitch_chroma);
17559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    void Block1x1DCTIntra(Short *out, UChar *cur, UChar *dummy1, Int pitch_chroma);
17659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    /* This part is in dct_aan.c */
17759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    Void BlockDCT_AANwSub(Short *out, UChar *cur, UChar *prev, Int pitch_chroma);
17859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    Void Block4x4DCT_AANwSub(Short *out, UChar *cur, UChar *prev, Int pitch_chroma);
17959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    Void Block2x2DCT_AANwSub(Short *out, UChar *cur, UChar *prev, Int pitch_chroma);
18059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong//Void BlockDCT_AANzmv(Short *out,UChar *prev,UChar *cur,UChar *rec,Int ColTh,Int lx,Int chroma);
18159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong//Void Block4x4DCT_AANzmv(Short *out,UChar *prev,UChar *cur,UChar *rec,Int ColTh,Int lx,Int chroma);
18259f566c4ec3dfc097ad8163523e522280b27e5c3James Dong//Void Block2x2DCT_AANzmv(Short *out,UChar *prev,UChar *cur,UChar *rec,Int ColTh,Int lx,Int chroma);
18359f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    Void BlockDCT_AANIntra(Short *out, UChar *cur, UChar *dummy1, Int pitch_chroma);
18459f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    Void Block4x4DCT_AANIntra(Short *out, UChar *cur, UChar *dummy1, Int pitch_chroma);
18559f566c4ec3dfc097ad8163523e522280b27e5c3James Dong    Void Block2x2DCT_AANIntra(Short *out, UChar *cur, UChar *dummy1, Int pitch_chroma);
18659f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
18759f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#ifdef __cplusplus
18859f566c4ec3dfc097ad8163523e522280b27e5c3James Dong}
18959f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#endif
19059f566c4ec3dfc097ad8163523e522280b27e5c3James Dong
19159f566c4ec3dfc097ad8163523e522280b27e5c3James Dong#endif //_DCT_H_
192