The first attempt to support MAS. Dont expect it to work :)
authorZeeshan Ali <zeenix@gmail.com>
Thu, 30 Jan 2003 20:24:26 +0000 (20:24 +0000)
committerZeeshan Ali <zeenix@gmail.com>
Thu, 30 Jan 2003 20:24:26 +0000 (20:24 +0000)
Original commit message from CVS:
The first attempt to support MAS. Dont expect it to work :)

configure.ac
ext/Makefile.am
gst/videocrop/gstvideocrop.c
gst/wavenc/gstwavenc.c

index 675d17b..4ae65d8 100644 (file)
@@ -497,6 +497,15 @@ GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
   AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
 ])
 
+dnl *** MAS ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_MAS, true)
+GST_CHECK_FEATURE(MAS, [mas library], massink, [
+  translit(dnm, m, l) AC_SUBST(MAS_LIBS)
+  translit(dnm, m, l) AC_SUBST(MAS_CFLAGS)
+  GST_CHECK_CONFIGPROG(MAS, mas-config)
+  AS_SCRUB_INCLUDE(MAS_CFLAGS)
+])
+
 dnl **** ESound ****
 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
@@ -1097,6 +1106,7 @@ ext/lcs/Makefile
 ext/libfame/Makefile
 ext/libpng/Makefile
 ext/mad/Makefile
+ext/mas/Makefile
 ext/mikmod/Makefile
 ext/mjpegtools/Makefile
 ext/mpeg2dec/Makefile
index d31f7fe..0d107fc 100644 (file)
@@ -64,6 +64,12 @@ else
 ESD_DIR=
 endif
 
+if USE_MAS
+MAS_DIR=mas
+else
+MAS_DIR=
+endif
+
 ## if USE_FESTIVAL
 ## FESTIVAL_DIR=festival
 ## else
@@ -253,7 +259,7 @@ endif
 SUBDIRS=$(A52DEC_DIR) $(AALIB_DIR) $(ALSA_DIR) \
         $(ARTS_DIR) $(ARTSC_DIR) $(AUDIOFILE_DIR) \
        $(AVIFILE_DIR) $(CDPARANOIA_DIR) \
-       $(DVDREAD_DIR) $(DVDNAV_DIR) $(ESD_DIR) \
+       $(DVDREAD_DIR) $(DVDNAV_DIR) $(ESD_DIR) $(MAS_DIR) \
        $(FFMPEG_DIR) $(FLAC_DIR) $(GNOMEVFS_DIR) $(GSM_DIR) \
        $(HERMES_DIR) $(HTTP_DIR) $(JACK_DIR) $(JPEG_DIR) \
        $(LADSPA_DIR) $(LAME_DIR) $(LCS_DIR) \
@@ -268,7 +274,7 @@ DIST_SUBDIRS=\
        a52dec aalib alsa \
        arts artsd avifile \
        audiofile cdparanoia dv \
-       dvdread dvdnav esd ffmpeg \
+       dvdread dvdnav esd mas ffmpeg \
        flac gnomevfs gsm \
        hermes http jack jpeg \
        ladspa lame lcs libfame libpng \
index 0a3fb1a..20a524b 100644 (file)
 
 #include <string.h>
 
+#ifdef __MMX__
+#include <mmx.h>
+#endif
+
 #define GST_TYPE_VIDEO_CROP \
   (gst_video_crop_get_type())
 #define GST_VIDEO_CROP(obj) \
@@ -281,17 +285,22 @@ gst_video_crop_i420 (GstVideoCrop *video_crop, GstBuffer *src_buffer, GstBuffer
   guint8 *srcY, *srcU, *srcV;
   guint8 *destY, *destU, *destV;
   gint width = video_crop->crop_width;
+  gint crop_height = video_crop->crop_height;
   gint src_stride = video_crop->width;
   gint frame_size = video_crop->width * video_crop->height;
-  gint crop_height;
   gint j;
 
   srcY = GST_BUFFER_DATA (src_buffer) + (src_stride * video_crop->crop_y + video_crop->crop_x);
   destY = GST_BUFFER_DATA (dest_buffer);
 
-  crop_height = video_crop->crop_height;
-
   /* copy Y plane first */
+
+  for (j = crop_height; j; j--) {
+    memcpy (destY, srcY, width);
+    srcY += src_stride;
+    destY += width;
+  }
+
   for (j = crop_height; j; j--) {
     memcpy (destY, srcY, width);
     srcY += src_stride;
index a61ca5a..458df92 100644 (file)
@@ -285,6 +285,7 @@ gst_wavenc_chain (GstPad *pad,
 
         outbuf = gst_buffer_new_and_alloc (WAV_HEADER_LEN);
         memcpy (GST_BUFFER_DATA (outbuf), wavenc->header, WAV_HEADER_LEN);
+        GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
 
        gst_pad_push (wavenc->srcpad, outbuf);
         wavenc->flush_header = FALSE;