ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / media / saa6752hs.h
1 /* 
2     saa6752hs.h - definition for saa6752hs MPEG encoder
3
4     Copyright (C) 2003 Andrew de Quincey <adq@lidskialf.net>
5
6     This program is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     This program is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with this program; if not, write to the Free Software
18     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20
21 #ifndef _SAA6752HS_H
22 #define _SAA6752HS_H
23
24 enum mpeg_bitrate_mode {
25         MPEG_BITRATE_MODE_VBR = 0, /* Variable bitrate */
26         MPEG_BITRATE_MODE_CBR = 1, /* Constant bitrate */
27
28         MPEG_BITRATE_MODE_MAX
29 };
30
31 enum mpeg_audio_bitrate {
32         MPEG_AUDIO_BITRATE_256 = 0, /* 256 kBit/sec */
33         MPEG_AUDIO_BITRATE_384 = 1, /* 384 kBit/sec */
34     
35         MPEG_AUDIO_BITRATE_MAX
36 };
37
38 #define MPEG_VIDEO_TARGET_BITRATE_MAX 27000
39 #define MPEG_VIDEO_MAX_BITRATE_MAX 27000
40 #define MPEG_TOTAL_BITRATE_MAX 27000
41     
42 struct mpeg_params {
43         enum mpeg_bitrate_mode bitrate_mode;
44         unsigned int video_target_bitrate;
45         unsigned int video_max_bitrate; // only used for VBR
46         enum mpeg_audio_bitrate audio_bitrate;
47         unsigned int total_bitrate;
48 };
49
50 #define MPEG_SETPARAMS             _IOW('6',100,struct mpeg_params)
51
52 #endif // _SAA6752HS_H
53
54 /*
55  * Local variables:
56  * c-basic-offset: 8
57  * End:
58  */