summaryrefslogtreecommitdiff
path: root/libavcodec/snow.h
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2010-03-14 17:50:12 +0000
committerMåns Rullgård <mans@mansr.com>2010-03-14 17:50:12 +0000
commit05aec7bb87236bf6e7c0f61fb6b20c5c922b49e2 (patch)
treee242c20f03b791662e7227de96f0cc5172583e29 /libavcodec/snow.h
parent28eb5773903a84c991d7f58756fdeaddaf58e46a (diff)
Separate DWT from snow and dsputil
This moves the DWT functions from snow.c and dsputil.c to a file of their own. A new struct, DWTContext, holds the function pointers previously part of DSPContext. Originally committed as revision 22522 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/snow.h')
-rw-r--r--libavcodec/snow.h97
1 files changed, 1 insertions, 96 deletions
diff --git a/libavcodec/snow.h b/libavcodec/snow.h
index ee0d0730d0..7d847e4b37 100644
--- a/libavcodec/snow.h
+++ b/libavcodec/snow.h
@@ -23,10 +23,10 @@
#define AVCODEC_SNOW_H
#include "dsputil.h"
+#include "dwt.h"
#define MID_STATE 128
-#define MAX_DECOMPOSITIONS 8
#define MAX_PLANES 4
#define QSHIFT 5
#define QROOT (1<<QSHIFT)
@@ -37,101 +37,6 @@
#define LOG2_OBMC_MAX 8
#define OBMC_MAX (1<<(LOG2_OBMC_MAX))
-#define DWT_97 0
-#define DWT_53 1
-
-/** Used to minimize the amount of memory used in order to optimize cache performance. **/
-struct slice_buffer_s {
- IDWTELEM * * line; ///< For use by idwt and predict_slices.
- IDWTELEM * * data_stack; ///< Used for internal purposes.
- int data_stack_top;
- int line_count;
- int line_width;
- int data_count;
- IDWTELEM * base_buffer; ///< Buffer that this structure is caching.
-};
-
-#define liftS lift
-#if 1
-#define W_AM 3
-#define W_AO 0
-#define W_AS 1
-
-#undef liftS
-#define W_BM 1
-#define W_BO 8
-#define W_BS 4
-
-#define W_CM 1
-#define W_CO 0
-#define W_CS 0
-
-#define W_DM 3
-#define W_DO 4
-#define W_DS 3
-#elif 0
-#define W_AM 55
-#define W_AO 16
-#define W_AS 5
-
-#define W_BM 3
-#define W_BO 32
-#define W_BS 6
-
-#define W_CM 127
-#define W_CO 64
-#define W_CS 7
-
-#define W_DM 7
-#define W_DO 8
-#define W_DS 4
-#elif 0
-#define W_AM 97
-#define W_AO 32
-#define W_AS 6
-
-#define W_BM 63
-#define W_BO 512
-#define W_BS 10
-
-#define W_CM 13
-#define W_CO 8
-#define W_CS 4
-
-#define W_DM 15
-#define W_DO 16
-#define W_DS 5
-
-#else
-
-#define W_AM 203
-#define W_AO 64
-#define W_AS 7
-
-#define W_BM 217
-#define W_BO 2048
-#define W_BS 12
-
-#define W_CM 113
-#define W_CO 64
-#define W_CS 7
-
-#define W_DM 227
-#define W_DO 128
-#define W_DS 9
-#endif
-
-void ff_snow_vertical_compose97i(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, IDWTELEM *b3, IDWTELEM *b4, IDWTELEM *b5, int width);
-void ff_snow_horizontal_compose97i(IDWTELEM *b, int width);
-void ff_snow_inner_add_yblock(const uint8_t *obmc, const int obmc_stride, uint8_t * * block, int b_w, int b_h, int src_x, int src_y, int src_stride, slice_buffer * sb, int add, uint8_t * dst8);
-
-#if CONFIG_SNOW_ENCODER
-int w53_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h);
-int w97_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h);
-#endif
-
-void ff_spatial_dwt(int *buffer, int width, int height, int stride, int type, int decomposition_count);
-
/* C bits used by mmx/sse2/altivec */
static av_always_inline void snow_interleave_line_header(int * i, int width, IDWTELEM * low, IDWTELEM * high){