Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
media
davinci
vpbe_types.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2010 Texas Instruments Inc
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation version 2.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*/
17
#ifndef _VPBE_TYPES_H
18
#define _VPBE_TYPES_H
19
20
enum
vpbe_version
{
21
VPBE_VERSION_1
= 1,
22
VPBE_VERSION_2
,
23
VPBE_VERSION_3
,
24
};
25
26
/* vpbe_timing_type - Timing types used in vpbe device */
27
enum
vpbe_enc_timings_type
{
28
VPBE_ENC_STD
= 0x1,
29
VPBE_ENC_DV_PRESET
= 0x2,
30
VPBE_ENC_CUSTOM_TIMINGS
= 0x4,
31
/* Used when set timings through FB device interface */
32
VPBE_ENC_TIMINGS_INVALID
= 0x8,
33
};
34
35
/*
36
* struct vpbe_enc_mode_info
37
* @name: ptr to name string of the standard, "NTSC", "PAL" etc
38
* @std: standard or non-standard mode. 1 - standard, 0 - nonstandard
39
* @interlaced: 1 - interlaced, 0 - non interlaced/progressive
40
* @xres: x or horizontal resolution of the display
41
* @yres: y or vertical resolution of the display
42
* @fps: frame per second
43
* @left_margin: left margin of the display
44
* @right_margin: right margin of the display
45
* @upper_margin: upper margin of the display
46
* @lower_margin: lower margin of the display
47
* @hsync_len: h-sync length
48
* @vsync_len: v-sync length
49
* @flags: bit field: bit usage is documented below
50
*
51
* Description:
52
* Structure holding timing and resolution information of a standard.
53
* Used by vpbe_device to set required non-standard timing in the
54
* venc when lcd controller output is connected to a external encoder.
55
* A table of timings is maintained in vpbe device to set this in
56
* venc when external encoder is connected to lcd controller output.
57
* Encoder may provide a g_dv_timings() API to override these values
58
* as needed.
59
*
60
* Notes
61
* ------
62
* if_type should be used only by encoder manager and encoder.
63
* flags usage
64
* b0 (LSB) - hsync polarity, 0 - negative, 1 - positive
65
* b1 - vsync polarity, 0 - negative, 1 - positive
66
* b2 - field id polarity, 0 - negative, 1 - positive
67
*/
68
struct
vpbe_enc_mode_info
{
69
unsigned
char
*
name
;
70
enum
vpbe_enc_timings_type
timings_type
;
71
v4l2_std_id
std_id
;
72
struct
v4l2_dv_timings
dv_timings
;
73
unsigned
int
interlaced
;
74
unsigned
int
xres
;
75
unsigned
int
yres
;
76
struct
v4l2_fract
aspect
;
77
struct
v4l2_fract
fps
;
78
unsigned
int
left_margin
;
79
unsigned
int
right_margin
;
80
unsigned
int
upper_margin
;
81
unsigned
int
lower_margin
;
82
unsigned
int
hsync_len
;
83
unsigned
int
vsync_len
;
84
unsigned
int
flags
;
85
};
86
87
#endif
Generated on Thu Jan 10 2013 14:52:54 for Linux Kernel by
1.8.2