[Mplayer-cvslog] CVS: main/DOCS/tech TODO,1.20,1.21
Nick Kurshev
nickols_k at mail.ru
Wed Dec 26 17:46:07 CET 2001
- Previous message: [Mplayer-cvslog] CVS: main/DOCS/tech TODO,1.20,1.21
- Next message: [Mplayer-cvslog] CVS: main adpcm.c,NONE,1.1 adpcm.h,NONE,1.1 codec-cfg.c,1.53,1.54 codec-cfg.h,1.28,1.29 Makefile,1.127,1.128 dec_audio.c,1.58,1.59
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Hello, Arpi!
On Wed, 26 Dec 2001 03:42:52 +0100 you wrote:
> Update of /cvsroot/mplayer/main/DOCS/tech
> In directory mplayer:/var/tmp.root/cvs-serv16660
>
> Modified Files:
> TODO
> Log Message:
> release todo
>
> Index: TODO
> ===================================================================
> RCS file: /cvsroot/mplayer/main/DOCS/tech/TODO,v
> retrieving revision 1.20
> retrieving revision 1.21
> diff -u -r1.20 -r1.21
> --- TODO 17 Dec 2001 01:14:15 -0000 1.20
> +++ TODO 26 Dec 2001 02:42:44 -0000 1.21
> @@ -5,6 +5,14 @@
> FOR THE RELEASE:
> ~~~~~~~~~~~~~~~~
>
> +URGENT:
> +- fix -tv subconfig bug
> +- fix mpeg PES/PS detection (VDR vs. BIN)
> +- fix suid root
> +- check wmv8 with gcc 3.0x
> +- fix cvid on ppc
> +
> +
> demuxer:
> - prebuffering to cache2 (req. for MMS) - URGENT!
>
I think we should add here some rewritting of our "MGA_VID" stuff.
(Sorry - I write to this list since I don't like to write to /dev/nul aka advusers)
Well - I wrote to v4l list with request about extensions of this stuff for our needs.
Nobody replied me (/dev/nul).
Well - we going to release 0.60. But we should implement some new standard and output
plugin for our drivers (I don't want to have distributed stuff of current radeon_vid
for replacing it in the future).
As for me - it doesn't matter which technique will be accepted into mplayer -
my previous interface or this new interface or any other interface but we should
to solve this problem, IMHO.
Here my vision of -vo v4l implementation for mplayer:
OLD STUFF NEW STUFF
App driver App driver
+------------------+-----------------+ +------------------+------------------+
| open(name) |::init_module | | open(name) |::init_module |
| | find_card | | | find_card |
| | init_driver | | | init_driver |
| |::open | | |::open |
| | inc_use_count | | | inc_use_count |
+------------------+-----------------+ +------------------+------------------+
| QUERY CAPABILITY |VID_TYPE_SCALES| |
| ioctl(VIDIOCGCAP)|VID_TYPE_OVERLAY| |
| |VID_TYPE_CHROMAKEY|
| |channels=1 |
| |audios=1 |
| |min_max_size=VAL |
+-------------------------------------+
QUERY FOURCC ??? is missed ???
no workaround
+-------------------------------------+
| VIDIOCGFBUF | QUERY DEST_PITCH |
+------------------------------------+ +-------------------------------------+
| ioctl(VID_CONFIG)|->config_bes | | Lot of new ioctls| |
| | format_fourcc | | VIDIOCSPICT | format_fourcc<ugly>
| | frame_size | | < none > | frame_size |
| | num_frames | | VIDIOCGMBUF | num_frames |
| | src_rect | | VIDIOCSFBUF<root>| src_rect |
| | dest_rect | | VIDIOCSWIN | dest_rect |
| | color_key | | VIDIOCKEY+CSWIN | color_key | |
+------------------------------------+ +-------------------------------------+
| ioctl(VID_ON) | ->enable_bes | | VIDIOCCAPTURE(1) | ugly but only way|
+------------------------------------+ +-------------------------------------+
| mmap(handler) | ::mmap vidoverly| | VIDIOCMCAPTURE | ugly |
| | | or old method mmap (featureless) |
+------------------------------------+ +-------------------------------------+
| PLAYBACK | provides VO DGA | | PLAYBACK | provides VO DGA |
| ioctl(FRAME_SEL) | ->frame_switch | | no FRAME_SEL | workaround: auto |
| | | | | selection (ugly) |
+------------------------------------+ +-------------------------------------+
New:
VIDIOCSWRITEMODE := VID_WRITE_OSD
VID_WRITE_MPEG_VID
(as video playback)
+------------------------------------+ +-------------------------------------+
| ioctl(VID_OFF) | ->disable_bes | | VIDIOCCAPTURE(0) | ugly but only way|
+------------------------------------+ +-------------------------------------+
| munmap(handler) | ::munmap | | munmap(handler) | ::munmap |
| | | | free? | |
+------------------------------------+ +-------------------------------------+
| close(handler) | ::close | | close(handler) | ::close |
| | dec_use_count| | | dec_use_count |
| | ::cleanup_module| | | ::cleanup_module |
+------------------------------------+ +-------------------------------------+
Both stuff lack:
- DMA support
- Query fourcc mechanism
OTOH mgauyv (new stuff from marvel.sf.net) uses:
VIDIOCGCAP
VIDIOCGFBUF (missed in my scheme.)
Thier remarks:
In all this driver code we use the 'base' field as the relative address of the
video buffer inside the framebuffer (for convenience), whereas the standard
says it's the physical address. (INCOMPATIBILITY ???)
VIDIOCSFBUF: return -EINVAL (INCOMPATIBILITY ???)
VIDIOCGCHAN (was missed in my scheme)
VIDIOCSCHAN: ... program_bes( mga ); ... (was missed in my scheme)
VIDIOCSWIN
VIDIOCGPICT (was missed in my scheme)
VIDIOCGWIN
VIDIOCSPICT
VIDIOCCAPTURE: if(arg) mgabes_activate(bes); else mgabes_desactivate(bes);
resume:
V4L was not adapted for video playback
MGA_VID was adapted for Matrox card only
What you think about this technology and my previous version?
Best regards! Nick
- Previous message: [Mplayer-cvslog] CVS: main/DOCS/tech TODO,1.20,1.21
- Next message: [Mplayer-cvslog] CVS: main adpcm.c,NONE,1.1 adpcm.h,NONE,1.1 codec-cfg.c,1.53,1.54 codec-cfg.h,1.28,1.29 Makefile,1.127,1.128 dec_audio.c,1.58,1.59
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the MPlayer-cvslog
mailing list