summaryrefslogtreecommitdiff
path: root/src/video_out
AgeCommit message (Collapse)Author
2012-05-11mmx_yuv2rgb(): TV set behaviour: contrast affects color difference as wellTorsten Jager
2012-05-11mmx_yuv2rgb() optimizationsTorsten Jager
2012-04-17Improved mmx_yuv2rgb()Torsten Jager
yuv2rgb_mmx.c scales YUV and rounds them down to 8 bits individually before the addition. That causes red and blue to be off by up to 2, green even off by 3. This little patch does the stuff using 10 bits per component, plus correct rounding. There seems to be no noticable impact on performance, but color gradients come out much smoother now.
2012-02-14Merge from 1.1Petri Hintukainen
--HG-- rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
2012-02-14Fix video driver crash when accessing unsupported propertiesTorsten Jager
2012-02-08Merge from 1.2.1-branch.Darren Salt
2012-02-06vdpau: Consider displayed window coordinates when scaling osd overlay objectsAndreas Auras
2012-02-05Merge from 1.1.Darren Salt
--HG-- branch : 1.2.1-branch
2012-02-03Fixed overlay surface reuse issue for raw rgba overlays within vdpau output ↵Andreas Auras
driver.
2012-01-31Make some variables const and/or static; tidy LOCKDISPLAY (stmt/block).Darren Salt
2012-02-02vo_opengl: quick-fix to enable OSD when using fragment shader for YUV ↵Petri Hintukainen
conversion. Proper (HW-accelerated) implementation would use OpenGL texture to blend the OSD directly to RGB video texture.
2012-01-18Merge.Darren Salt
2012-01-12Merge from 1.1Petri Hintukainen
--HG-- rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
2012-01-12Added constPetri Hintukainen
2012-01-12Hide "warning: cast from pointer to integer of different size"Petri Hintukainen
2012-01-12Fixed pointer typePetri Hintukainen
2012-01-12Fixed pointer castPetri Hintukainen
2012-01-12Put lock display calls into macrosAndreas Auras
It's only a cosmetic change. --HG-- extra : rebase_source : a759588226bbc43bca331c746d14ec2e2d84c9a4
2012-01-12Introduce buffering for output surfaces for vdpau output driverAndreas Auras
The current osd and grab logic needs a lot of output surface objects for rendering. The current implementation create and destroy these objects on demand. This patch introduce a new buffer where output surfaces are hold for reuse preventing most of the create and destroy calls. The size of the new buffer could be configured with parameter "video.output.vdpau_output_surface_buffer_size". Default value is 10 surfaces. Possible range is 2...25 To further minimize surface creation and destroy the first n created surfaces get a minimum size according to the actual display and frame size where n is the size of the surface buffer. These first objects will be allocated as rather big surfaces so that they fit for most of the surface requests. This should be considered when choosing higher buffer values. This patch also improves dirty rect handling within osd handling. Now dirty rect information is used even if more than one osd object is displayed at the same time. --HG-- extra : rebase_source : b40e365ab1f81ebdd72b2e1713cf3526d6dd7493
2012-01-12Initially allocate vdpau output surface objects for display queue with ↵Andreas Auras
actual display dimension To minimize output surface reallocation while resizing the video window these output surfaces are now allocated with the actual display dimension. --HG-- extra : rebase_source : 41e16c3f5bc0c66e1c3e63221f0cc38ffe9d08be
2012-01-12Set clipping region of displayed output surfaces to rendered regionAndreas Auras
Because displayed output surfaces are only increased in size when gui window dimension changes the surface size could be greater than the actual gui window size. --HG-- extra : rebase_source : 4f7be362af8ccfe5851900bda095d0949d1c6e15
2012-01-12Fixed usage of wrong variables to determine current gui output window size ↵Andreas Auras
for grab feature of vdpau output driver Fixed usage of wrong variables to determine current gui output window size for grab feature of vdpau output driver --HG-- extra : rebase_source : f605be7e19142756f3ab388e558d8e65e3ddba5d
2012-01-10And the other two similar printf()s.Darren Salt
2012-01-10Fixed printf formatPetri Hintukainen
2012-01-10Fixed include orderPetri Hintukainen
2012-01-03Complete rewrite of vdpau output driver osd handling.Andreas Auras
The new implementation has the following advantages towards the existing one: There is now a unique processing of RLE coded images and ARGB based overlay images. For both formats scaled and unscaled images and a video window are supported. Both formats are rendered now in given order into the same output surface not using a dedicated output surface for scaled, unscaled and ARGB images any more. Processing of YCBCR overlay images now uses corresponding vdpau upload functions eliminating the existing (possible slower) conversation to RGB images. Optimized processing of first overlay from stack avoiding unnecessary surface initialization and rendering operations. Currently the new implementation does only take the dirty rect information of a ARGB overlay into account for optimization if this is the only one object that should be displayed.
2011-12-21Merge from 1.1.Darren Salt
--HG-- rename : src/libdts/xine_dts_decoder.c => src/audio_dec/xine_dts_decoder.c rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c rename : src/combined/demux_flac.c => src/combined/flac_demuxer.c rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c
2011-12-16Hide aliasing problems in xcb pluginsPetri Hintukainen
--HG-- branch : point-release
2011-12-16Removed write-only variablesPetri Hintukainen
--HG-- branch : point-release
2011-12-16Added missing constPetri Hintukainen
--HG-- branch : point-release
2011-12-15Fixed printf formatPetri Hintukainen
--HG-- branch : point-release
2011-12-15xvmc: Fixed using uninitialized data and resource leak (from 9456)Petri Hintukainen
--HG-- branch : point-release
2011-12-15Fixed printf formatPetri Hintukainen
--HG-- branch : point-release
2011-10-17Merge from 1.1Petri Hintukainen
2011-10-15Disable strict-aliasing where it caused compiler warningsChristian Ruppert
2011-10-10Fixed asprintf usagePetri Hintukainen
2011-10-08Build fix for Fedora with external FFmpeg.Jose Alberto Reguero
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-10-03Prefix open_cloexec() and create_cloexec() with xine_, and add new ↵Chris Rankin
xine_socket_cloexec() function.
2011-10-01Mark simple file and socket descriptors as uninheritable.Chris Rankin
This patch creates two utility functions: int open_cloexec(pathname, flags) int create_cloexec(pathname, flags, mode) These return a file descriptor with the CLOEXEC flag set, to ensure that the descriptor is not inherited across a fork/exec operation. The sockets returned by: _x_io_tcp_connect_ipv4() _x_io_tcp_connect() now also have their CLOEXEC flag set.
2011-05-17Merge from 1.1.Darren Salt
--HG-- rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c
2011-05-17Use "quietened" build if automake 1.11 was used.Darren Salt
2011-05-16Remove an excess "{".Darren Salt
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-04-03Fixes backed out changeset 67f59d571138 (still broken)Andreas Auras
2011-03-29Backing out changeset 2dd76b9df2fd (attempt 2)Darren Salt
2011-03-29Backed out changeset 67f59d571138 (broken back-out)Darren Salt
2011-03-28Backing out changeset 2dd76b9df2fdDarren Salt
2011-03-03Configurable enabling of video properties noise and sharpness depending on ↵Andreas Auras
actual video format (SD or HDTV) for vdpau output driver. With the new configuration parameter 'video.output.vdpau_sd_only_properties" enabling of this video properties can be restricted to SD video only. Videos with a frame width < 800 are considered as SD videos. Often noise and sharpness corrections are only necessary for SD videos and are counterproductive to HDTV videos. With the restriction enabled the user do not have to correct these settings each time the format changes. --HG-- extra : rebase_source : 874a98cd3e9fc64084c0b5c2e9a7eec34414db2a
2011-03-03Optimization of vdpau output driver provide standard frame data function.Andreas Auras
According to the nvidia vdpau documentation for the used formats in this function there are no needs for special alignment for the fetched bitmap images . Thus we can fetch the image data directly to the supplied image buffer avoiding heap memory allocation and additional copying of image data. --HG-- extra : rebase_source : 0956eab8cd2f23ecc1452aa5ecc3db27fca635b9