Commit graph

76 commits

Author SHA1 Message Date
Richard Boulton 3bcccbf82e Make libs/idct only build mmx support if available - hopefully makes it compile on PPC.
Original commit message from CVS:
Make libs/idct only build mmx support if available - hopefully makes it
compile on PPC.
2000-09-21 01:34:34 +00:00
Richard Boulton 59030bfc59 Patch from Chris Emerson for PPC. cothreads stuff was causing segfaults, because the stack needs to be initialised w...
Original commit message from CVS:
Patch from Chris Emerson for PPC.  cothreads stuff was causing segfaults,
because the stack needs to be initialised with a particular structure on
PPC, unlike x86 where it simply has items pushed or popped.
Added Chris to AUTHORS, for his trouble.
2000-09-21 00:57:09 +00:00
Wim Taymans cab1728fa5 Added gst_pipeline_add_sink/src to allow multiple sink cases and more complex autoplugging. Update docs too.
Original commit message from CVS:
Added gst_pipeline_add_sink/src to allow multiple sink cases and
more complex autoplugging. Update docs too.
Simplified the pipeline autoplugging code.
Changed the cothread case: One iteration is now a push from the src
element. The disk source does not change its state anymore on eof.
Better type setting for the ac3 parser/decoder and mpeg2parse.
2000-09-17 22:08:09 +00:00
Wim Taymans f7bace76aa Added check for vorbis.
Original commit message from CVS:
Added check for vorbis.
Really compile with Xv extension if the library is found.
Changed the disksrc so that is goes to the PAUSE state if eof.
2000-09-17 14:06:18 +00:00
Wim Taymans ff99ee6132 Added a quick hack to allow loop based elements to finish intead of looping till infinity.
Original commit message from CVS:
Added a quick hack to allow loop based elements to finish intead of
looping till infinity.
Added compile time i386 or plain C getbits implementation selection.
The vorbis decoder now is our first loop based element!
2000-09-16 10:58:23 +00:00
Richard Boulton 11e8ef9074 More work towards a powerPC port, and towards generic portability.
Original commit message from CVS:
More work towards a powerPC port, and towards generic portability.
2000-09-16 00:59:12 +00:00
Richard Boulton 968b5acaa1 Fix on x86 architectures - was just checking for 386, D'oh.
Original commit message from CVS:
Fix on x86 architectures - was just checking for 386, D'oh.
Fix autogen to run autoheader _before_ autoconf, since it generates a
required file (config.h.in, which I just removed from CVS since its an
autogenerated one).  Also fix messed up variables in gst/Makefile.am
2000-09-15 23:04:31 +00:00
Richard Boulton 238bbc23c8 Begun to add support for non i386 architectures, with the help of Chris
Original commit message from CVS:
Begun to add support for non i386 architectures, with the help of Chris
Emerson.  Added bits to configure to figure out architecture, and added
some alternatives for PPC.  Should cause no problems on i386, but I'll
check after this commit, but doesn't yet work on PPC by a fair way...
2000-09-15 22:44:10 +00:00
Wim Taymans 3239d7cb0c The vorbis encoder
Original commit message from CVS:
The vorbis encoder
A test program to convert an mp3 to a vorbis file.
A fix for the dynamic plugin loader factory_find was not working.
Don't forget to run gstreamer-register after installing the plugins!
2000-09-14 22:18:43 +00:00
Wim Taymans 8051d54c36 Due to popular demand :-), I added a vorbis decoder.
Original commit message from CVS:
Due to popular demand :-), I added a vorbis decoder.
The encoder is not yet functional.
Small cosmetic changes to gstcpu.c

Beware:
You *need* to install libvorbis.a from the main vorbis CVS.
you *have* to change the line in libtool to
deplibs_check_method="pass_all"
because else the plugin shared library refuses to link against the
static libvorbis.a library. This is a hack. I have no intention in
including libvorbis into the gstreamer CVS tree and making it
libtool compatible.
2000-09-14 20:31:03 +00:00
Wim Taymans 8d2a4dfbec Added CPU detection.
Original commit message from CVS:
Added CPU detection.
Added SSE optimisation to mpeg_play
Modified the mpeg2 decoder and gstidct to use cpu detection.
Cleanups in the mpeg1 and mpeg2 decoders.
2000-09-12 18:13:48 +00:00
Wim Taymans 552b7f32aa Changes to gstreamer-config to include gtk+ libs manual changes: queues, threads, programs gsteditor does not crash a...
Original commit message from CVS:
Changes to gstreamer-config to include gtk+ libs
manual changes: queues, threads, programs
gsteditor does not crash anymore.
gstpipline new should return a GstElement *
fixed ac3dec for new getbits
fixes to gstreamer-launch
more efficient startup for gstplay.
2000-09-09 16:36:10 +00:00
Wim Taymans 23540ccc52 Faster and modular getbits implementation.
Original commit message from CVS:
Faster and modular getbits implementation.
Fixed a bug in the audiosink that could lock up your box on bad MB.
Modified the plugins to use the new getbits functions.
2000-09-07 20:35:15 +00:00
Wim Taymans 7ccc2cf90b Externalized the plugin information in /etc/gstreamer/reg.xml
Original commit message from CVS:
Externalized the plugin information in /etc/gstreamer/reg.xml
- no need to do a plugin_load_all()
- plugins are loaded when needed
- typedetect functions are loaded when needed (still buggy)
- no need to check for the existance of the plugin in the codecs
- added gstreamer-register to create the reg.xml file
- renamed launch to gstreamer-launch
- plugins need to register the typefactory they provide
modified the plugins to meet the new design
modified the plugins to correctly set their pad types
autoplugging can be done without loading the plugins now
2000-08-28 20:20:55 +00:00
Wim Taymans a703c01d94 More docs (most of them just empty...)
Original commit message from CVS:
More docs (most of them just empty...)
Added automatic pad plugging.
Added automatic dynamic pad plugging.
Changed some codecs to correctly set their pad types.
2000-08-22 21:18:18 +00:00
Wim Taymans fa4a4319f0 A first (rude) attempt at autoplug.
Original commit message from CVS:
A first (rude) attempt at autoplug.
Autoplugging selects appropriate codecs to connect src to sink, adds
them to the pipeline and connect pads.
Autoplugging will run the typedetect plugin if the src pad has no MIME
type.
No autoplugging is done on the src and sink pads, it's hardcoded:
connect 'src to sink'.
No attempt at creating threads.
No attempt at dynamically autoplugging not yet existing pads.
Changes to (some) plugins to properly set their MIME types.
2000-08-21 21:20:38 +00:00
Wim Taymans 53be55b62e Removed bad asm call for rdts. Need to fix this...
Original commit message from CVS:
Removed bad asm call for rdts. Need to fix this...
2000-08-18 22:15:58 +00:00
Wim Taymans 6661696de0 Various fixes for the build/install problems update to the docs/manual. Added a simple helloworld example.
Original commit message from CVS:
Various fixes for the build/install problems
update to the docs/manual. Added a simple helloworld example.
2000-08-18 20:35:48 +00:00
Wim Taymans d9701bf8a7 Added the bufferpool handler.
Original commit message from CVS:
Added the bufferpool handler.
This object is able to generate buffers and is passed between elements to
exchange buffers. Elements can also use this pool to efficiently generate
output buffers.
2000-08-14 10:57:30 +00:00
Wim Taymans 202ba2ae4a State change fixes in the threading element.
Original commit message from CVS:
State change fixes in the threading element.
Added bufferpools.
2000-08-14 10:55:35 +00:00
Erik Walthinsen 6340b23cc0 Brought standard elements in line with new state management system.
Original commit message from CVS:
Brought standard elements in line with new state management system.
2000-07-21 03:57:51 +00:00
Erik Walthinsen b6d31c1c72 Megapatch, changes which states are available, how they're used, and how they're set. Also modifies the scheduling s...
Original commit message from CVS:
Megapatch, changes which states are available, how they're used, and how
they're set.  Also modifies the scheduling system, breaking pulled
buffers.  Check mail archives for more details.
2000-07-17 17:14:15 +00:00
Wim Taymans 5effd6fe5d Fixed a bug in the riff parser with the allignment of the chunks. This should solve the errors with avi playback.
Original commit message from CVS:
Fixed a bug in the riff parser with the allignment of the chunks. This
should solve the errors with avi playback.
2000-07-15 13:26:28 +00:00
Wim Taymans 2ab64206bb Better error recovery in teh MPEG1 decoder.
Original commit message from CVS:
Better error recovery in teh MPEG1 decoder.
Removed MPEG2 stuff from the MPEG1 decoderand make it ignore MPEG2
streams.
Some extra framerates in the MPEG2 decoder (from libmpeg2)
Round image size up to the nearest multiple of 16 (MPEG2 decoder)
2000-07-13 19:49:50 +00:00
Wim Taymans 9920b88c3f This is the audio/video sync release.
Original commit message from CVS:
This is the audio/video sync release.
Changed the mpegvideoparser to parse complete pictures. Added the PTS
timestamps to the pictures.
Added PTS timestamps to the MPEG audio frames.
Made the clock a littlebit better.
Gstplay now uses two more threads one for video, one for audio playback.
Added the first QoS callbacks for the pads.
hopefully fix an mmx compilation problem.
2000-07-12 22:52:42 +00:00
Wim Taymans 9b0e11ec7e Added seeking to some of the plugins. some MMX speedups in the MPEG decoders.
Original commit message from CVS:
Added seeking to some of the plugins.
some MMX speedups in the MPEG decoders.
Better YUV to MMX conversion
implemented seeking to gstplay.
2000-07-05 10:21:08 +00:00
Wim Taymans a3d5d3a62b Switched Cr and Cb in YUV2RGB fixed the avi parser (gstriff had wrong size) the system_encoder can now do video only ...
Original commit message from CVS:
Switched Cr and Cb in YUV2RGB
fixed the avi parser (gstriff had wrong size)
the system_encoder can now do video only system streams
sanitized the colorspace and scaler api.
added fast self modifying asm scaler.
worked on the typefind stuff.
added a cool media player (gstplay) it uses the typefinder to playback
avi, mpeg1 (system and video) streams. It is also a testbed and a real app.
2000-06-25 21:38:00 +00:00
Wim Taymans fff99983ad Fixed an MMX IDCT bug.
Original commit message from CVS:
Fixed an MMX IDCT bug.
Fixed a color conversion bug.
Initial work for multiply avi codecs.
2000-06-18 13:50:18 +00:00
Wim Taymans f179798efb Reworked the audio resampler.
Original commit message from CVS:
Reworked the audio resampler.
Added first frames skipping to the mp3 and ac3 parser (this allows you to
skip a number of frames before pushing them).
Removed wrong mmx code from the encoder.
Added Macroblocks per slice to the encoder.
added bilinear and bicubic interpolation to the videoscaler.
Added a MPEG1 multiplexer (no SCR or mux rate calculations yet)
Added some options (framerate to the encoder/decoder)
2000-06-11 12:11:41 +00:00
Wim Taymans 987d66af1a Rewrote the mpeg2 system parser like the mpeg1 parser.
Original commit message from CVS:
Rewrote the mpeg2 system parser like the mpeg1 parser.
Added a command property to the pipefilter.
2000-05-28 22:46:46 +00:00
Wim Taymans 0fa1747e56 Added a basic element: pipefilter. This element connects the stdin/stdout of an external program into the pipeline. W...
Original commit message from CVS:
Added a basic element: pipefilter. This element connects the stdin/stdout
of an external program into the pipeline. We now have virtually all of
the capabilities of sox, lame, ...
2000-05-28 20:04:31 +00:00
Wim Taymans cbb196fd31 Rewrote the mpeg1 system stream parser.
Original commit message from CVS:
Rewrote the mpeg1 system stream parser.
Fixed a motion compensation bug (was a bug on Intels site)
Faster/Better/more accurate motion detection in the mpeg encoder
Added an audio resampler (convert 48000 kHz to 44100 for example) does not work
Fixed rate control in the mpeg2 encoder.
2000-05-28 19:59:46 +00:00
Wim Taymans 8f2b441e96 Fixed the mpeg2 encoder. Added MMX optimisations for motion estimation.
Original commit message from CVS:
Fixed the mpeg2 encoder. Added MMX optimisations for motion estimation.
Added another mpeg1 encoder.
Added Two filters: smooth and median (a median cut filter)
Made the queue pull buffers.
2000-05-21 21:58:20 +00:00
Wim Taymans 17224d3c8e More changes to the mpeg parser and encoder.
Original commit message from CVS:
More changes to the mpeg parser and encoder.
It seems like the mpeg2 decoder does not like some MPEG1 videos. Use
mpeg_play for now (eg. AlienSong)
2000-05-12 17:33:35 +00:00
Wim Taymans 3fbaa5c582 Makefile.am fixes
Original commit message from CVS:
Makefile.am fixes
2000-04-13 21:59:38 +00:00
Wim Taymans 38b288c61c A poor mans clock...
Original commit message from CVS:
A poor mans clock...
2000-04-09 21:38:17 +00:00
Wim Taymans 5b0ba06f28 Added MMX optimized yuv2rgb (AlienSong now plays back at only 6% CPU)
Original commit message from CVS:
Added MMX optimized yuv2rgb (AlienSong now plays back at only 6% CPU)
Added mpeg1 picture skipping and fixed a buffer overflow.
Added a system clock. The audiosink can now adjust the clock.
Fixed incorrect behaviour on 8, 15, 16, 24 and 32 bits displays.
Cleanup of the videosink, it now uses the color conversion library when
needed.
2000-04-09 21:36:56 +00:00
Wim Taymans 0d9315223a Added a colorspace library and removed yuv2rgb conversion from the videosink.
Original commit message from CVS:
Added a colorspace library and removed yuv2rgb conversion from the
videosink.
The aviencoder should now more or less work.
2000-04-02 21:36:54 +00:00
Wim Taymans bf8c785fb0 Documentation updates. All standard library objects and standard elements are documented. Modified some of the elemen...
Original commit message from CVS:
Documentation updates. All standard library objects and standard
elements are documented. Modified some of the elements to more
accuratly report about their arguments so the documentation builds
more reasonable output.
Added aviencoder and jpegencoder elements (not working yet)
2000-03-27 19:53:43 +00:00
Wim Taymans 53b9cea328 Added jpeg decoder. the avi decoder now configures the jpeg codec if an MJPG encoded avi is found. Fixed riff parsing...
Original commit message from CVS:
Added jpeg decoder. the avi decoder now configures the jpeg codec if
an MJPG encoded avi is found. Fixed riff parsing. readded rgb_draw
functions to the videosink. jpeglib is used to decode the jpeg image.
2000-03-22 21:18:15 +00:00
Erik Walthinsen 7cf6883096 spelling fixes to gst_library_load()
Original commit message from CVS:
spelling fixes to gst_library_load()
2000-03-21 19:54:30 +00:00
Wim Taymans 1f4d20f689 Implemented riff parsing as a library. The avi parser can play simple PCM encoded audio.
Original commit message from CVS:
Implemented riff parsing as a library. The avi parser can play
simple PCM encoded audio.
some minor cleanups.
2000-03-20 20:25:03 +00:00
Wim Taymans 39d3ec0a0d Added the riff code into a seperate library in /libs dir. The plugin loader also checks the /libs path.
Original commit message from CVS:
Added the riff code into a seperate library in /libs dir. The plugin
loader also checks the /libs path.
The avi parser now uses the riff library.
WAV is broken.
2000-03-19 00:59:05 +00:00
Wim Taymans c2b8daff3a Various cleanups. Moved the overlay code to a specialized widget.
Original commit message from CVS:
Various cleanups. Moved the overlay code to a specialized widget.
One error I cannot seem to fix: switching desktops does not disable the
overlay.
2000-03-13 22:13:11 +00:00
Wim Taymans 660c01217f Reworked overlay, much better but still not perfect.
Original commit message from CVS:
Reworked overlay, much better but still not perfect.
2000-03-05 21:48:05 +00:00
Wim Taymans 58b4147fb2 Added overlay and DGA capability for the videosink. Not really good but functional.
Original commit message from CVS:
Added overlay and DGA capability for the videosink. Not really good but
functional.
2000-03-03 22:13:00 +00:00
Wim Taymans ef63c32778 This is a rather large patch. Switched on -Wall compiler flag and fixed the warnings.
Original commit message from CVS:
This is a rather large patch. Switched on -Wall compiler flag and fixed
the warnings.
Made the Video for Linux more like it should be.
2000-02-27 23:18:38 +00:00
Wim Taymans c144819530 Added a pull function in the gstpad. Modified the videosink to implement the pull. This function allows a source elem...
Original commit message from CVS:
Added a pull function in the gstpad. Modified the videosink to implement
the pull. This function allows a source element to request a buffer
from the destination. This is much more efficient because the
videosink can then pass a buffer with SHM to the element, which does
not require an aditional memcpy.
removed scaling from the videosink. I need something better.
2000-02-26 18:55:14 +00:00
Wim Taymans aa0b9ec506 Added a Video 4 linux source. Not generic at all and may not work on any other system but mine.
Original commit message from CVS:
Added a Video 4 linux source. Not generic at all and may not work
on any other system but mine.
2000-02-25 23:18:51 +00:00
Wim Taymans a45625d478 Speedup in mpg123 parsing. speedup in mp1videoparse. rearanged the
Original commit message from CVS:
Speedup in mpg123 parsing. speedup in mp1videoparse. rearanged the
MPEG player got rid of some memcpy. bit handling changes.
MMX code for the IDCT and motion compensation in mpeg_play.
Almost as fast as the commercial mpeg player mtv, but with a much
better video quality :-)
2000-02-24 20:56:23 +00:00