summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin KAY <komadori@users.sourceforge.net>2002-12-20 01:35:49 +0000
committerRobin KAY <komadori@users.sourceforge.net>2002-12-20 01:35:49 +0000
commite497eb1f9172f0e620e807a99b3379b7348d6410 (patch)
tree40567861b773c17641df8fed551032382a59c42c
parent217ed50549e44bf3f6d0e4d812629833b4d13d88 (diff)
downloadxine-lib-e497eb1f9172f0e620e807a99b3379b7348d6410.tar.gz
xine-lib-e497eb1f9172f0e620e807a99b3379b7348d6410.tar.bz2
MNG demuxer added
CVS patchset: 3591 CVS date: 2002/12/20 01:35:49
-rw-r--r--AUTHORS4
-rw-r--r--ChangeLog3
-rw-r--r--configure.ac22
-rw-r--r--src/demuxers/Makefile.am33
-rw-r--r--src/libxinevdec/rgb.c9
5 files changed, 41 insertions, 30 deletions
diff --git a/AUTHORS b/AUTHORS
index 184e03101..662d4a47e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -44,8 +44,8 @@ Mike Melanson <melanson@pcisys.net>
SMC video decoders
Robin KAY <komadori@myrealbox.com>
- pgx64[fb] video output plugin, WVE demuxer, EA ADPCM decoder, various
- bugfixes
+ pgx64[fb] video output plugin, WVE demuxer, MNG demuxer, EA ADPCM
+ decoder, various bugfixes
Stephen Torri <storri@users.sourceforge.net>
Automake, autoconf, libtool development, and build fixes,
diff --git a/ChangeLog b/ChangeLog
index 81d2de7ea..2ec42c033 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,7 +8,8 @@
* mms input plugin cleanup/bugfixes/improvements
* syncfb and sdl vo plugins ported
* quicktime binary-only codec support (highly experimental)
-
+ * MNG demuxer added
+
xine-lib (1-beta0)
* fix decoder priority configuration
* cache available plugins for faster xine loading
diff --git a/configure.ac b/configure.ac
index 23d9cc640..f58dd09d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -530,7 +530,7 @@ AC_CHECK_PROG(DEPMOD, depmod, depmod, no)
dnl ---------------------------------------------
dnl Check for divx4
dnl ---------------------------------------------
-dnl AC_CHECK_DIVX4(, AC_MSG_RESULT(*** All of DIVX4 dependent parts will be disabled ***))
+dnl AC_CHECK_DIVX4(, AC_MSG_RESULT(*** All DIVX4 dependent parts will be disabled ***))
dnl AM_CONDITIONAL(HAVE_DIVX4, test x"$no_divx4" != "xyes")
@@ -539,7 +539,7 @@ dnl Ogg/Vorbis libs.
dnl ---------------------------------------------
AM_PATH_OGG(
[ AM_PATH_VORBIS([],
- AC_MSG_RESULT([*** All of OGG/VORBIS dependent parts will be disabled ***]))
+ AC_MSG_RESULT([*** All OGG/VORBIS dependent parts will be disabled ***]))
],
AC_MSG_RESULT([*** All of OGG/VORBIS dependent parts will be disabled ***]))
AM_CONDITIONAL(HAVE_VORBIS, [test x"$no_ogg" != "xyes" -a x"$no_vorbis" != "xyes"])
@@ -548,11 +548,24 @@ AM_CONDITIONAL(HAVE_VORBIS, [test x"$no_ogg" != "xyes" -a x"$no_vorbis" != "xyes
dnl ---------------------------------------------
dnl XviD libs.
dnl ---------------------------------------------
-AM_PATH_XVID([], AC_MSG_RESULT([*** All of XviD dependent parts will be disabled ***]))
+AM_PATH_XVID([], AC_MSG_RESULT([*** All XviD dependent parts will be disabled ***]))
AM_CONDITIONAL(HAVE_XVID, [test x"$no_xvid" != "xyes"])
dnl ---------------------------------------------
+dnl MNG libs.
+dnl ---------------------------------------------
+AC_CHECK_LIB(mng, mng_initialize,
+ [ AC_CHECK_HEADER(libmng.h,
+ [ have_libmng=yes
+ MNG_LIBS="-lmng" ],
+ AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))],
+ AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))
+AM_CONDITIONAL(HAVE_LIBMNG, test x"$have_libmng" = "xyes")
+AC_SUBST(MNG_LIBS)
+
+
+dnl ---------------------------------------------
dnl OSS style audio interface
dnl ---------------------------------------------
AC_MSG_CHECKING(for OSS audio support)
@@ -1248,6 +1261,9 @@ fi
if test x"$no_oggvorbis" = "xno"; then
echo " - ogg"
fi
+if test x"$have_libmng" = "xyes"; then
+ echo " - mng"
+fi
echo ""
dnl video decoders
diff --git a/src/demuxers/Makefile.am b/src/demuxers/Makefile.am
index f8cca61fb..fd7ed203b 100644
--- a/src/demuxers/Makefile.am
+++ b/src/demuxers/Makefile.am
@@ -10,34 +10,23 @@ if HAVE_VORBIS
ogg_module = xineplug_dmx_ogg.la
endif
-#if HAVE_ZLIB
-#qt_modules = xineplug_dmx_qt.la
-#endif
-
if BUILD_ASF
asf_module = xineplug_dmx_asf.la
endif
+if HAVE_LIBMNG
+mng_module = xineplug_dmx_mng.la
+endif
+
##
# IMPORTANT:
# ---------
# All of xine demuxer plugins should be named like the scheme "xineplug_dmx_"
-#lib_LTLIBRARIES = $(ogg_module) $(asf_module) $(qt_modules) xineplug_dmx_avi.la\
-# xineplug_dmx_mpeg_block.la xineplug_dmx_mpeg.la \
-# xineplug_dmx_mpeg_elem.la xineplug_dmx_mpeg_audio.la \
-# xineplug_dmx_cda.la xineplug_dmx_film.la \
-# xineplug_dmx_roq.la xineplug_dmx_fli.la \
-# xineplug_dmx_smjpeg.la xineplug_dmx_wav.la \
-# xineplug_dmx_idcin.la xineplug_dmx_wc3movie.la \
-# xineplug_dmx_vqa.la xineplug_dmx_voc.la \
-# xineplug_dmx_aiff.la xineplug_dmx_snd.la \
-# xineplug_dmx_yuv4mpeg2.la xineplug_dmx_real.la
-# xineplug_dmx_mpeg_pes.la xineplug_dmx_mpeg_ts.la
-
XINELIB = $(top_builddir)/src/xine-engine/libxine.la
-lib_LTLIBRARIES = $(ogg_module) $(asf_module) xineplug_dmx_avi.la\
+lib_LTLIBRARIES = $(ogg_module) $(asf_module) $(mng_module) \
+ xineplug_dmx_avi.la\
xineplug_dmx_mpeg_block.la \
xineplug_dmx_mpeg.la \
xineplug_dmx_mpeg_audio.la \
@@ -59,11 +48,11 @@ lib_LTLIBRARIES = $(ogg_module) $(asf_module) xineplug_dmx_avi.la\
xineplug_dmx_real.la \
xineplug_dmx_realaudio.la \
xineplug_dmx_eawve.la \
- xineplug_dmx_mpeg_ts.la
+ xineplug_dmx_mpeg_ts.la \
+ xineplug_dmx_mng.la
xineplug_dmx_ogg_la_SOURCES = demux_ogg.c
-xineplug_dmx_ogg_la_LIBADD = $(OGG_LIBS) $(VORBIS_LIBS)\
- $(XINELIB)
+xineplug_dmx_ogg_la_LIBADD = $(OGG_LIBS) $(VORBIS_LIBS) $(XINELIB)
xineplug_dmx_ogg_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
xineplug_dmx_avi_la_SOURCES = demux_avi.c
@@ -166,6 +155,10 @@ xineplug_dmx_eawve_la_SOURCES = demux_eawve.c
xineplug_dmx_eawve_la_LIBADD = $(XINELIB)
xineplug_dmx_eawve_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_dmx_mng_la_SOURCES = demux_mng.c
+xineplug_dmx_mng_la_LIBADD = $(XINELIB) $(ZLIB_LIBS) $(MNG_LIBS)
+xineplug_dmx_mng_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+
include_HEADERS = demux.h
noinst_HEADERS = asfheader.h qtpalette.h
diff --git a/src/libxinevdec/rgb.c b/src/libxinevdec/rgb.c
index addf45efe..2a13fb068 100644
--- a/src/libxinevdec/rgb.c
+++ b/src/libxinevdec/rgb.c
@@ -21,7 +21,7 @@
* Actually, this decoder just converts a raw RGB image to a YUY2 map
* suitable for display under xine.
*
- * $Id: rgb.c,v 1.14 2002/12/18 21:35:42 esnel Exp $
+ * $Id: rgb.c,v 1.15 2002/12/20 01:35:50 komadori Exp $
*/
#include <stdio.h>
@@ -153,9 +153,8 @@ static void rgb_decode_data (video_decoder_t *this_gen,
/* iterate through each row */
buf_ptr = 0;
- row_ptr = this->yuv_planes.row_width *
- (this->yuv_planes.row_count - 1);
- for (; row_ptr >= 0; row_ptr -= this->yuv_planes.row_width) {
+
+ for (row_ptr = 0; row_ptr < this->yuv_planes.row_width * this->yuv_planes.row_count; row_ptr += this->yuv_planes.row_width) {
for (pixel_ptr = 0; pixel_ptr < this->width; pixel_ptr++) {
if (this->bytes_per_pixel == 1) {
@@ -188,6 +187,8 @@ static void rgb_decode_data (video_decoder_t *this_gen,
g = this->buf[buf_ptr++];
r = this->buf[buf_ptr++];
+ buf_ptr += this->bytes_per_pixel - 3;
+
this->yuv_planes.y[row_ptr + pixel_ptr] =
COMPUTE_Y(r, g, b);
this->yuv_planes.u[row_ptr + pixel_ptr] =