summaryrefslogtreecommitdiff
path: root/src/libvorbis-1.3.4/lib/bitrate.h
diff options
context:
space:
mode:
authorhairball <xhairball@gmail.com>2014-02-08 08:26:03 +0000
committerTim Angus <tim@ngus.net>2014-06-17 17:43:39 +0100
commit62d2323b93713ec9605163c30e2663e35ce9904f (patch)
tree005cfc8b1bd334b6dfc5330fefba8ba60bc152eb /src/libvorbis-1.3.4/lib/bitrate.h
parent4e2fbffaf61a5784d0e449916b63d0a9b5d493a3 (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.h59
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