fiasco_options_new man page on Slackware

Man page or keyword search:  
man Server   14563 pages
apropos Keyword Search (all sections)
Output format
Slackware logo
[printable version]

fiasco(3)	       Fractal Image And Sequence COdec		     fiasco(3)

NAME
       fiasco_options_new,		     fiasco_options_set_magnification,
       fiasco_options_delete,		    fiasco_options_set_progress_meter,
       fiasco_options_set_smoothing,		    fiasco_options_set_tiling,
       fiasco_options_set_4_2_0_format,		 fiasco_options_set_basisfile,
       fiasco_options_set_chroma_quality,    fiasco_options_set_optimizations,
       fiasco_options_set_prediction,	       fiasco_options_set_video_param,
       fiasco_options_set_quantization,	  fiasco_options_set_frame_pattern   -
       define additional options of FIASCO coder and decoder

SYNOPSIS
       #include <fiasco.h>

       fiasco_options_t *
       fiasco_options_new
	  (void);

       void
       fiasco_options_delete
	  (fiasco_options_t * options);

       int
       fiasco_options_set_4_2_0_format
	  (fiasco_options_t * options,
	   int format);

       int
       fiasco_options_set_basisfile
	  (fiasco_options_t * options,
	   const char * filename);

       int
       fiasco_options_set_chroma_quality
	  (fiasco_options_t * options,
	   float quality_factor,
	   unsigned dictionary_size);

       int
       fiasco_options_set_frame_pattern
	  (fiasco_options_t * options,
	   const char * pattern);

       int
       fiasco_options_set_magnification
	  (fiasco_options_t * options,
	   int level);

       int
       fiasco_options_set_optimizations
	  (fiasco_options_t * options,
	   unsigned min_block_level,
	   unsigned max_block_level,
	   unsigned max_elements,
	   unsigned dictionary_size,
	   unsigned optimization_level);

       int
       fiasco_options_set_quantization
	  (fiasco_options_t * options,
	   unsigned mantissa,
	   fiasco_rpf_range_e range,
	   unsigned dc_mantissa,
	   fiasco_rpf_range_e dc_range);

       int
       fiasco_options_set_prediction
	  (fiasco_options_t * options,
	   int intra_prediction,
	   unsigned min_block_level,
	   unsigned max_block_level);

       int
       fiasco_options_set_progress_meter
	  (fiasco_options_t * options,
	   fiasco_progress_e type);

       int
       fiasco_options_set_smoothing
	  (fiasco_options_t * options,
	   unsigned smoothing);

       int
       fiasco_options_set_tiling
	  (fiasco_options_t * options,
	   fiasco_tiling_e method,
	   unsigned exponent);

       int
       fiasco_options_set_video_param
	  (fiasco_options_t * options,
	   unsigned frames_per_second,
	   int half_pixel_prediction,
	   int cross_B_search,
	   int B_as_past_ref);

DESCRIPTION
       The fiasco_options_new() function allocates and	initializes  a	FIASCO
       options	object	which  is  used	 to control additional compression and
       decompression parameters.

       Conversely, the function	 fiasco_options_delete()  discards  the	 given
       FIASCO options object.

       Several	member	functions are available to modify the default behavior
       of the FIASCO coder and decoder.

       fiasco_options_set_smoothing() sets the smoothing-percentage along par‐
       titioning  borders  when	 the image is regenerated; default is 70. This
       option is used both by the decoder and  encoder.	 You  should  use  the
       smoothing  value	 specified  in	the  FIASCO file when you are decoding
       video frames.

       fiasco_options_set_magnification() sets the magnification of the regen‐
       erated  image;  default	is 0, i.e., the image geometry is not changed.
       This option is used by the decoder only.

       fiasco_options_set_4_2_0_format() defines whether  the  decoder	should
       use  the	 default 4:4:4 format or the 4:2:0 format. The latter one sig‐
       nificantly reduces the decoding time at the  cost  of  some  additional
       blocking artefacts. This option is used by the decoder only.

       fiasco_options_set_frame_pattern()  sets	 the  type of inter frame com‐
       pression which should be	 applied  to  individual  frames  of  a	 video
       stream; default is "IPPPPPPPPP".

       fiasco_options_set_tiling()  sets  method  and  exponent	 of  the image
       tiling algorithm which runs as initial step of the encoder; by  default
       the  image  is  subdivided into 16 tiles which are sorted by decreasing
       variance.

       fiasco_options_set_basisfile() sets the filename of the FIASCO  initial
       basis (codebook of dictionary vectors); default is "small.fco".

       fiasco_options_set_chroma_quality()  sets  the quality used when coding
       the chroma channels of a color image to the term "quality of  luminance
       /  quality_factor"; default is 2. Moreover, the size of the codebook is
       limited by dictionary_size; default is 40 elements.

       fiasco_options_set_optimizations()  toggles  various  coding  optimiza‐
       tions.  E.g., the size of the dictionary (default is 10000), the subset
       of dictionary elements to use for an individual approximation  (default
       is  5), the size of the image blocks to consider (4x4, ..., 64x64), and
       some additional low level optimizations (default level is 1).

       fiasco_options_set_prediction() enables an additional intra block  pre‐
       diction	by  using  a  DC  component  approximation.  By	 giving levels
       min_block_level and max_block_level the prediction can be limited to  a
       small range of blocks only. By default, this method is disabled.

       fiasco_options_set_video_param()	 defines the framerate (default is 25)
       and toggles whether to use half pixel precise motion  compensated  pre‐
       diction	(disabled  by default), whether to determine motion vectors of
       interpolated prediction with the Cross-B-Search algorithm (disabled  by
       default),  and  whether to allow B frames to be used for B frame predi‐
       cion (disabled by default).

       fiasco_options_set_quantization() defines the  quantization  parameters
       of  the	approximation coefficients. By default the range of DC coeffi‐
       cients is [-1,+1] using a mantissa of 5 bits (and  one  sign  bit).  By
       default,	 all  other coefficients are quantized with 3 mantissa bits in
       the interval [-1.5,+1.5].

       fiasco_options_set_progress_meter() sets the type of progress meter  to
       be  used	 during coding. By default, an RPM style progress bar using 50
       hash marks (####) is used.

ARGUMENTS
       options
	      This object encapsulates the various coding and decoding parame‐
	      ters.

       smoothing
	      This  percentage	(range	is  0  -  i.e., no smoothing - to 100)
	      defines how much the regenerated image  is  smoothed  along  the
	      partitioning borders.

       level  This  value  gives  the  magnification of the decoded image with
	      respect to the original size. Positive values increase and nega‐
	      tive values decrease the width and height of the image by a fac‐
	      tor of 2^abs(level).

       format If format is 0 then the 4:4:4 color image format is used,	 i.e.,
	      the chroma channel are of the same size as the luminance. Other‐
	      wise, the 4:2:0 format is used. Then, width and height  of  each
	      chroma  channel  is only one half of the width and height of the
	      luminance.

       method Defines the algorithm which should be used  to  sort  the	 image
	      tiles  which are generated in the initial coding step. If method
	      is FIASCO_VARIANCE_ASC then the tiles are sorted by  variance  -
	      the  first  tile has the lowest variance. Conversely, when using
	      FIASCO_VARIANCE_DSC the first tile has the largest variance.  If
	      method  is  FIASCO_SPIRAL_ASC  then  the tiles are sorted like a
	      spiral starting in the middle of	the  image.  Conversely,  when
	      using  FIASCO_SPIRAL_DSC	the  tiles  are	 sorted	 like a spiral
	      starting in the upper left corner.

       exponent
	      This value sets the number of image tiles - which are  generated
	      in the initial step of the encoder - to 2^exponent.

       pattern
	      This  string defines the sequence of frame types. Character n of
	      the string defines the type of frame n (pattern is  periodically
	      extended).  Three	 different  frame  types  are  available (case
	      insensitive): choose 'i' for intra-frames (no inter  frame  pre‐
	      diction  is used), 'p' for predicted frames (a frame of the past
	      is used for prediction), or  'b'	for  bi-directional  predicted
	      frames (both a frame of the past and the future is used for pre‐
	      diction).

       filename
	      The initial basis (codebook) of the coder is  loaded  from  this
	      (ASCII)	file.	Files	that  already  come  with  FIASCO  are
	      "small.fco"  (3  elements),  "medium.fco"	 (132  elements),  and
	      "large.fco" (219 elements).

       quality_factor
	      When  coding  chroma channels (Cb and Cr band) the approximation
	      quality is determined by the term `quality  of  Y	 component'  /
	      quality_factor.

       dictionary_size
	      FIASCO uses a dictionary (codebook) of variable size to approxi‐
	      mate individual image blocks. The size of the  codebook  can  be
	      limited  by  dictionary_size to reduce the coding time, however,
	      at the cost of decreasing quality.

       min_block_level
	      During coding only those image blocks are considered for approx‐
	      imation  (or  prediction) which binary tree level is larger than
	      min_block_level (minimum value is 3). (Since  FIASCO  internally
	      works  with  binary  trees, the size of an image block is deter‐
	      mined by the level of the corresponding binary tree).  Refer  to
	      following table to convert these values:

				   level | width | height
	      ------+-------+--------
		0   |	 1  |	 1
		1   |	 1  |	 2
		2   |	 2  |	 2
		3   |	 2  |	 4
		4   |	 4  |	 4
		5   |	 4  |	 8
		6   |	 8  |	 8
		7   |	 8  |	16
	      ------+-------+--------
	      The larger this value is the faster the coder runs but the worse
	      the image quality will be.

       max_block_level
	      During coding only those image blocks are considered for approx‐
	      imation  (or prediction) which binary tree level is smaller than
	      max_block_level. The smaller this value is the faster the	 coder
	      runs but the worse the image quality will be.

       max_elements
	      This  value  defines how many dictionary elements can be used to
	      approximate an individual image block. The smaller this positive
	      value  (range  is	 1  to 5) is the faster the coder runs but the
	      worse the image quality will be.

       optimization_level
	      Additional low level  optimizations  are	available  by  setting
	      optimization_level to one of the following values:
	      0 standard approximation method
	      1	 slightly increases the approximation quality, running time is
	      twice as high as with the standard method
	      2 hardly increases the approximation quality of method  1,  run‐
	      ning  time  is  twice as high as with method 1 (this method just
	      remains for completeness)

       intra_prediction
	      If intra_prediction is set to a non-zero	value  then  an	 addi‐
	      tional  block  prediction	 of  intra-frames is enabled. For some
	      images, the image quality is slightly improved, however, at  the
	      cost of a significantly increased running time of the coder.

       frames_per_second
	      This  value  defines  the	 frame rate, i.e., how many frames per
	      second should be displayed. This value has no effect during cod‐
	      ing,  it	is  just  passed to the FIASCO output file where it is
	      read and used by the decoder.

       half_pixel_prediction
	      A non-zero value enables half pixel precise  motion  compensated
	      prediction.

       cross_B_search
	      A	 non-zero  value  enables the fast Cross-B-Search algorithm to
	      determine the motion vectors of an interpolated prediction. Oth‐
	      erwise, exhaustive search (in the given search range) is used.

       B_as_past_ref
	      A	 non-zero  value  allows  not only I- and P-frames but also B-
	      frames to be used for a forward or bi-directional predicion.

       mantissa, range
	      Approximation coefficients are quantized to a  small  number  of
	      values (in fixed point format) in the interval [-range, +range].
	      The number of mantissa bits defines the  accuracy	 of  quantiza‐
	      tion.

       dc_mantissa, dc_range
	      Approximation  coefficients of the DC component are quantized in
	      a different way: the number of mantissa bits is given by dc_man‐
	      tissa  whereas the quantization interval is given by [-dc_range,
	      +dc_range].

       type   This value sets the type of progress meter which should be  used
	      during coding. The following types are available:
	      FIASCO_PROGRESS_NONE:  no output at all
	      FIASCO_PROGRESS_BAR: print hash marks (###) FIASCO_PROGRESS_PER‐
	      CENT: percentage meter (50%)

RETURN VALUES
       The function fiasco_decoder_new() returns a pointer to the newly	 allo‐
       cated  option  object.  If an error has been catched, a NULL pointer is
       returned.

       All set functions return 1 on success  and  0  if  an  error  has  been
       catched.

       In  case	 of  an error, use the function fiasco_get_error_message(3) to
       get a string with the last error message of FIASCO.

SEE ALSO
       fiasco_decoder(3), fiasco_coder(3)

       Ullrich Hafner,	Juergen	 Albert,  Stefan  Frank,  and  Michael	Unger.
       Weighted	 Finite	 Automata  for	Video  Compression,  IEEE  Journal  on
       Selected Areas In Communications, January 1998
       Ullrich Hafner. Low Bit-Rate  Image  and	 Video	Coding	with  Weighted
       Finite	Automata,   Ph.D.   thesis,   Mensch   &   Buch	 Verlag,  ISBN
       3-89820-002-7, October 1999.

AUTHOR
       Ullrich Hafner <hafner@bigfoot.de>

FIASCO				  April, 2000			     fiasco(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Slackware

List of man pages available for Slackware

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net