[MPlayer-dev-eng] [PATCH] shared memory stream - part 1
Carl Eugen Hoyos
cehoyos at ag.or.at
Wed Aug 8 09:47:58 CEST 2007
Hi Attila!
Just a few remarks, I'm sorry, I can't really review the code.
Attila Ötvös wrote:
> Hi all!
>
> part-1: configure, shared memory stream and implement -ors options.
> part-2: shared memory export, import filter
Does the first part work without the second?
[...]
> ===================================================================
> --- stream/stream_sharedmem.c (revision 0)
> +++ stream/stream_sharedmem.c (revision 0)
> @@ -0,0 +1,476 @@
> +/*
> + * stream_sharedmem.c
> + *
> + * Copyright (C) Ötvös, Attila <attila at onebithq.com> - 08/2007
> + *
> + * This file is part of MPlayer, a free movie player.
> + *
> + * MPlayer is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2, or (at your option)
> + * any later version.
> + *
> + * MPlayer is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with GNU Make; see the file COPYING. If not, write to
> + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
This is not a correct license header (adress wrong). Also in other files.
[...]
> Index: stream/stream_sharedmem.h
> ===================================================================
> --- stream/stream_sharedmem.h (revision 0)
> +++ stream/stream_sharedmem.h (revision 0)
> @@ -0,0 +1,8 @@
> +#ifndef _STREAM_SHAREDMEM_H_
> +#define _STREAM_SHAREDMEM_H_
No leading underscores, please.
[...]
> Index: configure
> ===================================================================
> --- configure (revision 24014)
> +++ configure (working copy)
> @@ -281,6 +281,8 @@
> --disable-w32threads disable Win32 threads support [autodetect]
> --disable-ass disable internal SSA/ASS subtitle support [autodetect]
> --enable-rpath enable runtime linker path for extra libs [disabled]
> + --enable-sharedmem Enable put readed frame to shared memory area in mencoder and
> + shared memory reader stream [autodetect]
This should be improved - I don't understand it.
[...]
> Index: libmpdemux/demux_rawvideo.c
> ===================================================================
> --- libmpdemux/demux_rawvideo.c (revision 24014)
> +++ libmpdemux/demux_rawvideo.c (working copy)
> @@ -15,7 +15,7 @@
> #include "libmpcodecs/img_format.h"
>
> extern int demuxer_type;
> -static int format = IMGFMT_I420;
> +static int format = 0;
> static int size_id = 0;
> static int width = 0;
> static int height = 0;
> @@ -55,6 +55,12 @@
> static demuxer_t* demux_rawvideo_open(demuxer_t* demuxer) {
> sh_video_t* sh_video;
>
> +#ifdef HAVE_SHAREDMEM
> + if (width==0) stream_control(demuxer->stream, STREAM_CTRL_GET_WIDTH, &width);
> + if (height==0) stream_control(demuxer->stream, STREAM_CTRL_GET_HEIGHT, &height);
> + if (format==0) stream_control(demuxer->stream, STREAM_CTRL_GET_FORMAT, &format);
if (!width), if (!height), if (!format) is, AFAIK, the preferred form
for mplayer.
> +#endif
> + if (format==0) format = IMGFMT_I420;
> switch(size_id){
> case 1: width=128; height=96; break;
> case 2: width=176; height=144; break;
> @@ -80,6 +86,7 @@
> case IMGFMT_YUY2: imgsize=width*height*2;break;
> case IMGFMT_UYVY: imgsize=width*height*2;break;
> case IMGFMT_Y8: imgsize=width*height;break;
> + case IMGFMT_Y800: imgsize=width*height;break;
Possibly unrelated bugfix?
Carl Eugen
More information about the MPlayer-dev-eng
mailing list