summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2009-01-16Merge from 1.1.Darren Salt
--HG-- rename : src/libmpeg2new/Makefile.am => src/video_dec/libmpeg2new/Makefile.am
2009-01-16libmpeg2new/include wasn't being included in tarbals.Darren Salt
2009-01-16Merge from 1.1.Darren Salt
2009-01-16Terminate the supported types list...Darren Salt
2009-01-16Merge ffmeg codecs list creation rework from 1.1 with adaptations.Darren Salt
There are no CONFIG_*_DECODER macros, so don't write the #ifdefs for them. Instead, check the avcodec version number if requested ("config=foo=51,50,1"). Also, allow for AV_VERSION_INT being undefined.
2009-01-16Rework ffmpeg codecs lists creation.Darren Salt
This is intended to make it easier to add new codecs without breaking compilation with older ffmpeg and to see which codecs need to be added.
2009-01-15Merge from 1.1, but neither distribute nor include by default xine_mmx.h.Darren Salt
--HG-- rename : doc/faq/faq.sgml => doc/faq/faq.docbook rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
2009-01-15Prepare for xine_mmx.h.Darren Salt
2009-01-15Split most of the MMX declarations in xineutils.h out into xine_mmx.h.Darren Salt
This does not incompatibly change the API and has no effect on the ABI. --HG-- rename : src/xine-utils/xineutils.h => src/xine-utils/xine_mmx.h
2009-01-14Merge from 1.1.Darren Salt
--HG-- rename : src/libxinevdec/image.c => src/video_dec/image.c
2009-01-14Avoid printing "plugin foo found" if the filename is null.Darren Salt
(Bug 182)
2009-01-12Merge from 1.1.Darren Salt
--HG-- rename : src/libmpeg2new/Makefile.am => src/video_dec/libmpeg2new/Makefile.am rename : src/libmpeg2new/xine_mpeg2new_decoder.c => src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c
2009-01-12Enable libmpeg2new & clean it up. libmpeg2 remains preferred.Darren Salt
2009-01-12Move libmpeg2new into src/video_dec.Darren Salt
--HG-- rename : src/libmpeg2new/Makefile.am => src/video_dec/libmpeg2new/Makefile.am rename : src/libmpeg2new/include/Makefile.am => src/video_dec/libmpeg2new/include/Makefile.am rename : src/libmpeg2new/include/alpha_asm.h => src/video_dec/libmpeg2new/include/alpha_asm.h rename : src/libmpeg2new/include/attributes.h => src/video_dec/libmpeg2new/include/attributes.h rename : src/libmpeg2new/include/mmx.h => src/video_dec/libmpeg2new/include/mmx.h rename : src/libmpeg2new/include/mpeg2.h => src/video_dec/libmpeg2new/include/mpeg2.h rename : src/libmpeg2new/include/mpeg2convert.h => src/video_dec/libmpeg2new/include/mpeg2convert.h rename : src/libmpeg2new/include/sse.h => src/video_dec/libmpeg2new/include/sse.h rename : src/libmpeg2new/include/tendra.h => src/video_dec/libmpeg2new/include/tendra.h rename : src/libmpeg2new/include/video_out.h => src/video_dec/libmpeg2new/include/video_out.h rename : src/libmpeg2new/include/vis.h => src/video_dec/libmpeg2new/include/vis.h rename : src/libmpeg2new/libmpeg2/Makefile.am => src/video_dec/libmpeg2new/libmpeg2/Makefile.am rename : src/libmpeg2new/libmpeg2/alloc.c => src/video_dec/libmpeg2new/libmpeg2/alloc.c rename : src/libmpeg2new/libmpeg2/configure.incl => src/video_dec/libmpeg2new/libmpeg2/configure.incl rename : src/libmpeg2new/libmpeg2/convert_internal.h => src/video_dec/libmpeg2new/libmpeg2/convert_internal.h rename : src/libmpeg2new/libmpeg2/cpu_accel.c => src/video_dec/libmpeg2new/libmpeg2/cpu_accel.c rename : src/libmpeg2new/libmpeg2/cpu_state.c => src/video_dec/libmpeg2new/libmpeg2/cpu_state.c rename : src/libmpeg2new/libmpeg2/decode.c => src/video_dec/libmpeg2new/libmpeg2/decode.c rename : src/libmpeg2new/libmpeg2/header.c => src/video_dec/libmpeg2new/libmpeg2/header.c rename : src/libmpeg2new/libmpeg2/idct.c => src/video_dec/libmpeg2new/libmpeg2/idct.c rename : src/libmpeg2new/libmpeg2/idct_alpha.c => src/video_dec/libmpeg2new/libmpeg2/idct_alpha.c rename : src/libmpeg2new/libmpeg2/idct_altivec.c => src/video_dec/libmpeg2new/libmpeg2/idct_altivec.c rename : src/libmpeg2new/libmpeg2/idct_mlib.c => src/video_dec/libmpeg2new/libmpeg2/idct_mlib.c rename : src/libmpeg2new/libmpeg2/idct_mmx.c => src/video_dec/libmpeg2new/libmpeg2/idct_mmx.c rename : src/libmpeg2new/libmpeg2/libmpeg2.pc.in => src/video_dec/libmpeg2new/libmpeg2/libmpeg2.pc.in rename : src/libmpeg2new/libmpeg2/libmpeg2convert.pc.in => src/video_dec/libmpeg2new/libmpeg2/libmpeg2convert.pc.in rename : src/libmpeg2new/libmpeg2/motion_comp.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp.c rename : src/libmpeg2new/libmpeg2/motion_comp_alpha.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_alpha.c rename : src/libmpeg2new/libmpeg2/motion_comp_altivec.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_altivec.c rename : src/libmpeg2new/libmpeg2/motion_comp_mlib.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_mlib.c rename : src/libmpeg2new/libmpeg2/motion_comp_mmx.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_mmx.c rename : src/libmpeg2new/libmpeg2/motion_comp_vis.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_vis.c rename : src/libmpeg2new/libmpeg2/mpeg2_internal.h => src/video_dec/libmpeg2new/libmpeg2/mpeg2_internal.h rename : src/libmpeg2new/libmpeg2/rgb.c => src/video_dec/libmpeg2new/libmpeg2/rgb.c rename : src/libmpeg2new/libmpeg2/rgb_mmx.c => src/video_dec/libmpeg2new/libmpeg2/rgb_mmx.c rename : src/libmpeg2new/libmpeg2/rgb_vis.c => src/video_dec/libmpeg2new/libmpeg2/rgb_vis.c rename : src/libmpeg2new/libmpeg2/slice.c => src/video_dec/libmpeg2new/libmpeg2/slice.c rename : src/libmpeg2new/libmpeg2/uyvy.c => src/video_dec/libmpeg2new/libmpeg2/uyvy.c rename : src/libmpeg2new/libmpeg2/vlc.h => src/video_dec/libmpeg2new/libmpeg2/vlc.h rename : src/libmpeg2new/xine_mpeg2new_decoder.c => src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c
2009-01-12Fix build of directx VO plugin.František Dvořák
Update for build with newer mingw compilation tools.
2009-01-12Fixed lvalue cast error (build with newer mingw compilation tools).František Dvořák
2009-01-11Merge from 1.1.Darren Salt
--HG-- rename : src/libmpeg2/motion_comp.c => src/video_dec/libmpeg2/motion_comp.c
2008-11-29Use a regular int instead of MagickBoolType and assume 0 for MagickFalse.Loïc Minier
2009-01-14Fix building against ImageMagick 6.4.5Robin H. Johnson
Date: Tue Nov 18 2008 00:57:00 +0000 Upstream ImageMagick changed part of the API and did not update their deprecated support stuff, so bump us along for now to avoid having to downgrade.
2008-11-22Access to cddb cache brokenMatthias
2009-01-11Merge from 1.1, dropping the build fix for old libavcodec.Darren Salt
--HG-- rename : doc/faq/faq.sgml => doc/faq/faq.docbook
2009-01-11Merge.Darren Salt
2009-01-11Reapply cset ffb2e82d7bb7 (accidental removal by this cset's parent).Darren Salt
2009-01-11Merge.Darren Salt
2009-01-11Fix PTS tagging: large (negative) PTS values are a result of turning it off ↵Reinhard Nißl
to early The current code turns of PTS tagging as soon as a match is found. But depending on picture reordering, there may be later frames which still have the tag. The result is that most likely the highest bit is set which makes the PTS values large negative numbers which cause a clock error and make streams unplayable. To fix this issue, a stable counter is introduced. The two passes of PTS tagging are now switched after the tag has been seen stable for 100 frames. This should protect us from picture reordering issues. --HG-- extra : transplant_source : I%2A%BBi%A5nb/%5E%12%9Ay%7B%BAj%7D%0B%16%0By
2009-01-10Cast away some compiler warnings.Reinhard Nißl
2009-01-10Fix faked preview data to avoid demuxer warning.Reinhard Nißl
2009-01-10Fix locking issues in startup phase which could lead to disconnects.Reinhard Nißl
input_vdr's RPC thread needs to lock frontend. But frontend is also locked during xine_open() and xine_play(). xine_play() furthermore waits up to 10 seconds for the decoder to return the first frame. So it is unlikely that the RPC thread can lock the frontend to execute VDR's commands before VDR sends the first frame. Finally the RPC thread gave up locking the frontend after 5 seconds and the connect to VDR failed. To fix this issue, the RPC commands during startup phase are now handled by the thread which has called xine_open() as it already owns the frontend lock.
2009-01-08Fix build with libavcodec < 51.68.0.Darren Salt
This covers the internal snapshot and the version in Debian lenny.
2009-01-07Merge.Darren Salt
2009-01-05Merge security fixes from 1.1.Darren Salt
--HG-- rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c
2009-01-05Fix for CVE-2008-5234(1).Darren Salt
2009-01-05Merge security fixes.Darren Salt
2009-01-04Introduce XVMC_LOCKDISPLAY_SAFE to solve deadlocks in certain xxmc ↵Reinhard Nißl
implementations. Some implementations are buggy and lock resources (for example the display or internal data structures) in different order, which results in deadlocks. As XVMC_LOCKDISPLAY_SAFE is not defined by default, most API functions will now be guarded by a LockDisplay()/UnlockDisplay() pair, which imposes a lock order at least for the resource display and hence avoids those deadlocks.
2009-01-04Remove empty xine_get_video_frame() which has been removed from the API.Reinhard Nißl
2009-01-04Merge from 1.1.Darren Salt
2009-01-04Introduce XVMC_LOCKDISPLAY_SAFE to solve deadlocks in certain xxmc ↵Reinhard Nißl
implementations. Some implementations are buggy and lock resources (for example the display or internal data structures) in different order, which results in deadlocks. As XVMC_LOCKDISPLAY_SAFE is not defined by default, most API functions will now be guarded by a LockDisplay()/UnlockDisplay() pair, which imposes a lock order at least for the resource display and hence avoids those deadlocks. (transplanted from 580a2a9148618131cedfbc9058ac7979ca16f69b) --HG-- extra : transplant_source : X%0A%2A%91Ha%811%CE%DF%BC%90X%ACyy%CA%16%F6%9B
2009-01-04fake some data to make demuxer auto detection workLudwig Nussel
2009-01-04use compiled in default for fifo dir if none specified.Ludwig Nussel
This way one can just run xine vdr://
2009-01-04Implement new features for vdr-xine-0.9.0.Reinhard Nißl
2009-01-04At discontinuity all stored PTS values need to be reset to 0, as they are ↵Reinhard Nißl
now invalid. But as PTS values are stored in FFmpeg's decoder, there is no way to reset them to 0. Therefore PTS tagging has been introduced. At discontinuity a tag is generated and applied to all new PTS values. Any returned PTS value is checked for this tag and outdated PTS values are reset to 0. When the tag appears on returned PTS values then tagging is reset.
2009-01-04Fix WAV demuxer to send the last frames when they don't fit perfectly into ↵Matthias Kretz
the buffer
2009-01-04Feed buffer PTS through FFmpeg's decoder to have them reordered to display ↵Reinhard Nißl
order. Attaching buffer PTS, which are in decoding order, to decoded images is simply wrong. FFmpeg meanwhile provides a way to pass PTS values through its decoder too. As a result they get reordered to display order and can be attached to the decoded frames.
2009-01-02configurable parameter for tvtime pulldown sync sensitivityJason Tackaberry
Currently, once the tvtime plugin has locked onto a telecine pattern, it will wait PULLDOWN_ERROR_WAIT (a hardcoded #defined value) number of frames before switching to filmmode. This sensitivity is excessively high (i.e. the value is too low) for certain content -- the kind of content that was shot on film but edited in video mode, so telecine patterns are constantly breaking (examples like Buffy, Simpsons and Family Guy are especially egregious offenders). The attached patch turns this constant into a modifiable post plugin parameter called pulldown_error_wait. Xine helpfully emits a XINE_EVENT_POST_TVTIME_FILMMODE_CHANGE event when film mode changes (a patch I submitted some years back). With the attached patch, a front-end can monitor the frequency of these events, and dynamically adjust pulldown_error_wait in a sensible way.
2009-01-02Merge from 1.1.Darren Salt
--HG-- rename : include/xine.h.in => include/xine.h rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
2009-01-02Extend OSD framework by ARGB layer and custom extent specification.Reinhard Nißl
The ARGB layer is based on the idea and scratch implementation of Julian Scheel. Each OSD object may be associated with a client ARGB buffer which holds the content of the OSD, hence there is no need to copy the buffer content. So far an OSD's reference coordinate system was defined by coded video resolution. By specifing an OSD's extent, capable hardware or software implementations my scale an arbitrarily sized OSD to the video output area while blending. Additional constants have been defined to allow vo_drivers to report their capabilities and to allow clients to check whether an OSD implementation supports these new features.
2009-01-02Prevent another possible hang on stream stop (demuxer waiting for audio out).Darren Salt
The test stream sometimes causes the ASF demuxer to report "unknown GUID" several times then act as if the headers have been received, with the audio output thread waiting forever for data to be passed to it by the decoder, in this case the ffmpeg audio decoder. This particular hang occurs if playback is stopped before the demuxer has decided that headers have been received (later, and we'd have the problem which the parent cset of this cset fixes); having the demuxer control insert empty audio buffers where it would otherwise wait forever for the audio output thread to receive some data. Test stream: mmsh://213.92.19.8:80/radiodeejay?MSWMExt=.asf
2009-01-02ff_audio_decode_data() doesn't always return if the stream is closed or ↵Lorenzo Desole
playback stopped.
2009-01-01libmms does not handle percent-encoded uriNiels Vorgaard Christensen
libmms will always fail to request media with URIs containing percent-encoded characters. This is because the path component in the MMS URI should be decoded before it is sent to the server. http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-MMSP%5D.pdf (page 48)
2008-12-31check number of bytes read by input->read in demuxing mpeg block/pesMatthias Hopf
input->read may return negative error codes or read less than we want so we should check for the right return value instead of just not 0