summaryrefslogtreecommitdiff
path: root/include/xine
AgeCommit message (Collapse)Author
2013-01-21rgb2yuy2: added 16/15/8 bit formatsTorsten Jager
2013-01-17VAAPI decoder and video output plugin from ↵Petri Hintukainen
https://github.com/huceke/xine-lib-vaapi
2012-12-05color.c: direct rgb->yuy2 converterTorsten Jager
2012-10-29input_test: added full range color test videoTorsten Jager
2012-05-29Do not access master metronom data directly.Petri Hintukainen
Fixes problem with custom metronoms and metronom wrappers.
2012-06-29Add color matrix support to video out interfaceTorsten Jager
2012-06-11Added VO_PROP_MAX_VIDEO_WIDTH and VO_PROP_MAX_VIDEO_HEIGHTPetri Hintukainen
2012-05-29Merge from 1.1Petri Hintukainen
--HG-- rename : src/xine-utils/attributes.h => include/xine/attributes.h
2012-05-29Check if compiler supports __attribute__((weak))Carlo Bramini
2012-03-29Detect CPU/OS support for SSE3, SSSE3, SSE4, SSE42 and AVXPetri Hintukainen
2012-03-28add access to audio engine gapLACARRIERE Jerome
2012-02-15Merge from 1.1.Darren Salt
--HG-- rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
2012-02-14Merge from 1.1Petri Hintukainen
--HG-- rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
2012-01-18Merge from 1.1.Darren Salt
--HG-- rename : include/xine.h.in => include/xine.h rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h rename : src/combined/ffmpeg/ffmpeg_encoder.c => src/dxr3/ffmpeg_encoder.c
2011-12-15Merge from 1.1Petri Hintukainen
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h
2011-12-15Marked xine_get_autoplay_mrls() and get_autoplay_list()'s return value constPetri Hintukainen
2011-10-17Merge from 1.1Petri Hintukainen
--HG-- rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
2011-10-11Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/post.h => include/xine/post.h rename : po/libxine1.pot => po/libxine2.pot
2011-10-06Merge from 1.1.Darren Salt
--HG-- rename : src/xine-utils/attributes.h => include/xine/attributes.h
2011-10-05Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
2011-10-04Merge from 1.1.Darren Salt
--HG-- rename : src/xine-utils/attributes.h => include/xine/attributes.h rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
2011-09-26Merge from 1.1. (Needs some testing.)Darren Salt
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h
2011-08-23Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c rename : src/libspuhdmv/xine_hdmv_decoder.c => src/spu_dec/spuhdmv_decoder.c
2011-03-29Continuous video frame grabbing feature.Andreas Auras
In opposite to the 'xine_get_current_frame' based snapshot function this grabbing feature allow continuous grabbing of last or next displayed video frame. Grabbed video frames are returned in simple three byte RGB format. Depending on the capabilities of the used video output driver video image data is taken as close as possible at the end of the video processing chain. Thus a returned video image could contain the blended OSD data, is deinterlaced, cropped and scaled and video properties like hue, sat could be applied. With this patch such a decent grabbing feature is implemented for vdpau video out driver. If a video output driver does not have a decent grabbing implementation then there is a generic fallback feature that grabs the video frame as they are taken from the video display queue (like the xine_get_current_frame' function). In this case color correct conversation to a RGB image incorporating source cropping and scaling to the requested grab size is also supported. A more detailed description can be found in file "xine.h".
2011-03-13Implement additional VDR key User0.Reinhard Nißl
--HG-- extra : rebase_source : ce0547448abc3011feea54401c3e46702fbe6f11
2011-02-06Fix argb_layer handling in xine-libs OSD stack.Reinhard Nißl
xine-libs OSD stack is event driven and some memory blocks are not copied but responsibility to free the memory moves to different layers of the OSD stack. When argb_layer was introduced, this behavior was not taken into account and as such it is likely that for example osd_free_object() frees the argb_layer while vdpau_overlay_* functions still access the memory. Passing responsibility for the argb_layer is not that easy as it seems as the design goal of the argb_layer was to not duplicate any memory of the argb_buffer which all other OSD functions usually do. To solve this issue, argb_layer_t will be turned into a managed data structure by introducing a ref_count member. ref_count increases as more layers of the OSD stack hold a reference to that memory block, and it decreases when they are no longer interested in it. When ref_count reaches zero the memory block is freed automatically. To deal with ref counting, set_argb_layer_ptr() has been introduced. Some functions of the OSD layers had to be modified to deal with reference tracking. For convinience, osd_free_object() should clear the argb_buffer pointer so that the buffer may be freed safely after returning.
2011-01-22Provide _x_query_buffers() to allow analyzing buffer usage by pluginsReinhard Nißl
This function is similar to _x_query_buffer_usage() but retrieves also the total and available (= free) number of buffers besides the number of buffers ready for processing. For example if one wants to create a buffering algorithm based on the number of frames ready, it's not that easy to determine the maximum number of ready frames possible. In case one configures engine.buffers.video_num_frames:50 it may happen, that only 30 frames can actually be provided by the video out driver. Next a video codec like H.264 may hold several frames in its display picture buffer so that you may end up with only 13 ready frames at maximum. At the same time, the number of available (= free) frames will be 0 (or almost zero in case of vo). So it may be even easier to base the buffer algorithm on the number of free buffers. The reported numbers may also reveal that too few input buffers have been provided to compensate a large a/v offset at input stage. --HG-- extra : rebase_source : 255cb186891fbab5199a99031cf1b1e93ac19923
2010-05-21Check for mpeg4-part2 vdpau hardware support.Christophe Thommeret
2010-04-08Add two new VO_CAP_*: SHARPNESS and NOISE_REDUCTION. Fix vdpau VO driver caps.Christophe Thommeret
2010-04-08Typo fix.Darren Salt
2010-04-08Merge from 1.1.Darren Salt
--HG-- rename : include/xine.h.in => include/xine.h rename : src/xine-engine/video_out.h => include/xine/video_out.h
2010-03-24Merge from 1.1.Darren Salt
--HG-- rename : doc/hackersguide/internals.sgml => doc/hackersguide/internals.docbook rename : doc/hackersguide/library.sgml => doc/hackersguide/library.docbook rename : include/xine.h.in => include/xine.h rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
2010-02-23Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c
2009-09-14Protected access to stream->demux_action_pendingIan Rae
The deadlock was caused by the unprotected use of stream->demux_action_pending internal variable from play_internal() and from within the demuxer loop. Direct access to demux_action_pending is replaced with _x_action_raise() and _x_action_lower(), which use a mutex for thread safety.
2010-01-14Don't deinterlace still framesChristophe Thommeret
still frames are marked by the decoder and the video_out will not deinterlace if the flag is set.
2010-01-08Merge from 1.2 main.Darren Salt
2010-01-06Update to libxdg-basedir 1.0.2; adapt accordingly, and default to external.Darren Salt
2009-12-17Merge from 1.2 main.Darren Salt
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-11-20Merge from 1.1; merge vdpau (with adjustments for 1.2).Darren Salt
--HG-- rename : include/xine.h.in => include/xine.h rename : src/xine-engine/osd.h => include/xine/osd.h rename : src/xine-engine/video_out.h => include/xine/video_out.h rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c rename : src/libvdpau/Makefile.am => src/video_dec/libvdpau/Makefile.am rename : src/libvdpau/bits_reader.h => src/video_dec/libvdpau/bits_reader.h rename : src/libvdpau/dpb.c => src/video_dec/libvdpau/dpb.c rename : src/libvdpau/dpb.h => src/video_dec/libvdpau/dpb.h rename : src/libvdpau/h264_parser.c => src/video_dec/libvdpau/h264_parser.c rename : src/libvdpau/h264_parser.h => src/video_dec/libvdpau/h264_parser.h rename : src/libvdpau/nal.c => src/video_dec/libvdpau/nal.c rename : src/libvdpau/nal.h => src/video_dec/libvdpau/nal.h rename : src/libvdpau/vdpau_h264.c => src/video_dec/libvdpau/vdpau_h264.c rename : src/libvdpau/vdpau_mpeg12.c => src/video_dec/libvdpau/vdpau_mpeg12.c rename : src/libvdpau/vdpau_vc1.c => src/video_dec/libvdpau/vdpau_vc1.c
2009-11-05Merge from 1.1 (with adaptations).Darren Salt
--HG-- rename : src/xine-engine/scratch.h => include/xine/scratch.h rename : src/xine-utils/xmllexer.h => include/xine/xmllexer.h rename : src/xine-utils/xmlparser.h => include/xine/xmlparser.h rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c rename : src/libspuhdmv/xine_hdmv_decoder.c => src/spu_dec/spuhdmv_decoder.c
2009-10-10Merge from 1.1, with adaptations and renaming (as needed).Darren Salt
Note that the Matroska and Bluray changes have only been compile-tested. --HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/libspuhdmv/xine_hdmv_decoder.c => src/spu_dec/spuhdmv_decoder.c
2009-06-11Provide framework to define a video output area within the OSD area.Reinhard Nißl
The supplied functions and constants allow to define a video output area (called video window) within the OSD area to show for example a small preview of the current channel in the top right corner while zapping through the channel list displayed as OSD. A VDPAU enabled xine-lib implements VO_CAP_VIDEO_WINDOW_OVERLAY already.
2009-04-26Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c
2009-04-12Prepare input_vdr for VDR 1.7.5's requirements on returned STC.Reinhard Nißl
VDR 1.7.5 requires that STC should be near to a previously transmitted PTS value. We cannot hold this requirement immediately after a discontinuity as the currently displayed image's vpts time (which originated before the discontinuity) will be transformed to STC by applying the new vpts offset established at discontinuity. Therefore, a queue of vpts offset pairs is created and at discontinuity the current offset is stored there in combination with the vpts value up to which it has to be used. When retrieving a STC value, we lookup the offset to use from current vpts and therefore get a STC near to an originating PTS value. As VDR requires this quality of STC values also for its trickspeed modes, it is nolonger possible to simply set PTS of incoming frames to 0 to schedule them just after the previous frame. Therefore a discontinuity is generated for each frame in trickspeed mode, which allows us to schedule each frame immediately after the previous one while there may be gaps in PTS values. As a result the above mentioned code will take care to provide proper STC values even in VDR's trickspeed modes.
2009-02-10Merge from 1.1.Darren Salt
--HG-- rename : doc/faq/faq.sgml => doc/faq/faq.docbook rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
2009-01-18Merge from 1.1.Darren Salt
--HG-- rename : src/libxineadec/gsm610/long_term.c => contrib/gsm610/long_term.c rename : src/libxineadec/gsm610/lpc.c => contrib/gsm610/lpc.c rename : src/libxineadec/gsm610/rpe.c => contrib/gsm610/rpe.c rename : src/libxineadec/gsm610/short_term.c => contrib/gsm610/short_term.c rename : src/libfaad/common.h => contrib/libfaad/common.h rename : src/xine-engine/broadcaster.h => include/xine/broadcaster.h rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/xine-engine/refcounter.h => include/xine/refcounter.h rename : src/xine-engine/video_out.h => include/xine/video_out.h rename : src/xine-engine/vo_scale.h => include/xine/vo_scale.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h rename : src/libxineadec/fooaudio.c => src/audio_dec/fooaudio.c rename : src/liba52/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/audio_dec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/audio_dec/xine_faad_decoder.c rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/audio_dec/xine_musepack_decoder.c rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/libspucc/cc_decoder.c => src/spu_dec/cc_decoder.c rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c rename : src/libspudec/spu.c => src/spu_dec/spudec.c rename : src/libspudec/spu.h => src/spu_dec/spudec.h rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c rename : src/libspucc/xine_cc_decoder.c => src/spu_dec/xine_cc_decoder.c rename : src/libxinevdec/bitplane.c => src/video_dec/bitplane.c rename : src/libxinevdec/foovideo.c => src/video_dec/foovideo.c rename : src/libxinevdec/gdkpixbuf.c => src/video_dec/gdkpixbuf.c rename : src/libxinevdec/image.c => src/video_dec/image.c rename : src/libmpeg2/slice_xvmc_vld.c => src/video_dec/libmpeg2/slice_xvmc_vld.c rename : src/libmpeg2/xine_mpeg2_decoder.c => src/video_dec/libmpeg2/xine_mpeg2_decoder.c rename : src/libmpeg2new/include/Makefile.am => src/video_dec/libmpeg2new/include/Makefile.am rename : src/libmpeg2new/libmpeg2/motion_comp_vis.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_vis.c rename : src/libmpeg2new/xine_mpeg2new_decoder.c => src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c rename : src/libxinevdec/rgb.c => src/video_dec/rgb.c rename : src/libxinevdec/yuv.c => src/video_dec/yuv.c
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-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-04Implement new features for vdr-xine-0.9.0.Reinhard Nißl