📄 wmv9_xforms.c
字号:
/* <LIC_AMD_STD> * Copyright (C) 2003-2005 Advanced Micro Devices, Inc. All Rights Reserved. * * Unless otherwise designated in writing, this software and any related * documentation are the confidential proprietary information of AMD. * THESE MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY * UNLESS OTHERWISE NOTED IN WRITING, EXPRESS OR IMPLIED WARRANTY OF ANY * KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, * NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR PURPOSE AND IN NO * EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES WHATSOEVER. * * AMD does not assume any responsibility for any errors which may appear * in the Materials nor any responsibility to support or update the * Materials. AMD retains the right to modify the Materials at any time, * without notice, and is not obligated to provide such modified * Materials to you. AMD is not obligated to furnish, support, or make * any further information available to you. * </LIC_AMD_STD> *//* <CTL_AMD_STD> * </CTL_AMD_STD> *//* <DOC_AMD_STD> * </DOC_AMD_STD> *//*** nsc_idct.c** IDCT and other Transform routines.**** (c) National Semiconductor Corp., 2003*/#include "wmv9_xforms.h"#include "mae_vpi.h"#include "mae_fe.h"#include "types.h"#include <stdio.h> // for printf#define DP_L4(x) //NSC_DebugPrintf x#define NSC_OPT#define COMBINE_STAGES#define COMBINE_STAGES_TOP#define COMBINE_STAGES_BOTTOM#define W0 12#define W1 16#define W3 15#define W5 9#define W7 4#define W1_W7 12#define W1pW7 20#define W3_W5 6#define W3pW5 24#define W1a 22#define W2a 17#define W3a 10#define W2 16#ifndef BIORTHOGONAL#define W2A 16#define W6 6#define W2pW6 22#define W2_W6 10#else#define W2A 15#define W6 7#define W2pW6 23#define W2_W6 9#endif//***************************************// EricS - THIS IS USED IN C-MODEL//***************************************// This function was adapted from the WMV9 Inverse Transform function// taken from Microsoft's documentation. - g_IDCTDec16_WMV3/* MAE_IDCT8x8_16_16_WMV3** Desc: Full 8x8 IDCT modified for WMV3** Input: 16-bit** Output: 16-bit*/void MAE_IDCT8x8_16_16_WMV3(n_s16 *piSrc, n_u32 iSrcStride, n_s16 *piDst, n_u32 iDstStride, n_u16 iDCTHorzFlags, n_s32 block_number, n_u32 exp_bc){//***************************************// EricS - THIS IS NOT USED IN C-MODEL//***************************************#if (defined(NSC_OPT) && defined(__TCS__)) // This works, but it is slower due to cache issues /* NSC Optimized version */ n_s32 * __restrict rgiCoefRecon = (n_s32*)piSrc; // These 32 variables hold the results of pass 1 and used in pass 2 (an 8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -