亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vidix.txt

?? linux下的MPEG1
?? TXT
字號:
		VIDIX - VIDeo Interface for *niX		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~		This interface was designed and introduced as interface to userspace driversto provide DGA everywhere where it's possible (unline X11).I hope that these drivers will be portable same as X11 (not only on *nix).What is it:- It's portable successor of mga_vid technology which is located in user-space.- Unlikely X11 it's provides DGA everywhere where it's possible.- Unlikely v4l it provides interface for video playback- Unlikely linux's drivers it uses mathematics library.Why it was developed:As said Vladimir Dergachev (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gatos/km/km.rfc.txt):"0) Motivation    v4l, v4l2 and Xv are all suffering from the same problem: attempt to fit     existing multimedia devices into a fixed scheme."Well - I tried to implement something similar by motivation.How it works:~~~~~~~~~~~~~This interface is almost finished. But I guess it can be expanded by developer'srequests.So any suggestions, reports, criticism are gladly accepted.1) APP calls vixGetVersion to check age of driver ;)2) APP calls vixProbe. Driver should return 0 if it can handle something in PC.3) APP calls vixGetCapability. Driver should return filled    vidix_capability_t.type field at least.4) If above calls were succesful then APP calls vixInit function   (Driver can have not exported this function in this case call will be    skiped).5) After initializing of driver APP calls vixGetCapability again   (In this case driver must fill every field of struct)6) APP calls vixQueryFourcc. Driver should answer - can it configure   video memory for given fourcc or not.7) APP calls vixConfigPlayback. Driver should prepare BES on this call.   APP pass to driver following info:   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   vidix_playback_t.fourcc	- contains fourcc of movie   vidix_playback_t.capability	- currently contsinas copy of vidix_capability_t.flags   vidix_playback_t.blend_factor- currently unused      vidix_playback_t.src		- x,y,w,h fields contain original movie size				  (in pixels) x and y often are nulls.   vidix_playback_t.src.pitch.y   These fields contain source pitches   vidix_playback_t.src.pitch.u - for each Y,U,V plane in bytes.   vidix_playback_t.src.pitch.v   (For packed fourcc only Y value is used)				  They are hints for driver to use same destinition				  pitches as in source memory (to speed up				  memcpy process).				  Note: when source pitches are unknown or				  variable these field will be filled into 0.   vidix_playback_t.dest	- x,y,w,h fields contains destinition rectange				  on the screen in pixels.   vidix_playback_t.num_frames  - maximal # of frames which can be used by APP.				  (Currently 10).   Driver should fill following fields:   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   vidix_playback_t.num_frames  - real # of frames which will be used by driver.				  (Should be less or equal to app's num_frames).				     vidix_playback_t.dest.pitch.y   These fields should contain alignment   vidix_playback_t.dest.pitch.u - for each Y,U,V plane in bytes.   vidix_playback_t.dest.pitch.v   (For packed fourcc only Y value is used)      vidix_playback_t.frame_size	- Driver should tell to app which size of				      source frame (src.w and src.h) should				      use APP (according to pitches and offsets)   vidix_playback_t.offsets	- offsets from begin of BES memory for each frame      vidix_playback_t.offset.y	  These field should contain offset   vidix_playback_t.offset.u	- for each Y,U,V plane within frame.   vidix_playback_t.offset.v	  (For packed fourcc only Y value is used)   vidix_playback_t.dga_addr	- Address of BES memory.   Also see this picture:VIDEO MEMORY layout: +-----------  It's begin of video memory     End of video memory--------------+ |                                                                             | v                                                                             v [      RGB memory                         |         YUV memory    |  UNDEF    ]					   ^					   |					   +---- begin of BES memoryBES MEMORY layout: +-------- begin of BES memory | v [ | |                      |       |       |   ^ ^                      ^       ^       ^   | |                      |       |       + BEGIN of second frame   | |                      |       + BEGIN of V plane   | |                      + BEGIN of U plane   | +------- BEGIN of Y plane   |   +--------- BEGIN of first frameThis means that in general case:offset of frame != offset of BESoffset of Y plane != offset of first frameBut often: vidix_playback_t.offsets[0] = vidix_playback_t.offset.y = 0;Formula: (For Y plane) copy source to:		  vidix_playback_t.dga_addr +		  vidix_playback_t.offsets[i] +		  vidix_playback_t.offset.y8) APP calls vixPlaybackOn. Driver should activate BES on this call.9) PLAYBACK. Driver should sleep here ;)   But during playback can be called:     vixFrameSelect (if this function is exported)	Driver should prepare and activate corresponded frame.	This function is used only for double and trilpe buffering and	never used for single buffering playback.     vixGet(Set)GrKeys (if this function is exported)	This interface should be tuned but intriduced for overlapped playback	and video effects (TYPE_FX)     vixPlaybackGet(Set)Eq (if this function is exported)	For color correction.10) APP calls vixPlaybackOff. Driver should deactivate BES on this call.11) If vixDestroy is defined APP calls this function before unloading driver    from memory.        What functions are mandatory:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~vixGetVersionvixProbevixGetCapabilityvixQueryFourccvixConfigPlaybackvixPlaybackOnvixPlaybackOffAll other functions are optionaly.BUSMASTERING************Busmastering is technique to implement data transfer through DMA.This technique is intended to free CPU for other useful work tospeedup movie playback. The speedup will be different on differentCPUs OSes and videocards. Only thing which SHOULD be implementedit's the fact that frame should be transfered faster than 1/fps.(I.e. faster than 33ms for 30 fps or faster than 40ms for 25 fps)VIDIX implementation of BM (busmastering) is slightly specific.During driver development you should keep in mind the next rules:1. BM is implemented as parallel process which should work   simultaneously with frame decoding.2. To have possibility to use busmastering by non-ROOT users   driver should rather call functions from libdha than from libc.   (Example: driver should call bm_lock_mem instead of mlock)3. To speedup data transfer player will pass pointer to the DMA buffer   which will have the same structure (planes and strides) as video memory   (In this connexion driver should allocate frames in video memory   same as if BM would not be implemented).Interface:~~~~~~~~~~The interface of BM is implemented through 2 functions:  vixPlaybackCopyFrame  vixQueryDMAStatusvixPlaybackCopyFrame should prepare engine to copy frame fromsystem memory into video framebuffer. After that driver shouldsend command into engine to start data transfer and returncontrol immediatedly.The structure vidix_dma_s in details:typedef struct vidix_dma_s{	/* 	app -> driver. 	Virtual address of source.	Note: source buffer is allocated by using malloc	or memalign();	*/	void *		src;	/* 	app -> driver. 	Destinition offset within of video memory.	It will point offset within of YUV memory where	destinition data should be stored.	*/	unsigned 	dest_offset;	/* app -> driver. Size of data to be transfered in bytes. */	unsigned 	size;	/*	can accept ORed values of BM_DMA* definitions	BM_DMA_ASYNC -	default value which indicates that transactiion			should work asynchronously.	BM_DMA_SYNC - 	may be ignored due speedup reasons	BM_DMA_FIXED_BUFFS - indicates that player was started by ROOT			and source DMA buffers were already locked in memory			through mlock().	/* app -> driver: idx of src buffer.		    if BM_DMA_FIXED_BUFFS flags is set then this field		    indicates which from buffers currently is passed		    into driver. This field maybe ignored by driver but		    it would be better to use that for minor speedup		    of engine preparing. */	unsigned 	idx;	/* for internal use by driver.	   Driver may use them on its opinion  */	void *		internal[VID_PLAY_MAXFRAMES];}vidix_dma_t;vixQueryDMAStatusshould check out DMA status and return 1 if BM is busyand 0 otherwise. Note: this function shouldn't wait anychanges in DMA state.A few words about of non-linux systems~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Well, there is only one problem which stops us to use BM onnono-linux systems: it's lacking of possibility to performconvertion from virtual to physical address in user-space.This problem is sloved by so-called dhahelper driver forlinux. What about of other OSes then this driver requiresto be ported first. (Of course, except of DOS and DOS32where these convertions are unnecessary).Useful links:~~~~~~~~~~~~~Guide to DTV		http://www.digitaltelevision.com/dtvbook/toc.shtmlFourcc			http://www.webartz.com/fourcc/MPEG			http://www.mpeg.org/MPEG/index.htmlAnalog colors		http://www.miranda.com/en/app_notes/TN/TN-05/TN-05.htmPlease send your suggestions, reports, feedback to mplayerxp-general@lists.sourceforge.netBest regards! Nick Kurshev.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品久久久久久| 亚洲成a天堂v人片| 欧美妇女性影城| 亚洲精品高清在线| 欧美日韩你懂得| 日韩在线播放一区二区| 91精品麻豆日日躁夜夜躁| 亚洲成人1区2区| 欧美精选一区二区| 韩国欧美国产一区| 极品美女销魂一区二区三区免费 | 欧美三级视频在线| 久久无码av三级| 午夜精品久久久久久久| 成人黄色在线看| 精品国产乱码久久久久久蜜臀| 一区二区三区蜜桃网| 国产一区二区三区日韩| 欧美一二三区在线| 亚洲一级片在线观看| 成人a免费在线看| 亚洲精品一线二线三线| 日日嗨av一区二区三区四区| 91老司机福利 在线| 欧美极品aⅴ影院| 国产一区欧美二区| 精品国产乱码久久久久久1区2区 | 亚洲特级片在线| www.av精品| 国产欧美日韩三级| 国产一区欧美日韩| 久久这里只精品最新地址| 久久精品72免费观看| 在线综合视频播放| 日本欧美在线看| 777a∨成人精品桃花网| 日韩一区精品视频| 欧美精选一区二区| 久久精品国产一区二区三区免费看| 欧美日韩你懂的| 免费高清在线一区| 日韩限制级电影在线观看| 欧美日韩亚洲丝袜制服| 成人av午夜电影| 91在线观看免费视频| 国产麻豆视频一区二区| 99久久精品免费看国产免费软件| 欧美国产乱子伦| 99久久精品国产观看| 中文字幕国产一区二区| 99久久国产综合精品麻豆| 中文字幕亚洲一区二区va在线| av综合在线播放| 亚洲综合激情小说| 欧美日本不卡视频| 久久精品国产一区二区三 | 日韩三级视频中文字幕| 日本三级亚洲精品| 久久综合久久综合久久综合| 成av人片一区二区| 亚洲国产成人91porn| 欧美电影免费观看高清完整版在 | 国产一本一道久久香蕉| 国产精品久久久久久久裸模| 色欲综合视频天天天| 日本在线不卡视频一二三区| 久久综合视频网| 91小视频在线| 七七婷婷婷婷精品国产| 国产精品入口麻豆原神| 欧美视频在线一区二区三区| 手机精品视频在线观看| 久久综合久久综合久久| 91免费国产在线| 毛片一区二区三区| 国产精品免费视频网站| 欧美三级日韩在线| 福利一区福利二区| 五月综合激情网| 欧美激情一区二区三区全黄| 欧美三级电影精品| 国产成人综合亚洲网站| 亚洲影院理伦片| 国产午夜一区二区三区| 欧美三级在线播放| 不卡电影一区二区三区| 亚洲高清视频在线| 国产精品免费视频一区| 日韩精品一区二| 欧美丰满少妇xxxbbb| eeuss影院一区二区三区| 美女mm1313爽爽久久久蜜臀| 亚洲色图在线视频| 国产三级欧美三级日产三级99 | 日本人妖一区二区| 亚洲精品视频在线看| 久久综合色鬼综合色| 欧美色网一区二区| 99久精品国产| 国产一区不卡视频| 美女视频一区二区| 五月婷婷欧美视频| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲男同1069视频| 国产精品免费免费| 中文字幕不卡的av| 久久综合久久综合久久综合| 精品国产一区二区三区忘忧草 | 91色九色蝌蚪| 不卡的av电影在线观看| 国产精品自拍一区| 国产成人精品综合在线观看| 久久er精品视频| 免费成人美女在线观看.| 亚洲在线视频免费观看| 亚洲欧美日韩系列| 亚洲欧美另类小说视频| 国产精品激情偷乱一区二区∴| 久久精品人人爽人人爽| www日韩大片| 久久综合成人精品亚洲另类欧美| 日韩三级视频中文字幕| 精品久久一区二区| 久久色中文字幕| 国产视频一区不卡| 国产精品蜜臀在线观看| 成人免费在线播放视频| 亚洲精品乱码久久久久久黑人 | 国产一区二区免费视频| 久久国内精品自在自线400部| 老色鬼精品视频在线观看播放| 免费人成精品欧美精品| 精品一区二区三区免费| 成人午夜视频在线观看| 色综合久久综合网| 欧美三级中文字幕在线观看| 91精品福利在线一区二区三区 | 欧美va在线播放| 国产日韩成人精品| 亚洲丝袜制服诱惑| 亚洲18影院在线观看| 日韩av一区二区三区| 国内成人免费视频| 波多野结衣亚洲一区| 欧美性大战久久久久久久| 欧美一区二区三区四区高清| 精品福利二区三区| 中文字幕在线观看不卡| 亚洲综合色在线| 久久精品国产亚洲高清剧情介绍| 成人听书哪个软件好| 欧美亚洲国产一区二区三区| 精品久久久久久无| 亚洲欧美在线aaa| 婷婷六月综合网| 丁香婷婷深情五月亚洲| 欧美亚男人的天堂| 久久久久久电影| 亚洲一二三四在线| 狠狠久久亚洲欧美| 色婷婷狠狠综合| 精品伦理精品一区| 一区二区三区在线视频观看58| 五月激情六月综合| 成人av高清在线| 日韩欧美在线不卡| 亚洲天堂免费看| 久久99精品国产麻豆婷婷洗澡| 日本精品一区二区三区高清 | av电影天堂一区二区在线| 欧美精品三级在线观看| 中文字幕在线播放不卡一区| 麻豆精品在线播放| 欧美撒尿777hd撒尿| 欧美国产日韩a欧美在线观看| 日日夜夜一区二区| 精品视频色一区| 亚洲国产激情av| 久久精品国产亚洲a| 欧美影视一区二区三区| 久久精品视频在线免费观看| 蜜臀久久99精品久久久久宅男| 91美女精品福利| 欧美激情自拍偷拍| 精品一区二区三区蜜桃| 欧美一级欧美三级在线观看| 亚洲影视在线播放| 91一区在线观看| 国产精品国产a级| 成人午夜电影小说| 国产视频911| 国产福利一区在线观看| 亚洲精品一区二区三区四区高清| 日韩国产欧美三级| 欧美高清视频不卡网| 亚洲一区二区三区免费视频| 在线免费一区三区| 亚洲一区二区三区小说| 91福利国产精品| 亚洲高清在线视频|