doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bitrate.h
Go to the documentation of this file.
1 /********************************************************************
2  * *
3  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7  * *
8  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
9  * by the XIPHOPHORUS Company http://www.xiph.org/ *
10  * *
11  ********************************************************************
12 
13  function: bitrate tracking and management
14  last mod: $Id: bitrate.h,v 1.7 2002/07/11 06:40:48 xiphmont Exp $
15 
16  ********************************************************************/
17 
18 #ifndef _V_BITRATE_H_
19 #define _V_BITRATE_H_
20 
21 #include "../vorbis/codec.h"
22 #include "codec_internal.h"
23 #include "os.h"
24 
25 /* encode side bitrate tracking */
26 typedef struct bitrate_manager_state {
30 
33 
34  long *avg_binacc;
36  int avg_tail;
41 
46 
51 
54 
55  double avgfloat;
56 
57  /* unfortunately, we need to hold queued packet data somewhere */
60 
62 
63 typedef struct bitrate_manager_info{
64  /* detailed bitrate management setup */
68  double queue_hardmin;
69  double queue_hardmax;
70  double queue_avgmin;
71  double queue_avgmax;
72 
75 
77 
80 extern int vorbis_bitrate_managed(vorbis_block *vb);
83 
84 #endif
double queue_hardmax
Definition: bitrate.h:69
ogg_uint32_t avg_centerdesired
Definition: bitrate.h:40
ogg_uint32_t minmax_sampleacc
Definition: bitrate.h:49
u_int32_t ogg_uint32_t
Definition: os_types.h:139
Definition: ogg.h:84
struct bitrate_manager_state bitrate_manager_state
void vorbis_bitrate_init(vorbis_info *vi, bitrate_manager_state *bs)
Definition: bitrate.c:79
double avgfloat_downslew_max
Definition: bitrate.h:73
long * minmax_limitstack
Definition: bitrate.h:44
ogg_packet * packets
Definition: bitrate.h:59
double queue_avgmin
Definition: bitrate.h:70
void vorbis_bitrate_clear(bitrate_manager_state *bs)
Definition: bitrate.c:146
struct bitrate_manager_info bitrate_manager_info
double queue_minmax_time
Definition: bitrate.h:67
long * minmax_posstack
Definition: bitrate.h:43
double queue_hardmin
Definition: bitrate.h:68
int vorbis_bitrate_managed(vorbis_block *vb)
Definition: bitrate.c:171
ogg_uint32_t * queue_binned
Definition: bitrate.h:27
double queue_avg_center
Definition: bitrate.h:66
oggpack_buffer * packetbuffers
Definition: bitrate.h:58
int vorbis_bitrate_addblock(vorbis_block *vb)
Definition: bitrate.c:181
double avgfloat_upslew_max
Definition: bitrate.h:74
ogg_uint32_t avg_sampledesired
Definition: bitrate.h:39
ogg_uint32_t minmax_sampledesired
Definition: bitrate.h:50
ogg_uint32_t avg_centeracc
Definition: bitrate.h:37
int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd, ogg_packet *op)
Definition: bitrate.c:495
double queue_avg_time
Definition: bitrate.h:65
ogg_uint32_t avg_sampleacc
Definition: bitrate.h:38
ogg_uint32_t * queue_actual
Definition: bitrate.h:28
long * minmax_binstack
Definition: bitrate.h:42
double queue_avgmax
Definition: bitrate.h:71