patch_idct.cpp File Reference

IDCT patch. More...

#include "linden_common.h"
#include "llmath.h"
#include "v3math.h"
#include "patch_dct.h"

Include dependency graph for patch_idct.cpp:

Go to the source code of this file.

Functions

void set_group_of_patch_header (LLGroupHeader *gopp)
void build_patch_dequantize_table (S32 size)
void setup_patch_icosines (S32 size)
void build_decopy_matrix (S32 size)
void init_patch_decompressor (S32 size)
void idct_line (F32 *linein, F32 *lineout, S32 line)
void idct_line_large_slow (F32 *linein, F32 *lineout, S32 line)
void idct_line_large (F32 *linein, F32 *lineout, S32 line)
void idct_column (F32 *linein, F32 *lineout, S32 column)
void idct_column_large_slow (F32 *linein, F32 *lineout, S32 column)
void idct_column_large (F32 *linein, F32 *lineout, S32 column)
void idct_patch (F32 *block)
void idct_patch_large (F32 *block)
void decompress_patch (F32 *patch, S32 *cpatch, LLPatchHeader *ph)
void decompress_patchv (LLVector3 *v, S32 *cpatch, LLPatchHeader *ph)

Variables

LLGroupHeadergGOPP
F32 gPatchDequantizeTable [LARGE_PATCH_SIZE *LARGE_PATCH_SIZE]
S32 gCurrentDeSize = 0
F32 gPatchICosines [LARGE_PATCH_SIZE *LARGE_PATCH_SIZE]
S32 gDeCopyMatrix [LARGE_PATCH_SIZE *LARGE_PATCH_SIZE]
S32 gDitherNoise = 128


Detailed Description

IDCT patch.

LicenseInfo
firstyear=2000&license=viewergpl

Copyright (c) 2000-2008, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.

ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$

Definition in file patch_idct.cpp.


Function Documentation

void build_decopy_matrix ( S32  size  ) 

Definition at line 79 of file patch_idct.cpp.

References FALSE, gDeCopyMatrix, i, j, S32, and TRUE.

Referenced by init_patch_decompressor().

Here is the caller graph for this function:

void build_patch_dequantize_table ( S32  size  ) 

Definition at line 47 of file patch_idct.cpp.

References gPatchDequantizeTable, i, j, and S32.

Referenced by init_patch_decompressor().

Here is the caller graph for this function:

void decompress_patch ( F32 patch,
S32 cpatch,
LLPatchHeader ph 
)

void decompress_patchv ( LLVector3 v,
S32 cpatch,
LLPatchHeader ph 
)

void idct_column ( F32 linein,
F32 lineout,
S32  column 
) [inline]

Definition at line 314 of file patch_idct.cpp.

References gPatchICosines, n, NORMAL_PATCH_SIZE, OO_SQRT2, LLGroupHeader::patch_size, and S32.

Referenced by idct_patch().

Here is the caller graph for this function:

void idct_column_large ( F32 linein,
F32 lineout,
S32  column 
)

Definition at line 428 of file patch_idct.cpp.

References gPatchICosines, LARGE_PATCH_SIZE, n, NORMAL_PATCH_SIZE, OO_SQRT2, and S32.

void idct_column_large_slow ( F32 linein,
F32 lineout,
S32  column 
) [inline]

Definition at line 369 of file patch_idct.cpp.

References gPatchICosines, LARGE_PATCH_SIZE, n, OO_SQRT2, and S32.

Referenced by idct_patch_large().

Here is the caller graph for this function:

void idct_line ( F32 linein,
F32 lineout,
S32  line 
) [inline]

Definition at line 154 of file patch_idct.cpp.

References gPatchICosines, n, NORMAL_PATCH_SIZE, OO_SQRT2, LLGroupHeader::patch_size, and S32.

Referenced by idct_patch().

Here is the caller graph for this function:

void idct_line_large ( F32 linein,
F32 lineout,
S32  line 
)

Definition at line 272 of file patch_idct.cpp.

References gPatchICosines, LARGE_PATCH_SIZE, n, OO_SQRT2, and S32.

void idct_line_large_slow ( F32 linein,
F32 lineout,
S32  line 
) [inline]

Definition at line 210 of file patch_idct.cpp.

References gPatchICosines, LARGE_PATCH_SIZE, n, OO_SQRT2, and S32.

Referenced by idct_patch_large().

Here is the caller graph for this function:

void idct_patch ( F32 block  )  [inline]

Definition at line 451 of file patch_idct.cpp.

References i, idct_column(), idct_line(), LARGE_PATCH_SIZE, LLGroupHeader::patch_size, and S32.

Referenced by decompress_patch(), and decompress_patchv().

Here is the call graph for this function:

Here is the caller graph for this function:

void idct_patch_large ( F32 block  )  [inline]

Definition at line 509 of file patch_idct.cpp.

References idct_column_large_slow(), idct_line_large_slow(), and LARGE_PATCH_SIZE.

Referenced by decompress_patch(), and decompress_patchv().

Here is the call graph for this function:

Here is the caller graph for this function:

void init_patch_decompressor ( S32  size  ) 

Definition at line 143 of file patch_idct.cpp.

References build_decopy_matrix(), build_patch_dequantize_table(), gCurrentDeSize, and setup_patch_icosines().

Referenced by LLWind::decompress(), LLCloudLayer::decompress(), and LLSurface::decompressDCTPatch().

Here is the call graph for this function:

Here is the caller graph for this function:

void set_group_of_patch_header ( LLGroupHeader gopp  ) 

Definition at line 41 of file patch_idct.cpp.

Referenced by LLWind::decompress(), LLCloudLayer::decompress(), and LLSurface::decompressDCTPatch().

Here is the caller graph for this function:

void setup_patch_icosines ( S32  size  ) 

Definition at line 63 of file patch_idct.cpp.

References cosf, F_PI, gPatchICosines, n, and S32.

Referenced by init_patch_decompressor().

Here is the caller graph for this function:


Variable Documentation

Definition at line 59 of file patch_idct.cpp.

Referenced by init_patch_decompressor().

Definition at line 77 of file patch_idct.cpp.

Referenced by build_decopy_matrix(), decompress_patch(), and decompress_patchv().

Definition at line 594 of file patch_idct.cpp.

Definition at line 39 of file patch_idct.cpp.


Generated on Fri May 16 08:35:38 2008 for SecondLife by  doxygen 1.5.5