[cvs] / xvidcore / src / utils / ratecontrol.h Repository:
ViewVC logotype

Annotation of /xvidcore/src/utils/ratecontrol.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.9.2.1 - (view) (download)

1 : edgomez 1.9.2.1 /*****************************************************************************
2 :     *
3 :     * XVID MPEG-4 VIDEO CODEC
4 :     * - Deprecated code -
5 :     *
6 :     * Copyright(C) 2002 Benjamin Lambert <foxer@hotmail.com>
7 :     *
8 :     * This program is free software ; you can redistribute it and/or modify
9 :     * it under the terms of the GNU General Public License as published by
10 :     * the Free Software Foundation ; either version 2 of the License, or
11 :     * (at your option) any later version.
12 :     *
13 :     * This program is distributed in the hope that it will be useful,
14 :     * but WITHOUT ANY WARRANTY ; without even the implied warranty of
15 :     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 :     * GNU General Public License for more details.
17 :     *
18 :     * You should have received a copy of the GNU General Public License
19 :     * along with this program ; if not, write to the Free Software
20 :     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 :     *
22 :     * $Id$
23 :     *
24 :     ****************************************************************************/
25 :    
26 : Isibaar 1.1 #ifndef _RATECONTROL_H_
27 :     #define _RATECONTROL_H_
28 :    
29 :     #include "../portab.h"
30 :    
31 : edgomez 1.5 typedef struct
32 :     {
33 : edgomez 1.4 int64_t size;
34 :     int32_t count;
35 : edgomez 1.5 }
36 :     QuantInfo;
37 : Isibaar 1.1
38 : edgomez 1.4 typedef struct
39 :     {
40 :     int32_t rtn_quant;
41 :     int64_t frames;
42 :     int64_t total_size;
43 :     double framerate;
44 :     int32_t target_rate;
45 :     int16_t max_quant;
46 :     int16_t min_quant;
47 :     int64_t last_change;
48 :     int64_t quant_sum;
49 :     double quant_error[32];
50 :     double avg_framesize;
51 :     double target_framesize;
52 :     double sequence_quality;
53 :     int32_t averaging_period;
54 :     int32_t reaction_delay_factor;
55 :     int32_t buffer;
56 : edgomez 1.5 }
57 :     RateControl;
58 : Isibaar 1.1
59 : edgomez 1.5 void RateControlInit(RateControl * rate_control,
60 :     uint32_t target_rate,
61 :     uint32_t reaction_delay_factor,
62 :     uint32_t averaging_period,
63 :     uint32_t buffer,
64 :     int framerate,
65 :     int max_quant,
66 :     int min_quant);
67 :    
68 :     int RateControlGetQ(RateControl * rate_control,
69 :     int keyframe);
70 :    
71 :     void RateControlUpdate(RateControl * rate_control,
72 :     int16_t quant,
73 :     int frame_size,
74 :     int keyframe);
75 : Isibaar 1.1
76 : edgomez 1.9 #endif /* _RATECONTROL_H_ */

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4