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-2007, 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://secondlife.com/developers/opensource/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://secondlife.com/developers/opensource/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 count, FALSE, gDeCopyMatrix, i, j, S32, and TRUE.

Referenced by init_patch_decompressor().

void build_patch_dequantize_table ( S32  size  ) 

Definition at line 47 of file patch_idct.cpp.

References f, gPatchDequantizeTable, i, j, and S32.

Referenced by init_patch_decompressor().

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

Definition at line 596 of file patch_idct.cpp.

References LLPatchHeader::dc_offset, gDeCopyMatrix, gGOPP, gPatchDequantizeTable, i, idct_patch(), idct_patch_large(), j, LARGE_PATCH_SIZE, LLGroupHeader::patch_size, LLPatchHeader::quant_wbits, LLPatchHeader::range, range, S32, size, LLGroupHeader::stride, and stride.

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

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

Definition at line 644 of file patch_idct.cpp.

References LLPatchHeader::dc_offset, gDeCopyMatrix, gGOPP, gPatchDequantizeTable, i, idct_patch(), idct_patch_large(), j, LARGE_PATCH_SIZE, LLGroupHeader::patch_size, LLPatchHeader::quant_wbits, LLPatchHeader::range, range, S32, size, LLGroupHeader::stride, stride, v, and VZ.

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

Definition at line 314 of file patch_idct.cpp.

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

Referenced by idct_patch().

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

Definition at line 428 of file patch_idct.cpp.

References gPatchICosines, LARGE_PATCH_SIZE, m, 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().

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

Definition at line 154 of file patch_idct.cpp.

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

Referenced by idct_patch().

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().

void idct_patch ( F32 block  )  [inline]

Definition at line 451 of file patch_idct.cpp.

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

Referenced by decompress_patch(), and decompress_patchv().

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().

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 LLCloudLayer::decompress(), LLWind::decompress(), and LLSurface::decompressDCTPatch().

void set_group_of_patch_header ( LLGroupHeader gopp  ) 

Definition at line 41 of file patch_idct.cpp.

References gGOPP.

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

void setup_patch_icosines ( S32  size  ) 

Definition at line 63 of file patch_idct.cpp.

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

Referenced by init_patch_decompressor().


Variable Documentation

S32 gCurrentDeSize = 0

Definition at line 59 of file patch_idct.cpp.

Referenced by init_patch_decompressor().

S32 gDeCopyMatrix[LARGE_PATCH_SIZE *LARGE_PATCH_SIZE]

Definition at line 77 of file patch_idct.cpp.

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

S32 gDitherNoise = 128

Definition at line 594 of file patch_idct.cpp.

LLGroupHeader* gGOPP

Definition at line 39 of file patch_idct.cpp.

Referenced by decompress_patch(), decompress_patchv(), idct_column(), idct_line(), idct_patch(), and set_group_of_patch_header().

F32 gPatchDequantizeTable[LARGE_PATCH_SIZE *LARGE_PATCH_SIZE]

Definition at line 46 of file patch_idct.cpp.

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

F32 gPatchICosines[LARGE_PATCH_SIZE *LARGE_PATCH_SIZE]

Definition at line 61 of file patch_idct.cpp.

Referenced by idct_column(), idct_column_large(), idct_column_large_slow(), idct_line(), idct_line_large(), idct_line_large_slow(), and setup_patch_icosines().


Generated on Thu Jul 1 06:10:56 2010 for Second Life Viewer by  doxygen 1.4.7