📄 play_capture_video.h
字号:
/* * * Copyright (c) 2001-2007 Sigma Designs, Inc. * All Rights Reserved. Proprietary and Confidential. * *//** @file play_capture_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 __PLAY_CAPTURE_VIDEO_H__#define __PLAY_CAPTURE_VIDEO_H__struct capsam_video_instance;/* parameter for the video capture */struct capsam_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; struct EMhwlibDisplayWindow *output_window; 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_active_format; enum EMhwlibActiveFormat active_format; RMbool force_wide_screen; RMbool wide_screen; RMbool follow_vfreq;};/* create the video instance */RMstatus capsam_video_open( struct dcc_context *dcc_info, RMuint32 STCTimerNumber, // STC timer to be used struct display_cmdline *disp_opt, // optional reference to the app's disp_opt, to set up the output struct capture_cmdline *capture_opt, struct capsam_video_instance **ppVideo);/* destroy the video instance, close open chips */RMstatus capsam_video_close( struct capsam_video_instance *pVideo);/* provide setup info to the video capture */RMstatus capsam_video_set_config( struct capsam_video_instance *pVideo, struct capsam_video_config *pSetup); // necessary info for the video captureRMstatus capsam_video_get_config( struct capsam_video_instance *pVideo, struct capsam_video_config *pSetup); // necessary info for the video capture/* helper function to reduce an aspect ratio */void capsam_video_reduce_aspect_ratio( RMuint32 *X, RMuint32 *Y, RMuint32 boundary);/* helper function, returns frame size and interlaced status */RMstatus capsam_video_get_frame_size( struct capsam_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 capsam_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 capsam_video_start_capture( struct capsam_video_instance *pVideo);/* stop the capture */RMstatus capsam_video_stop_capture( struct capsam_video_instance *pVideo);/* guess the video standard, based on the current input signal at the capture port */RMstatus capsam_video_guess_format( struct capsam_video_instance *pVideo);/* Apply video capture options and start the passthrough to the current output */RMstatus capsam_video_start_passthrough( struct capsam_video_instance *pVideo);/* stop capture and passthrough */RMstatus capsam_video_stop_passthrough( struct capsam_video_instance *pVideo);/* flush the current picture off the screen */RMstatus capsam_video_flush_scaler( struct capsam_video_instance *pVideo);#endif // __PLAY_CAPTURE_VIDEO_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -