diff options
Diffstat (limited to 'converter/other/fiasco/codec/wfa.h')
-rw-r--r-- | converter/other/fiasco/codec/wfa.h | 144 |
1 files changed, 72 insertions, 72 deletions
diff --git a/converter/other/fiasco/codec/wfa.h b/converter/other/fiasco/codec/wfa.h index 4e66ccbd..ae86d216 100644 --- a/converter/other/fiasco/codec/wfa.h +++ b/converter/other/fiasco/codec/wfa.h @@ -1,7 +1,7 @@ /* * wfa.h * - * Written by: Ullrich Hafner + * Written by: Ullrich Hafner * * This file is part of FIASCO (Fractal Image And Sequence COdec) * Copyright (C) 1994-2000 Ullrich Hafner @@ -19,38 +19,38 @@ #define MAXEDGES 5 #define MAXSTATES 6000 -#define MAXLABELS 2 /* only bintree possible anymore */ +#define MAXLABELS 2 /* only bintree possible anymore */ #define MAXLEVEL 22 #define FIASCO_BINFILE_RELEASE 2 -#define FIASCO_MAGIC "FIASCO" /* FIASCO magic number */ +#define FIASCO_MAGIC "FIASCO" /* FIASCO magic number */ #define FIASCO_BASIS_MAGIC "Fiasco" /* FIASCO initial basis */ -#define NO_EDGE -1 -#define RANGE -1 -#define NO_RANGE 0 +#define NO_EDGE -1 +#define RANGE -1 +#define NO_RANGE 0 -#define CHILD 1 -#define LEAF 0 +#define CHILD 1 +#define LEAF 0 -#define MAX_PROB 9 -#define MIN_PROB 1 +#define MAX_PROB 9 +#define MIN_PROB 1 /* * WFA state types: - * 0: state is not allowed to be used in an - * approximation and it's image is not needed - * for ip computations. - * AUXILIARY_MASK: state is required for computation of ip's but is not - * allowed to be used in an approximation. - * USE_DOMAIN_MASK: state is allowed to be used in an approximation. + * 0: state is not allowed to be used in an + * approximation and it's image is not needed + * for ip computations. + * AUXILIARY_MASK: state is required for computation of ip's but is not + * allowed to be used in an approximation. + * USE_DOMAIN_MASK: state is allowed to be used in an approximation. */ enum state_types {AUXILIARY_MASK = 1 << 0, USE_DOMAIN_MASK = 1 << 1}; -#define isedge(x) ((x) != NO_EDGE) -#define isdomain(x) ((x) != NO_EDGE) -#define isrange(x) ((x) == RANGE) -#define ischild(x) ((x) != RANGE) +#define isedge(x) ((x) != NO_EDGE) +#define isdomain(x) ((x) != NO_EDGE) +#define isrange(x) ((x) == RANGE) +#define ischild(x) ((x) != RANGE) #define isauxiliary(d,wfa) ((wfa)->domain_type[d] & AUXILIARY_MASK) #define usedomain(d, wfa) ((wfa)->domain_type[d] & USE_DOMAIN_MASK) #define need_image(d,wfa) (isauxiliary ((d), (wfa)) || usedomain ((d), (wfa))) @@ -64,15 +64,15 @@ typedef struct mv * Motion vector components */ { - mc_type_e type; /* motion compensation type */ - int fx, fy; /* forward vector coordinates */ - int bx, by; /* backward vector coordinates */ + mc_type_e type; /* motion compensation type */ + int fx, fy; /* forward vector coordinates */ + int bx, by; /* backward vector coordinates */ } mv_t; typedef struct range_info { - unsigned x, y; /* coordinates of upper left corner */ - unsigned level; /* bintree level of range */ + unsigned x, y; /* coordinates of upper left corner */ + unsigned level; /* bintree level of range */ } range_info_t; #include "image.h" @@ -81,32 +81,32 @@ typedef struct range_info typedef struct wfa_info { - char *wfa_name; /* filename of the WFA */ - char *basis_name; /* filename of the initial basis */ - char *title; /* title of FIASCO stream */ - char *comment; /* comment for FIASCO stream */ - - unsigned max_states; /* max. cardinality of domain pool */ - unsigned chroma_max_states; /* max. cardinality of domain pool for - chroma band coding */ - bool_t color; /* color image */ - unsigned width; /* image width */ - unsigned height; /* image height */ - unsigned level; /* image level */ - rpf_t *rpf; /* Standard reduced precision format */ - rpf_t *dc_rpf; /* DC reduced precision format */ - rpf_t *d_rpf; /* Delta reduced precision format */ - rpf_t *d_dc_rpf; /* Delta DC reduced precision format */ - unsigned frames; /* number of frames in the video */ - unsigned fps; /* number of frames per second */ - unsigned p_min_level; /* min. level of prediction */ - unsigned p_max_level; /* max. level of prediction */ - unsigned search_range; /* motion vector interval */ - bool_t half_pixel; /* usage of half pixel precision */ - bool_t cross_B_search; /* usage of Cross-B-Search */ - bool_t B_as_past_ref; /* usage of B frames as ref's */ - unsigned smoothing; /* smoothing of image along borders */ - unsigned release; /* FIASCO file format release */ + char *wfa_name; /* filename of the WFA */ + char *basis_name; /* filename of the initial basis */ + char *title; /* title of FIASCO stream */ + char *comment; /* comment for FIASCO stream */ + + unsigned max_states; /* max. cardinality of domain pool */ + unsigned chroma_max_states; /* max. cardinality of domain pool for + chroma band coding */ + bool_t color; /* color image */ + unsigned width; /* image width */ + unsigned height; /* image height */ + unsigned level; /* image level */ + rpf_t *rpf; /* Standard reduced precision format */ + rpf_t *dc_rpf; /* DC reduced precision format */ + rpf_t *d_rpf; /* Delta reduced precision format */ + rpf_t *d_dc_rpf; /* Delta DC reduced precision format */ + unsigned frames; /* number of frames in the video */ + unsigned fps; /* number of frames per second */ + unsigned p_min_level; /* min. level of prediction */ + unsigned p_max_level; /* max. level of prediction */ + unsigned search_range; /* motion vector interval */ + bool_t half_pixel; /* usage of half pixel precision */ + bool_t cross_B_search; /* usage of Cross-B-Search */ + bool_t B_as_past_ref; /* usage of B frames as ref's */ + unsigned smoothing; /* smoothing of image along borders */ + unsigned release; /* FIASCO file format release */ } wfa_info_t; typedef struct wfa @@ -114,27 +114,27 @@ typedef struct wfa * Used to store all information and data structures of a WFA */ { - wfa_info_t *wfainfo; /* misc. information about the WFA */ - frame_type_e frame_type; /* intra, predicted, bi-directional */ - unsigned states; /* number of states */ - unsigned basis_states; /* number of states in the basis */ - unsigned root_state; /* root of the tree */ - real_t *final_distribution; /* one pixel images */ - byte_t *level_of_state; /* level of the image part which is - represented by the current state */ - byte_t *domain_type; /* Bit_0==1: auxiliary state - Bit_1==1: used for Y compr */ - mv_t (*mv_tree)[MAXLABELS]; /* motion vectors */ - word_t (*tree)[MAXLABELS]; /* bintree partitioning */ - u_word_t (*x)[MAXLABELS]; /* range coordinate */ - u_word_t (*y)[MAXLABELS]; /* range coordinate */ - word_t (*into)[MAXLABELS][MAXEDGES + 1]; /* domain references */ - real_t (*weight)[MAXLABELS][MAXEDGES + 1]; /* lin.comb. coefficients */ - word_t (*int_weight)[MAXLABELS][MAXEDGES + 1]; /* bin. representation */ - word_t (*y_state)[MAXLABELS]; /* bintree of Y component */ - byte_t (*y_column)[MAXLABELS]; /* array for Y component references */ - byte_t (*prediction)[MAXLABELS]; /* DC prediction */ - bool_t (*delta_state); /* delta state */ + wfa_info_t *wfainfo; /* misc. information about the WFA */ + frame_type_e frame_type; /* intra, predicted, bi-directional */ + unsigned states; /* number of states */ + unsigned basis_states; /* number of states in the basis */ + unsigned root_state; /* root of the tree */ + real_t *final_distribution; /* one pixel images */ + byte_t *level_of_state; /* level of the image part which is + represented by the current state */ + byte_t *domain_type; /* Bit_0==1: auxiliary state + Bit_1==1: used for Y compr */ + mv_t (*mv_tree)[MAXLABELS]; /* motion vectors */ + word_t (*tree)[MAXLABELS]; /* bintree partitioning */ + u_word_t (*x)[MAXLABELS]; /* range coordinate */ + u_word_t (*y)[MAXLABELS]; /* range coordinate */ + word_t (*into)[MAXLABELS][MAXEDGES + 1]; /* domain references */ + real_t (*weight)[MAXLABELS][MAXEDGES + 1]; /* lin.comb. coefficients */ + word_t (*int_weight)[MAXLABELS][MAXEDGES + 1]; /* bin. representation */ + word_t (*y_state)[MAXLABELS]; /* bintree of Y component */ + byte_t (*y_column)[MAXLABELS]; /* array for Y component references */ + byte_t (*prediction)[MAXLABELS]; /* DC prediction */ + bool_t (*delta_state); /* delta state */ } wfa_t; #endif /* not _WFA_H */ |