fiasco_c_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_c_options_new,			      fiasco_c_options_delete,
       fiasco_c_options_set_progress_meter,    fiasco_c_options_set_basisfile,
       fiasco_c_options_set_smoothing,		  fiasco_c_options_set_tiling,
       fiasco_c_options_set_chroma_quality,	fiasco_c_options_set_optimiza‐
       tions,				      fiasco_c_options_set_prediction,
       fiasco_c_options_set_video_param,    fiasco_c_options_set_quantization,
       fiasco_c_options_set_frame_pattern	   fiasco_c_options_set_title,
       fiasco_c_options_set_comment -  define  additional  options  of	FIASCO
       coder and decoder

SYNOPSIS
       #include <fiasco.h>

       fiasco_c_options_t *
       fiasco_c_options_new
	  (void);

       void
       fiasco_c_options_delete
	  (fiasco_c_options_t * options);

       int
       fiasco_c_options_set_basisfile
	  (fiasco_c_options_t * options,
	   const char * filename);

       int
       fiasco_c_options_set_chroma_quality
	  (fiasco_c_options_t * options,
	   float quality_factor,
	   unsigned dictionary_size);

       int
       fiasco_c_options_set_comment
	  (fiasco_c_options_t * options,
	   const char * comment);

       int
       fiasco_c_options_set_frame_pattern
	  (fiasco_c_options_t * options,
	   const char * pattern);

       int
       fiasco_c_options_set_optimizations
	  (fiasco_c_options_t * options,
	   unsigned min_block_level,
	   unsigned max_block_level,
	   unsigned max_elements,
	   unsigned dictionary_size,
	   unsigned optimization_level);

       int
       fiasco_c_options_set_quantization
	  (fiasco_c_options_t * options,
	   unsigned mantissa,
	   fiasco_rpf_range_e range,
	   unsigned dc_mantissa,
	   fiasco_rpf_range_e dc_range);

       int
       fiasco_c_options_set_prediction
	  (fiasco_c_options_t * options,
	   int intra_prediction,
	   unsigned min_block_level,
	   unsigned max_block_level);

       int
       fiasco_c_options_set_progress_meter
	  (fiasco_c_options_t * options,
	   fiasco_progress_e type);

       int
       fiasco_c_options_set_smoothing
	  (fiasco_c_options_t * options,
	   unsigned smoothing);

       int
       fiasco_c_options_set_tiling
	  (fiasco_c_options_t * options,
	   fiasco_tiling_e method,
	   unsigned exponent);

       int
       fiasco_c_options_set_title
	  (fiasco_c_options_t * options,
	   const char * title);

       int
       fiasco_c_options_set_video_param
	  (fiasco_c_options_t * options,
	   unsigned frames_per_second,
	   int half_pixel_prediction,
	   int cross_B_search,
	   int B_as_past_ref);

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

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

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

       fiasco_c_options_set_smoothing() sets  the  smoothing-percentage	 along
       partitioning borders when the image is regenerated; default is 70. This
       value is stored in the FIASCO file and is  used	as  default  smoothing
       percentage in the decoder.

       fiasco_c_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_c_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_c_options_set_basisfile() sets the filename of the  FIASCO  ini‐
       tial basis (codebook of dictionary vectors); default is "small.fco".

       fiasco_c_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_c_options_set_comment() sets a comment string to	be  stored  in
       the FIASCO file; default is the empty string.

       fiasco_c_options_set_title()  sets  a  title string to be stored in the
       FIASCO file; default is the empty string.

       fiasco_c_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_c_options_set_prediction() enables  an  additional  intra	 block
       prediction  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_c_options_set_video_param()  defines  the	 framerate (default is
       25) and toggles whether to use half pixel  precise  motion  compensated
       prediction  (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
       predicion (disabled by default).

       fiasco_c_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_c_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 various coding parameters.

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

       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.

       title  This  value  is  the title string of the FIASCO file. It is dis‐
	      played, e.g., in the window title of the decoder.

       comment
	      This value defines an optional  comment  to  be  stored  in  the
	      FIASCO file.

       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_c_options_new() returns  a  pointer	to  the	 newly
       allocated  coder	 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