Commit graph

114 commits

Author SHA1 Message Date
Wim Taymans
4a38cd655b Misc fixes and cleanups
Original commit message from CVS:
Misc fixes and cleanups
A reworked gstplay. Now it is called gstmediaplay. gstplay is a custom
widget that can display media and is to become a bonobo component soon.
put the tables of the mpeg audio encoder in a header file.
maybe faster quantisation for the mpeg encoder.
2000-10-30 21:02:08 +00:00
Wim Taymans
9bae9d4b91 More Docs updates.
Original commit message from CVS:
More Docs updates.
Added plugin documentation. I fear we need a gstdoc implementation
that loads plugins and does introspection on them. I think we should
automatically create the docs for the pads and mime types the plugins
provide. Does anyone have enough perl knowledge to add these features? I
allready changed the C code to output the pad definitions but my perl
knowledge is too limited, for now, to implement the rest of the needed
functionality...
2000-10-25 19:09:53 +00:00
Wim Taymans
e5ab7f33ac A first attempt to fix the queues in a cothreaded pipeline.
Original commit message from CVS:
A first attempt to fix the queues in a cothreaded pipeline.
Some fixes to the thread handling.
Fix a bug in gstreamer-config : gthread was not included.
gst_bin_create_plan() is now done in the READY state.
a bin with only another bin in it will now work with gst_bin_iterate.
Added some examples for the queues.
2000-09-22 23:35:14 +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
Richard Boulton
f8666a569f Fix compile problem due to DEBUG being redefined in libs/getbits/gstgetbits.h. Also fix several small typos in the d...
Original commit message from CVS:
Fix compile problem due to DEBUG being redefined in
libs/getbits/gstgetbits.h.  Also fix several small typos in the docs and
examples.
2000-09-18 22:19:57 +00:00
Wim Taymans
2c42495cf0 Converted the mpeg2 encoder asm to gnu asm, removing the dependency of nasm
Original commit message from CVS:
Converted the mpeg2 encoder asm to gnu asm, removing the dependency of nasm
Added cpu detection in the mpeg2 encoder
removed the inlined mmx asembler to seperate files.
2000-09-17 12:31:01 +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
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
Richard Boulton
cf0a34528d libXv is now linked against by test/* and gstplay if it is present.
Original commit message from CVS:
libXv is now linked against by test/* and gstplay if it is present.
-lXv isn't leaked all over the place due to AC_CHECK_LIB test.
This is still messy though - we shouldn't have to link explicitly
with extra things just because we use certain plugins.

Build Makefile in tests, but don't recurse into tests when doing the
build  (tests no longer in SUBDIRS).
2000-08-19 00:29:57 +00:00
Wim Taymans
d6e6b9cb60 Build fixes.
Original commit message from CVS:
Build fixes.
Adapted the test directory to the new state management
added an mpeg2 to avi encoder.
added a v4l to divx capture example.
2000-08-14 15:17:24 +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
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
d3fb1a8bd3 Added SCR and mux_rate calculations in the MPEG1 multiplexer. worked toward a unified putbits implementation
Original commit message from CVS:
Added SCR and mux_rate calculations in the MPEG1 multiplexer.
worked toward a unified putbits implementation
Added an MPEG audio layer 1&2 encoder.
2000-06-16 22:30:24 +00:00
Wim Taymans
f037c7a742 Reworked the colorspace converter and the scaler API.
Original commit message from CVS:
Reworked the colorspace converter and the scaler API.
Fixed some MMX bugs in the mpeg encoder.
2000-06-12 21:27:19 +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
ae5208f21f An MPEG1 transcoder.
Original commit message from CVS:
An MPEG1 transcoder.
2000-05-21 21:59:40 +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
2a4bfc0fc8 A simple video scaler as a library and an Element. Also a little non working mpeg2 to mpeg1 converter (still struggli...
Original commit message from CVS:
A simple video scaler as a library and an Element. Also a little non
working mpeg2 to mpeg1 converter (still struggling with the quantisation).
2000-05-12 17:39:40 +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
8b8574407e Fixed some build errors.
Original commit message from CVS:
Fixed some build errors.
2000-05-01 23:22:04 +00:00
Wim Taymans
58dede8409 MPEG2 decoder fixes, unified MPEG System stream parser. an mpeg encoder.
Original commit message from CVS:
MPEG2 decoder fixes, unified MPEG System stream parser. an mpeg
encoder.
2000-05-01 23:09:46 +00:00
Wim Taymans
c81358367e Added the mpeg2dec MPEG1 and MPEG2 decoder.
Original commit message from CVS:
Added the mpeg2dec MPEG1 and MPEG2 decoder.
2000-04-24 20:51:30 +00:00
Wim Taymans
a3443b51d5 Unified getbits handling. I currently have an inline integer implementation.
Original commit message from CVS:
Unified getbits handling. I currently have an inline integer implementation.
2000-04-16 18:47:45 +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
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
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
bdd86b10d1 A non functional avi parser.
Original commit message from CVS:
A non functional avi parser.
2000-03-13 22:17:00 +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
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
54367bb65c test code for the Video for linux source
Original commit message from CVS:
test code for the Video for linux source
2000-02-25 23:19:44 +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
Wim Taymans
a14849fea8 Fixed the lockup by not calling any gtk functions in the main thread.
Original commit message from CVS:
Fixed the lockup by not calling any gtk functions in the main thread.
This is not good.
2000-02-19 10:50:26 +00:00
Wim Taymans
95adba8f9d Set the default buffer size to 1 to avoid the strange lockups...
Original commit message from CVS:
Set the default buffer size to 1 to avoid the strange lockups...
2000-02-18 23:48:45 +00:00
Wim Taymans
48c04a1661 The first functional video sink... Removed all of the video stuff from the MPEG video decoder. Fixed a bug in smoothw...
Original commit message from CVS:
The first functional video sink... Removed all of the video stuff
from the MPEG video decoder. Fixed a bug in smoothwave.
The MPEG video decoder still does the YUV->RGB conversion.
2000-02-18 23:07:33 +00:00
Wim Taymans
4660e95926 Fixed memory leak in queue.
Original commit message from CVS:
Fixed memory leak in queue.
2000-02-16 23:27:45 +00:00
Wim Taymans
b797f15e3a Cleanup, fixed some bugs in the parsers, fixed memory leak (not all of them yet)
Original commit message from CVS:
Cleanup, fixed some bugs in the parsers, fixed memory leak (not all of them
yet)
2000-02-16 16:44:54 +00:00
Erik Walthinsen
d4e99eeef6 updated .cvsignores
Original commit message from CVS:
updated .cvsignores
2000-02-15 00:32:00 +00:00
Erik Walthinsen
d224516279 Rearranged and updated mp1parse. Indentation is sane again (what editor and it now uses threads. Playback is clean ...
Original commit message from CVS:
Rearranged and updated mp1parse.  Indentation is sane again (what editor
are you using, Wim?), and it now uses threads.  Playback is clean (at
least, audio and video are running smoothly.  Video is still a little
choppy on my test stream (first 1MB from disk two of Mulan VCD), and it's
still wildly out of sync, but it's looking VERY COOL.
2000-02-12 23:09:57 +00:00
Wim Taymans
d6d5df1f9d The first functional video MPEG1 decoder. The decoder still opens a window to show the video. This is not optimised a...
Original commit message from CVS:
The first functional video MPEG1 decoder. The decoder still opens a window
to show the video. This is not optimised at all. Some glitches and
crashes due to bugs in mp1videoparse.c. I need to queue incomplete
slices in mp1videoparse before sending them to the decoder.
use test/mp1parse on your favorite video to test. No audio/video sync,
no QoS at all.
2000-02-12 12:20:32 +00:00
Wim Taymans
12f3571c50 Optimisations to mp3decode and mp3parse (subbuffers) mp1videoparse now correctly pushes buffers in complete chuncks.
Original commit message from CVS:
Optimisations to mp3decode and mp3parse (subbuffers)
mp1videoparse now correctly pushes buffers in complete chuncks.
2000-02-10 17:02:34 +00:00
Wim Taymans
b2e0448541 Added MPEG1 video parser.
Original commit message from CVS:
Added MPEG1 video parser.
2000-02-08 22:36:20 +00:00
Wim Taymans
b6a297bf09 Fixed the mpeg 1 parser. It can now be used to playback the audio stream of an MPEG1 movie (check out test/mp1parse.c).
Original commit message from CVS:
Fixed the mpeg 1 parser. It can now be used to playback the audio stream
of an MPEG1 movie (check out test/mp1parse.c).
2000-02-06 18:50:38 +00:00
Wim Taymans
8dfef4d6b6 cleanup. Still not working...
Original commit message from CVS:
cleanup. Still not working...
2000-02-06 01:52:15 +00:00
Wim Taymans
514ac0999d The mpeg1 parser test program.
Original commit message from CVS:
The mpeg1 parser test program.
2000-02-06 00:56:12 +00:00
Wim Taymans
56da452544 Some changes to the mpeg 1 parser. Does not work yet.
Original commit message from CVS:
Some changes to the mpeg 1 parser. Does not work yet.
2000-02-06 00:55:23 +00:00
Wim Taymans
3cb7f2a649 Fixed a nasty bug in mp3parse (partial buffer state remained)
Original commit message from CVS:
Fixed a nasty bug in mp3parse (partial buffer state remained)
Added eos check for the test programs to stop them from allocating all
of your memory (had to use alt-sysreq-k a few times :-( ).
MPEG layer 1 plays fine now with mp3play.
2000-02-05 01:20:11 +00:00
Erik Walthinsen
0032727103 More incremental updates. I can now successfully produce an rpm simply by typing ./autogen.sh;make rpm. This is g...
Original commit message from CVS:
More incremental updates.  I can now successfully produce an rpm simply by
typing `./autogen.sh;make rpm`.  This is good ;-)
2000-01-31 09:43:08 +00:00
Erik Walthinsen
4075335806 A bunch more changes to clean up build/make dist issues, as well as a spec file, -config file, .m4, etc. Next step...
Original commit message from CVS:
A bunch more changes to clean up build/`make dist` issues, as well as a
spec file, -config file, .m4, etc.  Next step is to build an RPM of this
mess.
2000-01-31 06:46:18 +00:00
Erik Walthinsen
0bc672ec72 Various fixes that collectively allow make dist to work.
Original commit message from CVS:
Various fixes that collectively allow `make dist` to work.
2000-01-31 05:55:22 +00:00
Erik Walthinsen
af38527ad1 OK, I think I've got all the .cvsignore stuff taken care of, though we'll want to fine-tune things as we go, of cours...
Original commit message from CVS:
OK, I think I've got all the .cvsignore stuff taken care of, though we'll
want to fine-tune things as we go, of course.  Most of them are the same,
with some exceptions for directories that produce executables (those are
listed by name after the standard ones and a newline for separation).
2000-01-31 03:36:35 +00:00
Erik Walthinsen
991af0b774 initial checkin
Original commit message from CVS:
initial checkin
2000-01-31 03:25:25 +00:00
Erik Walthinsen
419640438a - added usage info
Original commit message from CVS:
- added usage info
- uses first arg as registry filename
- any additional args are plugins to search for (no change but argv base)
- cleaned up output with a spare \n
2000-01-31 03:22:49 +00:00
Erik Walthinsen
0ec400890c initial checkin
Original commit message from CVS:
initial checkin
2000-01-30 10:44:33 +00:00