diff options
author | hairball <xhairball@gmail.com> | 2014-02-08 08:26:03 +0000 |
---|---|---|
committer | Tim Angus <tim@ngus.net> | 2014-06-17 17:43:39 +0100 |
commit | 62d2323b93713ec9605163c30e2663e35ce9904f (patch) | |
tree | 005cfc8b1bd334b6dfc5330fefba8ba60bc152eb /src/libvorbis-1.3.4/lib/bitrate.h | |
parent | 4e2fbffaf61a5784d0e449916b63d0a9b5d493a3 (diff) |
Add vorbis 1.3.4 build support
Diffstat (limited to 'src/libvorbis-1.3.4/lib/bitrate.h')
-rw-r--r-- | src/libvorbis-1.3.4/lib/bitrate.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/libvorbis-1.3.4/lib/bitrate.h b/src/libvorbis-1.3.4/lib/bitrate.h new file mode 100644 index 00000000..db48fcb6 --- /dev/null +++ b/src/libvorbis-1.3.4/lib/bitrate.h @@ -0,0 +1,59 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * + * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * + * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * + * by the Xiph.Org Foundation http://www.xiph.org/ * + * * + ******************************************************************** + + function: bitrate tracking and management + last mod: $Id: bitrate.h 13293 2007-07-24 00:09:47Z xiphmont $ + + ********************************************************************/ + +#ifndef _V_BITRATE_H_ +#define _V_BITRATE_H_ + +#include "vorbis/codec.h" +#include "codec_internal.h" +#include "os.h" + +/* encode side bitrate tracking */ +typedef struct bitrate_manager_state { + int managed; + + long avg_reservoir; + long minmax_reservoir; + long avg_bitsper; + long min_bitsper; + long max_bitsper; + + long short_per_long; + double avgfloat; + + vorbis_block *vb; + int choice; +} bitrate_manager_state; + +typedef struct bitrate_manager_info{ + long avg_rate; + long min_rate; + long max_rate; + long reservoir_bits; + double reservoir_bias; + + double slew_damp; + +} bitrate_manager_info; + +extern void vorbis_bitrate_init(vorbis_info *vi,bitrate_manager_state *bs); +extern void vorbis_bitrate_clear(bitrate_manager_state *bs); +extern int vorbis_bitrate_managed(vorbis_block *vb); +extern int vorbis_bitrate_addblock(vorbis_block *vb); +extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd, ogg_packet *op); + +#endif |