/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2005-2006 Micronas USA Inc.
*/
/* * This is the private include file for the go7007 driver. It should not * be included by anybody but the driver itself, and especially not by * user-space applications.
*/
struct go7007_board_info { unsignedint flags; int hpi_buffer_cap; unsignedint sensor_flags; int sensor_width; int sensor_height; int sensor_framerate; int sensor_h_offset; int sensor_v_offset; unsignedint audio_flags; int audio_rate; int audio_bclk_div; int audio_main_div; int num_i2c_devs; struct go_i2c { constchar *type; unsignedint is_video:1; unsignedint is_audio:1; int addr;
u32 flags;
} i2c_devs[5]; int num_inputs; struct { int video_input; int audio_index; char *name;
} inputs[4]; int video_config; int num_aud_inputs; struct { int audio_input; char *name;
} aud_inputs[3];
};
struct go7007_hpi_ops { int (*interface_reset)(struct go7007 *go); int (*write_interrupt)(struct go7007 *go, int addr, int data); int (*read_interrupt)(struct go7007 *go); int (*stream_start)(struct go7007 *go); int (*stream_stop)(struct go7007 *go); int (*send_firmware)(struct go7007 *go, u8 *data, int len); int (*send_command)(struct go7007 *go, unsignedint cmd, void *arg); void (*release)(struct go7007 *go);
};
/* The video buffer size must be a multiple of PAGE_SIZE */ #define GO7007_BUF_PAGES (128 * 1024 / PAGE_SIZE) #define GO7007_BUF_SIZE (GO7007_BUF_PAGES << PAGE_SHIFT)
/* Video input */ int input; int aud_input; enum { GO7007_STD_NTSC, GO7007_STD_PAL, GO7007_STD_OTHER } standard;
v4l2_std_id std; int sensor_framerate; int width; int height; int encoder_h_offset; int encoder_v_offset; unsignedint encoder_h_halve:1; unsignedint encoder_v_halve:1; unsignedint encoder_subsample:1;
/* Encoder config */
u32 format; int bitrate; int fps_scale; int pali; int aspect_ratio; int gop_size; unsignedint ipb:1; unsignedint closed_gop:1; unsignedint repeat_seqhead:1; unsignedint seq_header_enable:1; unsignedint gop_header_enable:1; unsignedint dvd_mode:1; unsignedint interlace_coding:1;
/* Motion detection */ unsignedint modet_enable:1; struct { unsignedint enable:1; int pixel_threshold; int motion_threshold; int mb_threshold;
} modet[4]; unsignedchar modet_map[1624]; unsignedchar active_map[216];
u32 modet_event_status;
/* Video streaming */ struct mutex queue_lock; struct vb2_queue vidq; enum go7007_parser_state state; int parse_length;
u16 modet_word; int seen_frame;
u32 next_seq; struct list_head vidq_active;
wait_queue_head_t frame_waitq; struct go7007_buffer *active_buf;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.