📄 video.h
字号:
/* * * Copyright (c) 2001-2007 Sigma Designs, Inc. * All Rights Reserved. Proprietary and Confidential. * *//** @file video.h @brief functions to set up the emhwlib audio passthrough (no external chip interaction) @author Christian Wolff, Sean.Sekwon.Choi @date 2007-07-18*/#ifndef __VIDEO_H__#define __VIDEO_H__struct cap_video_instance;/* parameter for the video capture */struct cap_video_config { enum EMhwlibTVStandard TVStandard; RMuint32 dram; // number of the DRAM bank to use for the capture picture buffers enum EMhwlibColorSpace InputColorSpace; enum EMhwlibColorSpace SurfaceColorSpace; enum EMhwlibSamplingMode SamplingMode; enum EMhwlibColorMode ColorMode; enum EMhwlibInputColorFormat InputColorFormat; RMuint32 InputModuleID; enum EMhwlibDigitalTimingSignal DigitalTimingSignal; RMbool UseVideoValid; RMuint32 bussize; RMbool DualEdge; RMbool DualEdgeWidth; RMbool DualEdgeInvert; RMbool InvertVSync; RMbool InvertHSync; RMint32 over_pos_x; // shifting of the capture frame on the input field RMint32 over_pos_y; RMuint32 over_width; // how much to add for overscan capture RMuint32 over_height; // intermediate params to calc over_xxx RMint32 shift_x; // shifting of the capture frame on the input field RMint32 shift_y; RMuint32 ov_top; // how much to add for overscan capture RMuint32 ov_bot; RMuint32 ov_lft; RMuint32 ov_rgt; struct EMhwlibAspectRatio PictureAspectRatio; struct EMhwlibAspectRatio PixelAspectRatio; RMbool DeInt; // TRUE: allocate extra picture buffer for motion-adaptive de-interlacing RMbool UseV2Pads; RMbool disablescaler; // no passthrough, prevent consumption of captured pictures struct EMhwlibPictureOverride override; RMbool zoom_force; RMuint32 zoom_x; RMuint32 zoom_y; RMuint32 zoom_w; RMuint32 zoom_h; RMuint32 zoomstep; RMbool force_overscan_crop; RMuint32 overscan_crop_amount; RMuint32 overscan_crop; // percentage of frame size to crop around edge for overscanned pictures RMbool use_gpio_fid; RMbool invert_fid; RMbool force_afd; // TRUE: use 'forced_afd' for the input afd struct EMhwlibActiveFormatDescription forced_afd; RMbool follow_vfreq;};/* create the video instance */RMstatus cap_video_open( struct RUA *pRUA, struct DCC *pDCC, struct rmcapture_options *cap_opt, struct cap_video_instance **ppVideo);/* destroy the video instance, close open chips */RMstatus cap_video_close( struct cap_video_instance *pVideo);/* provide setup info to the video capture */RMstatus cap_video_set_config( struct cap_video_instance *pVideo, struct cap_video_config *pSetup); // necessary info for the video captureRMstatus cap_video_get_config( struct cap_video_instance *pVideo, struct cap_video_config *pSetup); // necessary info for the video capture/* helper function to reduce an aspect ratio */void cap_video_reduce_aspect_ratio( RMuint32 *X, RMuint32 *Y, RMuint32 boundary);/* helper function, returns frame size and interlaced status */RMstatus cap_video_get_frame_size( struct cap_video_instance *pVideo, enum EMhwlibTVStandard standard, RMuint32 *x_size, RMuint32 *y_size, RMbool *interlaced);/* helper function, returns the inherent aspect ratio of a video mode */RMstatus cap_video_get_aspect_ratio_from_video_mode( enum EMhwlibTVStandard TVStandard, struct EMhwlibTVFormatDigital *pTVFormat, RMbool wide, // ambiguous modes (SDTV,EDTV): FALSE=4:3, TRUE=16:9 anamorphic RMuint32 *asp_x, RMuint32 *asp_y);/* Apply video capture options and start the capture */RMstatus cap_video_start_capture( struct cap_video_instance *pVideo);/* stop the capture */RMstatus cap_video_stop_capture( struct cap_video_instance *pVideo);/* guess the video standard, based on the current input signal at the capture port */RMstatus cap_video_guess_format( struct cap_video_instance *pVideo);/* Apply video capture options and start the passthrough to the current output */RMstatus cap_video_start_passthrough( struct cap_video_instance *pVideo);/* stop capture and passthrough */RMstatus cap_video_stop_passthrough( struct cap_video_instance *pVideo);/* flush the current picture off the screen */RMstatus cap_video_flush_scaler( struct cap_video_instance *pVideo);#endif // __VIDEO_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -