[Mplayer-cvslog] CVS: mpg12play/mpeg2dec/doc Makefile.am,NONE,1.1 Makefile.in,NONE,1.1 libvo.txt,NONE,1.1

Gernot Ziegler madmac at users.sourceforge.net
Thu May 24 15:31:06 CEST 2001


Update of /cvsroot/mplayer/mpg12play/mpeg2dec/doc
In directory usw-pr-cvs1:/tmp/cvs-serv2994/mpeg2dec/doc

Added Files:
	Makefile.am Makefile.in libvo.txt 
Log Message:
New mpegp version - only once.

--- NEW FILE ---
EXTRA_DIST = libvo.txt

--- NEW FILE ---
# Makefile.in generated automatically by automake 1.4 from Makefile.am

# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.


SHELL = @SHELL@

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@

bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include

DESTDIR =

pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@

top_builddir = ..

ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@

INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@

NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CC = @CC@
DLLTOOL = @DLLTOOL@
INCLUDES = @INCLUDES@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
VERSION = @VERSION@

EXTRA_DIST = libvo.txt
mkinstalldirs = $(SHELL) $(top_srcdir)/autotools/mkinstalldirs
CONFIG_HEADER = ../include/config.h
CONFIG_CLEAN_FILES = 
DIST_COMMON =  Makefile.am Makefile.in


DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)

TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
	cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
	cd $(top_builddir) \
	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

tags: TAGS
TAGS:


distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)

subdir = doc

distdir: $(DISTFILES)
	here=`cd $(top_builddir) && pwd`; \
	top_distdir=`cd $(top_distdir) && pwd`; \
	distdir=`cd $(distdir) && pwd`; \
	cd $(top_srcdir) \
	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu doc/Makefile
	@for file in $(DISTFILES); do \
	  d=$(srcdir); \
	  if test -d $$d/$$file; then \
	    cp -pr $$/$$file $(distdir)/$$file; \
	  else \
	    test -f $(distdir)/$$file \
	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
	    || cp -p $$d/$$file $(distdir)/$$file || :; \
	  fi; \
	done
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am

install-data-am:
install-data: install-data-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile
all-redirect: all-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:


mostlyclean-generic:

clean-generic:

distclean-generic:
	-rm -f Makefile $(CONFIG_CLEAN_FILES)
	-rm -f config.cache config.log stamp-h stamp-h[0-9]*

maintainer-clean-generic:
mostlyclean-am:  mostlyclean-generic

mostlyclean: mostlyclean-am

clean-am:  clean-generic mostlyclean-am

clean: clean-am

distclean-am:  distclean-generic clean-am
	-rm -f libtool

distclean: distclean-am

maintainer-clean-am:  maintainer-clean-generic distclean-am
	@echo "This command is intended for maintainers to use;"
	@echo "it deletes files that may require special tools to rebuild."

maintainer-clean: maintainer-clean-am

.PHONY: tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean


# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

--- NEW FILE ---
Introduction to the libvo API


I - choosing an output module

typedef struct vo_driver_s {
    char * name;
    vo_open_t * open;
} vo_driver_t;

vo_driver_t * vo_drivers (void);

going thru the driver array, we find the driver entry with the name we
want, and use the associated setup field in the next steps. If we do
not specify a given name, the first entry in the array is always the
most reasonable default.


II - initializing the output module

vo_instance_t * vo_open (vo_open_t * open);

this function returns a libvo instance ; this instance can then be
passed to libmpeg2


III - setting up a video mode

int vo_setup (vo_instance_t * this, int width, int height);

This function initializes the libvo instance with the desired
resolution. On success it returns 0.


IV - displaying frames

struct vo_frame_s {
    uint8_t * base[3];  /* pointer to 3 planes */
    void (* copy) (vo_frame_t * frame, uint8_t **);
    ...
};

vo_frame_t * vo_get_frame (vo_instance_t * this, int flags);

This function is used to get a frame buffer before we start decoding a
frame. The flags are : VO_TOP_FIELD, VO_BOTTOM_FIELD, VO_BOTH_FIELDS -
indicate which field(s) will be decoded first, and VO_PREDICTION_FLAG
- used if the frame will be used by the decoder to predict future
frames, and must thus be conserved in memory for a longer time.

The frames will not be queried in the display order ; however we can
make a few assumptions : all frames with the VO_PREDICTION_FLAG will
be queried in display order, and all frames without the
VO_PREDICTION_FLAG will be queried in display order too. The
prediction frames must be kept in memory for a longer time ; however
it is never necessary to keep more than two prediction frames at any
point in time.

The base pointers in the frame points to allocated arrays that the
decoder will use as buffers for the decompressed picture. The queried
frame is not displayed yet, so we can work in these buffers without
worrying about display artefacts.

The copy function, if not set to NULL, is to be called each time we're
done decompressing 16 lines (from either one or both fields, as
indicated in the vo_get_frame flags). After that the decoder is free
to overwrite the picture buffers if this is not a prediction
frame. The intent of the copy function is to enhance the cache
behaviour by letting the libvo process the yuv data just after it is
decompressed - while it is still fresh in the cache.

void vo_field (vo_frame_t * frame, int flags);

If we had started decoding only one of the fields, this is used to
indicate when we start decoding the second field.

void vo_draw (vo_frame_t * frame);

This is called when we're done working on this frame and we want it
actually displayed.


V - closing the output instance

void vo_close (vo_instance_t * this);

Close the output instance and free the associated memory


_______________________________________________
Mplayer-cvslog mailing list
Mplayer-cvslog at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/mplayer-cvslog



More information about the MPlayer-cvslog mailing list