summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-04-12Merge some code for still frame detection.Reinhard Nißl
2007-04-12Disable bob deinterlacing on a per frame decision.Reinhard Nißl
There are some situations where bob deinterlacing doesn't make much sense, as the effect doesn't work for example for slow motion. And in fast motion mode, the sleep between displaying the two fields lowers the reachable fast motion frame rate. Another annoying effect is the reduction in vertical resolution for still images. The changed code tries to detect such issues and disables bob deinterlacing for such frames. The detection of still images is still to come.
2007-04-12Make bob deinterlacing more precisely and skip it on demand.Reinhard Nißl
Bob deinterlacing is implemented as showing the top field, sleeping for half the frame duration and showing the bottom field. Most drivers tend to synchronize displaying a field on the VBI and thus displaying a field may take up to half the frame duration in certain cases. According to the original code, the sleep took always half the frame duration and therefore the second field could get displayed too late. As a result, the driver was syncing to VBI most often, so that things got even worse. The changed code now calculates the sleep time in a way that the second field gets displayed half the frame duration after the first field. Moreover, it monitors how much time was spent to display the first field and when this time exceeds 75 % of the field time (= half the frame time), it skips displaying the second field, as usually this is an indicator that the driver has no more frame buffers left. So displaying the second field would just make things go worse.
2007-04-12Avoid keeping frames referenced which are nolonger used.Reinhard Nißl
The current implementation keeps references to VO_NUM_RECENT_FRAMES frames (for deinterlacing), but doesn't make any use of them. As many XXMC capable devices only supply 8 frames at all, keeping fewer frames referenced makes more available for decoding and thus avoids frame drops by keeping the number of frames which are ready for display more often above frame_drop_limit.
2007-04-12Let xxmc switch back to an unaccelerated context.Reinhard Nißl
The current code misses the ability to switch back to an unaccelerated context, e. g. when previously MPEG2 material was displayed which is then followed by H.264 material. As the latter is not handled as XINE_IMGFMT_XXMC there was no way to leave the accelerated context and therefore the images did not appear on screen.
2007-04-12Provide a function to query buffer usage.Reinhard Nißl
This function shall be used to poll the number of remaining frames from a certain point in time on until the reported numbers are all 0. At that point in time, the content on screen is identical to a certain state of the stream, at which for example, a hardcopy may be taken.
2007-04-12Extend ticket system for nonblocking ticket acquiries.Reinhard Nißl
The current code has a race condition which can block arbitrary threads that call for example xine_get_current_frame() until the stream gets unpaused again. This can happen when the internal ticket acquiration collides with a ticket revokation for example when another thread is going to pause the stream. There are a few situations where a port ticket needs to be acquired for calling a port function but where it is absolutely undesireable to get blocked for an undetermined period of time. Therefore the ticket system should be extended by nonblocking functions which allow ticket acquiration even when a ticket revokation is in progress. And in the case where blocking is not avoidable, it should simply be indicated that no ticket was acquired. The caller can then choose to repeat the call at a later point in time.
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-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-07Revert changeset 8383: variable-sized structures and arrays don't seem to ↵Diego 'Flameeyes' Pettenò
get along that well.
2007-04-06Remove executable status from all files which shouldn't have it.Darren Salt
2007-04-06Remove a redundant comment.Diego 'Flameeyes' Pettenò
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-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-04Fix xine_encoder.c presence in EXTRA_DIST.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-04Reorder and pack the structures that are defined inside compilation units ↵nopadding_no_abi_changeDiego 'Flameeyes' Pettenò
instead of headers (and thus are not part of public ABI).
2007-04-04Use a variable-sized array for the name of the buffer type.Diego 'Flameeyes' Pettenò
2007-04-04Make sure that early_finish_event and gapless_switch are either 0 or 1.Diego 'Flameeyes' Pettenò
2007-04-04Check for previous swap32 definition before writing a new swap32 function.Pascal S. de Kloe
2007-04-04Cleanup check for WIN32, use #elif rather than #else/#ifdef.Pascal S. de Kloe
2007-04-04Check for sys/dvdio.h, and use that if found, rather than having a check for ↵Diego 'Flameeyes' Pettenò
the BSDs. Thanks to Pascal S. de Kloe for pointing at this.
2007-04-04When EOVERFLOW is not defined, use EINVAL instead.Pascal S. de Kloe
2007-04-04Use size_t for samples and seconds data in Sun audio plugin.Pascal S. de Kloe
2007-04-04Check for audio_info_t.output_muted member, rather than assuming it's not ↵Diego 'Flameeyes' Pettenò
available on NetBSD only. With this, it's not needed to check for OpenBSD too. Thanks to Pascal S. de Kloe for pointing at it.
2007-04-03Inverse logic, check for NDEBUG not being defined rather than DEBUG being ↵Diego 'Flameeyes' Pettenò
defined (this follows assert() way of working).
2007-04-03Rationalise use of .hgignore, removes a bunch of files that only ignored ↵Diego 'Flameeyes' Pettenò
automake-related files.