Age | Commit message (Collapse) | Author |
|
Fix highlight area and buffer overflows.
|
|
|
|
BTW. Happy 2014 to you!
Didnt think xine will survive this far :-)
And yes, I finally got an ffmpeg patch through. That kind of rounds the circle :-)
|
|
I stumbled upon something - the green orange transform :-)
No, it is not lossless as some publications say. Instead, like traditional
YCbCr it maps the RGB color cube to a pyramid with a central symmetric
hexagonal base. Roughly 80% of color depth gets lost this way. The green
resolution is again worse than ITU-R 709.
It will probably not replace traditional YCbCr. It is incompatible with
existing video equipment, and it lacks an mpeg range mode needed for live editing.
However, if you can live without video equalizer, it makes an interesting
alternative for slow devices like smartphones.
Anyway, just if someone likes...
|
|
|
|
credentials
|
|
|
|
|
|
(Do not use input_cache plugin)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
script execution time: 55"
|
|
|
|
https://github.com/huceke/xine-lib-vaapi
|
|
|
|
|
|
Fixes problem with custom metronoms and metronom wrappers.
|
|
|
|
|
|
--HG--
rename : src/xine-utils/attributes.h => include/xine/attributes.h
|
|
|
|
|
|
|
|
|
|
|
|
--HG--
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
|
|
--HG--
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
|
|
|
|
--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
|
|
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.
|
|
--HG--
rename : src/xine-engine/buffer.h => include/xine/buffer.h
|
|
|
|
--HG--
rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
|
|
--HG--
rename : src/xine-engine/post.h => include/xine/post.h
rename : po/libxine1.pot => po/libxine2.pot
|
|
--HG--
rename : src/xine-utils/attributes.h => include/xine/attributes.h
|
|
--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
|
|
--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
|
|
--HG--
rename : src/xine-engine/buffer.h => include/xine/buffer.h
|
|
--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
|
|
|
|
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".
|
|
--HG--
extra : rebase_source : ce0547448abc3011feea54401c3e46702fbe6f11
|
|
--HG--
rename : include/xine.h.in => include/xine.h
|
|
|
|
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.
|