summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-04-12Speed up start code scanning.Reinhard Nißl
The current code implements hardware (a shift register) in software just to find the byte pattern 00 00 01 xx, which causes remarkable CPU load on less powerful machines. The new approach uses memchr() to find the 01 in the buffer, which most often hits a start code. memchr() seems to be even faster then implementing a real pattern search (i. e. by just looking at every third byte to find 01). The new implementation causes significantly fewer CPU load on less powerful machines.
2007-04-11Special handling of sequence end code to improve still frames.Reinhard Nißl
The current code emits a frame when a non slice start code is seen. For still frames, this is typically a sequence end code. But the current code doesn't call parse_chunk() immediately because it waits for a further start code to determine the chunk of data to pass to parse_chunk(). But there isn't such a further start code for still frames after the sequence end code and thus, the still frame will not be emitted. As sequence end code is the only start code which has no data according to the MPEG specification, let's use this information to call parse_chunk() immediately.
2007-04-11Detect absence of AFD and report only changes.Reinhard Nißl
The current code cannot detect the absence of AFD once it has been seen in the stream. As AFD can appear in user data after sequence, group or picture start codes, the idea is to reset the stored AFD value when processing the sequence start code. In the case where AFD is seen in user data, it is stored internally, to have it ready when the first slice is processed. At least at that time, AFD data has been seen and can be analyzed for changes. At any change, the AFD value will then be stored into a stream property. Doing this only for changes avoids locks while writing the same value over and over to the stream's property.
2007-04-11Improve MPEG2 detection to have it ready for correct aspect ratioReinhard Nißl
determination. The current code detects MPEG2 when parsing the sequence extention which appears only in MPEG2 streams. But this is to late for correct aspect ratio determination which happens earlier and therefore assumes MPEG1. The result is a totally wrong aspect ratio. To fix this issue, the next start code (which is already available at that time) is passed to parse_chunk() too, which can then be used to detect a MPEG2 extension start code early enough before the aspect ratio is determined.
2007-04-09Split Libs and Cflags between public and private in the pkg-config file.Diego 'Flameeyes' Pettenò
2007-04-08Update URLs (cvs->hg transition) for compiling on/for win32.Darren Salt
2007-04-08Beside the name, constants can't be marked const or gcc miscompiles the ↵Diego 'Flameeyes' Pettenò
Altivec code.
2007-04-08Mark various private arrays, structs & fn parameters as static and/or const.Darren Salt
Two of the modified files are headers, but each contains definitions as well as declarations and is only ever used once.
2007-04-07Add a missing test call.Diego 'Flameeyes' Pettenò
2007-04-07video_overlay_s uses C's inheritance-like definition, so the first field has ↵Diego 'Flameeyes' Pettenò
to be video_overlay.
2007-04-07Use CC_ATTRIBUTE_FORMAT; replace __attribute((format(printf, ...))) accordingly.Darren Salt
2007-04-07Merge change.Diego 'Flameeyes' Pettenò
2007-04-07Revert changeset 8383: variable-sized structures and arrays don't seem to ↵Diego 'Flameeyes' Pettenò
get along that well.
2007-04-07Ignore *.orig files (generated by hg revert).Darren Salt
2007-04-06Remove executable status from all files which shouldn't have it.Darren Salt
2007-04-06Remove executable bit from dsp files.Diego 'Flameeyes' Pettenò
2007-04-06Now that all plugins install using xineplug_LTLIBRARIES, avoid greppingDiego 'Flameeyes' Pettenò
libdir for plugins installation. With this change, it avoids running an egrep command for every directory at uninstall time; the for has way less impact as the list can just be empty.
2007-04-06Remove a redundant comment.Diego 'Flameeyes' Pettenò
2007-04-06Properly use chcon over only xineplug and xinepost libraries.Diego 'Flameeyes' Pettenò
This reduces the number of objects that are allowed to contain TEXT section relocations (skipping for instance libxine and the vidix drivers). This is still suboptimal because only those plugins that actually contains text relocation should be allowed to contain them (that is what is done with IMPURE_TEXT_LDFLAGS for Solaris and Darwin).
2007-04-06Similarly, add a vidix_LTLIBRARIES class to install the vidix drivers in the ↵Diego 'Flameeyes' Pettenò
correct location.
2007-04-06Define a xinepostdir directory to point to the post-plugins path.Diego 'Flameeyes' Pettenò
Together with this, define a xinepost_LTLIBRARIES class that is used to install the post-plugins in the correct directory. Also add the rule to remove them.
2007-04-06Regenerate, audio_alsa_out.c changed line numbers.Diego 'Flameeyes' Pettenò
2007-04-06Use xineplug_LTLIBRARIES wherever possible.Diego 'Flameeyes' Pettenò
2007-04-05Fixed current audio sync, delay was always 0.Thibaut Mattern
Checked snd_pcm_delay return code, and don't trust negative values.
2007-04-04Regenerate, this time should add a few messages as the sources were ↵Diego 'Flameeyes' Pettenò
rescanned now.
2007-04-04Merge changes in main branch.Diego 'Flameeyes' Pettenò
2007-04-04Fix xine_encoder.c presence in EXTRA_DIST.Diego 'Flameeyes' Pettenò
2007-04-04Regenerate POTFILES.in with the source files changes.Diego 'Flameeyes' Pettenò
2007-04-04Rename xine_decoder.c to xine_sputext_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libsputext/xine_decoder.c => src/libsputext/xine_sputext_decoder.c
2007-04-04Rename xine_decoder.c to xine_spudvb_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libspudvb/xine_decoder.c => src/libspudvb/xine_spudvb_decoder.c
2007-04-04Rename xine_decoder.c to xine_spu_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libspudec/xine_decoder.c => src/libspudec/xine_spu_decoder.c
2007-04-04Rename xine_decoder.c to xine_cmml_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libspucmml/xine_decoder.c => src/libspucmml/xine_cmml_decoder.c
2007-04-04Rename xine_decoder.c to xine_cc_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libspucc/xine_decoder.c => src/libspucc/xine_cc_decoder.c
2007-04-04Rename xine_decoder.c to xine_musepack_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libmusepack/xine_decoder.c => src/libmusepack/xine_musepack_decoder.c
2007-04-04Rename xine_decoder.c to xine_mpeg2new_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libmpeg2new/xine_decoder.c => src/libmpeg2new/xine_mpeg2new_decoder.c
2007-04-04Rename xine_decoder.c to xine_mpeg2_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libmpeg2/xine_decoder.c => src/libmpeg2/xine_mpeg2_decoder.c
2007-04-04Rename audio_decoder.c and xine_decoder.cDiego 'Flameeyes' Pettenò
--HG-- rename : src/libreal/audio_decoder.c => src/libreal/xine_real_audio_decoder.c rename : src/libreal/xine_decoder.c => src/libreal/xine_real_video_decoder.c
2007-04-04Move the Speex decoder from libspeex to libxineadec, as it's a single file.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libspeex/xine_decoder.c => src/libxineadec/xine_speex_decoder.c
2007-04-04Move the Theora decoder from libtheora to libxinevdec, as it's a single file.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libtheora/xine_decoder.c => src/libxinevdec/xine_theora_decoder.c
2007-04-04Move the Vorbis decoder from libvorbis to libxineadec, as it's a single file.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libvorbis/xine_decoder.c => src/libxineadec/xine_vorbis_decoder.c
2007-04-04Rename xine_decoder.c to xine_mad_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libmad/xine_decoder.c => src/libmad/xine_mad_decoder.c
2007-04-04Move the linear pcm decoder from liblpcm to libxineadec, as it's a single file.Diego 'Flameeyes' Pettenò
--HG-- rename : src/liblpcm/xine_decoder.c => src/libxineadec/xine_lpcm_decoder.c
2007-04-04Convert to xineplug_LTLIBRARIES.Diego 'Flameeyes' Pettenò
2007-04-04Rename xine_decoder.c to xine_faad_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libfaad/xine_decoder.c => src/libfaad/xine_faad_decoder.c
2007-04-04Rename xine_decoder.c to xine_dts_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libdts/xine_decoder.c => src/libdts/xine_dts_decoder.c
2007-04-04Rename xine_decoder.c to xine_a52_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/liba52/xine_decoder.c => src/liba52/xine_a52_decoder.c
2007-04-04Rename FFmpeg plugins' sources so that there are no conflicts with other ↵Diego 'Flameeyes' Pettenò
source files. This way when you get a backtrace, video_decoder.c is never the FFmpeg one. --HG-- rename : src/libffmpeg/audio_decoder.c => src/libffmpeg/ff_audio_decoder.c rename : src/libffmpeg/dvaudio_decoder.c => src/libffmpeg/ff_dvaudio_decoder.c rename : src/libffmpeg/mpeg_parser.c => src/libffmpeg/ff_mpeg_parser.c rename : src/libffmpeg/mpeg_parser.h => src/libffmpeg/ff_mpeg_parser.h rename : src/libffmpeg/video_decoder.c => src/libffmpeg/ff_video_decoder.c rename : src/libffmpeg/xine_decoder.c => src/libffmpeg/ffmpeg_decoder.c rename : src/libffmpeg/xine_decoder.h => src/libffmpeg/ffmpeg_decoder.h rename : src/libffmpeg/xine_encoder.c => src/libffmpeg/ffmpeg_encoder.c
2007-04-04Move the flac plugins sources into the combined directory, like wavpack.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libflac/decoder_flac.c => src/combined/decoder_flac.c rename : src/libflac/demux_flac.c => src/combined/demux_flac.c rename : src/libflac/demux_flac.h => src/combined/demux_flac.h
2007-04-04Regenerate; no change in messages.Diego 'Flameeyes' Pettenò
2007-04-04Properly uninstall plugins installed through xineplug_LTLIBRARIES.Diego 'Flameeyes' Pettenò
As we remove the .la files from libtool, the default uninstall targets will not work for the plugins, so we have to remove them by hand. When all the plugins will be migrated to xineplug_LTLIBRARIES, we can remove the egrep call and that part of the code.