patch_dct.cpp File Reference

DCT patch. More...

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

Include dependency graph for patch_dct.cpp:

Go to the source code of this file.

Classes

struct  s_patch_compress_global_data

Typedefs

typedef struct
s_patch_compress_global_data 
PCGD

Functions

void reset_patch_compressor (void)
void build_patch_quantize_table (S32 size)
void setup_patch_cosines (S32 size)
void build_copy_matrix (S32 size)
void init_patch_compressor (S32 patch_size, S32 patch_stride, S32 layer_type)
void prescan_patch (F32 *patch, LLPatchHeader *php, F32 &zmax, F32 &zmin)
void dct_line (F32 *linein, F32 *lineout, S32 line)
void dct_line_large (F32 *linein, F32 *lineout, S32 line)
void dct_column (F32 *linein, S32 *lineout, S32 column)
void dct_column_large (F32 *linein, S32 *lineout, S32 column)
void dct_patch (F32 *block, S32 *cpatch)
void dct_patch_large (F32 *block, S32 *cpatch)
void compress_patch (F32 *patch, S32 *cpatch, LLPatchHeader *php, S32 prequant)
void get_patch_group_header (LLGroupHeader *gopp)

Variables

PCGD gPatchCompressGlobalData
S32 gCurrentSize = 0
F32 gPatchQuantizeTable [LARGE_PATCH_SIZE *LARGE_PATCH_SIZE]
F32 gPatchCosines [LARGE_PATCH_SIZE *LARGE_PATCH_SIZE]
S32 gCopyMatrix [LARGE_PATCH_SIZE *LARGE_PATCH_SIZE]


Detailed Description

DCT 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_dct.cpp.


Typedef Documentation


Function Documentation

void build_copy_matrix ( S32  size  ) 

Definition at line 90 of file patch_dct.cpp.

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

Referenced by init_patch_compressor().

Here is the caller graph for this function:

void build_patch_quantize_table ( S32  size  ) 

Definition at line 60 of file patch_dct.cpp.

References gPatchQuantizeTable, i, j, and S32.

Referenced by init_patch_compressor().

Here is the caller graph for this function:

void compress_patch ( F32 patch,
S32 cpatch,
LLPatchHeader php,
S32  prequant 
)

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

Definition at line 390 of file patch_dct.cpp.

References gCopyMatrix, gPatchCosines, gPatchQuantizeTable, n, NORMAL_PATCH_SIZE, OO_SQRT2, s_patch_compress_global_data::patch_size, and S32.

Referenced by dct_patch().

Here is the caller graph for this function:

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

Definition at line 479 of file patch_dct.cpp.

References gCopyMatrix, gPatchCosines, gPatchQuantizeTable, LARGE_PATCH_SIZE, OO_SQRT2, and S32.

Referenced by dct_patch_large().

Here is the caller graph for this function:

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

Definition at line 205 of file patch_dct.cpp.

References gPatchCosines, n, NORMAL_PATCH_SIZE, OO_SQRT2, s_patch_compress_global_data::patch_size, and S32.

Referenced by dct_patch().

Here is the caller graph for this function:

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

Definition at line 288 of file patch_dct.cpp.

References gPatchCosines, LARGE_PATCH_SIZE, OO_SQRT2, and S32.

Referenced by dct_patch_large().

Here is the caller graph for this function:

void dct_patch ( F32 block,
S32 cpatch 
) [inline]

Definition at line 586 of file patch_dct.cpp.

References dct_column(), dct_line(), i, NORMAL_PATCH_SIZE, s_patch_compress_global_data::patch_size, and S32.

Referenced by compress_patch().

Here is the call graph for this function:

Here is the caller graph for this function:

void dct_patch_large ( F32 block,
S32 cpatch 
) [inline]

Definition at line 644 of file patch_dct.cpp.

References dct_column_large(), dct_line_large(), and LARGE_PATCH_SIZE.

Referenced by compress_patch().

Here is the call graph for this function:

Here is the caller graph for this function:

void get_patch_group_header ( LLGroupHeader gopp  ) 

void init_patch_compressor ( S32  patch_size,
S32  patch_stride,
S32  layer_type 
)

void prescan_patch ( F32 patch,
LLPatchHeader php,
F32 zmax,
F32 zmin 
)

void reset_patch_compressor ( void   ) 

Definition at line 49 of file patch_dct.cpp.

References s_patch_compress_global_data::charptr.

void setup_patch_cosines ( S32  size  ) 

Definition at line 74 of file patch_dct.cpp.

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

Referenced by init_patch_compressor().

Here is the caller graph for this function:


Variable Documentation

Definition at line 88 of file patch_dct.cpp.

Referenced by build_copy_matrix(), dct_column(), and dct_column_large().

Definition at line 56 of file patch_dct.cpp.

Referenced by init_patch_compressor().

Definition at line 47 of file patch_dct.cpp.

Definition at line 58 of file patch_dct.cpp.

Referenced by build_patch_quantize_table(), dct_column(), and dct_column_large().


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