Age | Commit message (Collapse) | Author |
|
recalculation of displayed window.
This issue comes up when a post plugin only changes the cropping parameters of a frame without changing width, height or ratio of the frame.
|
|
|
|
|
|
|
|
These drivers use "NV* Video Texture" instead of "* Textured Video".
|
|
|
|
|
|
--HG--
extra : transplant_source : %A0%EE%CC%FA%D3%AF2%8B%96%1F%B1%8E%00%01%96%8E%9E%AC%93Y
|
|
Add warning flags to the DEBUG_CFLAGS too.
|
|
This uses the adapter names reported by the X 2D graphics driver.
(Transplanted from 8c06e053c6dbb2f31c004f6eb615ebbf3f67d667)
|
|
(Transplanted from f03669a2395d97a3e40615db1089af084a69d299)
|
|
(Transplanted from 574fefcee8b1b6456fd8dc9c06191cf4622f07eb)
|
|
Also, a few trivial constness cleanups.
(Transplanted from 3ede88232fd45bca91eb0b1cfa2d70de040cadb8)
|
|
(Transplanted from ec0d80a280e90494306023b66e5917209b2c4155)
|
|
|
|
Use the proper function for common memory operations (memset() for
zeroing, memcpy() for copying, memmove() for moving), instead of
looping through arrays.
By extension, remove loops to reset arrays when they were allocated
with calloc() and thus already zeroed.
|
|
The xine_xmalloc() function is going to be deprecated, as its
behaviour is rarely needed as such, and it's thus misused.
With this, almost all uses of xine_xmalloc() with static size (for
instance the value returned by sizeof()) or with a size that is
guaranteed not to be zero (like strlen()+1) are replaced with calls to
either calloc(1, ...) or malloc().
malloc() is used whenever the allocated memory is going to be
immediately overwritten, while calloc() is used in every other case,
as it sets the whole memory area to zero.
--HG--
extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
|
|
|
|
Some instances of "key colour" remain; ffmpeg is unmodified.
This change has caused two strings with two translations to collide (the
strings have become identical since some instances already used "colour").
I have therefore arbitrarily dropped the first of the differing translations,
the one for the string at src/video_out/video_out_directfb.c:1365.
|
|
--HG--
extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
|
|
For contributed code, leave whatever the version we last synced for is using
to make simpler future syncs.
|
|
These cheats where hiding a frame allocation bug in FFmpeg decoder
which was previously fixed.
|
|
It happend that the previously shown frame was still on screen
while the decoder reused it already and the result was a mixed
picture on screen.
Protection is easy: just keep a reference to previously shown
frame and it cannot be reused by the decoder until a frame
duration has passed which should be sufficient to see the
current frame on screen.
Such referencing has already been implemented although it was
not used for deinterlacing. Therefore it had been disabled to
get an additional frame for decoding in coping with dropped
frames.
The change reenables referencing the previously shown frame.
|
|
While disabling for progressive frames was ment to improve DVD
playback, it turned out that many TV broadcasters set this flag
too, although their content is not progressive.
Adding an option allows the user now to enable this feature when
the watched streams make correct use of this flag.
Another option allows to disable bob deinterlacing when a scaled
OSD is on screen. As bobbing adds some noise to horizontal lines
the OSD quality might be improved by enabling this option.
|
|
When xine-ui switches to fullscreen mode or back again, it will
change the drawable by sending XINE_GUI_SEND_DRAWABLE_CHANGED.
This may lead to BadDrawable X Errors when the video out thread
is still using the old drawable for drawing.
The changes below block XINE_GUI_SEND_DRAWABLE_CHANGED from
changing the drawable while it is used for drawing.
|
|
Blending functions like _x_blend_xx44() take care to clip the overlay
against the destination bitmap. The same clipping must be applied to
determine the relevant area in the destination bitmap for the call to
XvMCCompositeSubpicture().
|
|
|
|
One can assume that a still frame is to show when there are no more
frames left to display.
The changed code uses _x_query_buffer_usage() to retrieve the number
of frames waiting to be displayed to integrate this information into
the decision.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Two of the modified files are headers, but each contains definitions as well as
declarations and is only ever used once.
|
|
thus reported as 0×0), to avoid disabling shared memory for all others. Patch by Reinhard Nissl.
CVS patchset: 8748
CVS date: 2007/03/25 23:13:53
|
|
(through backports), to avoid exporting unneeded internal symbols, making plugins' loading faster and use of internal copies of libraries more solid. It should automatically fall back to the old way in GCCs that does not support -fvisibility=hidden, but has to be tested carefully. No issues were found in the months of testing in Gentoo, but this requires special attention anyway.
CVS patchset: 8101
CVS date: 2006/07/10 22:08:12
|
|
CVS patchset: 8009
CVS date: 2006/06/02 22:18:56
|
|
(Diego Pettenò)
CVS patchset: 7985
CVS date: 2006/05/03 19:46:06
|
|
CVS patchset: 7745
CVS date: 2005/09/25 00:44:04
|
|
"clip" thing has caused too much confusion already since these variables
define a highlight area.
- add overlay offset support to video_out.c/alphablend/vo drivers
- use overlay offset to implement proper croping of frames when vo
driver doesn't support it
- add clipping checks to alphablend to avoid buffer overflow, buffer
"underflow" and wrapping.
- increase vo api number
- note: dxr3 support is incomplete about overlay offset
CVS patchset: 7739
CVS date: 2005/09/24 19:08:26
|
|
Fix bug in xxmc plugin, which only checked the requested format from the decoder plugin when the
flag VO_NEW_SEQUENCE was set. This flag wasn't set often enough.
CVS patchset: 7619
CVS date: 2005/06/09 21:06:02
|
|
improve xxmc cpu-usage for IDCT / MOCOMP acceleration through better locking
[bug #1195282]
CVS patchset: 7524
CVS date: 2005/05/06 07:42:20
|
|
fix xxmc plugin wanting to change vld xvmc context when stream changes from
non-interlaced to interlaced [bug #1194350]
CVS patchset: 7518
CVS date: 2005/05/04 04:27:20
|
|
Fix IDCT / Mocomp rendering errors in xxmc and xvmc modules caused by them not resetting the
macroblock counter when a frame is created.
Fixed libmpeg2 Mocomp XvMC forgetting to handle the signed / usigned intra flag, resulting in a
purple screen on Nvidia when XvMC Mocomp only is used.
CVS patchset: 7500
CVS date: 2005/04/26 09:02:55
|
|
Updated xxmc readme.
CVS patchset: 7451
CVS date: 2005/04/09 11:47:27
|
|
* Fix surface flushing and syncing (xxmc / xvmc)
* Fix clearing of macro block lists (xxmc / xvmc)
* Remove floating point operations from mpeg demuxer. Degrades
performance on non-fp capable hardware.
* Remove unnecessary software MC step
* Fix Quantization matrix ordering which caused bad picture quality
(KB/TH)
* Minor optimizations in the libmpeg2 code
* Fix VLD flushing at video discontinuity (TH)
CVS patchset: 7424
CVS date: 2005/02/22 18:31:33
|
|
and backwards compatible translation
Sorry, I got a litte tired proof-reading the patch, so their might be
bugs lurking around. I will give it some further examination and
(as necessary) fixing tomorrow.
CVS patchset: 7233
CVS date: 2004/12/12 22:00:47
|
|
in alphablend.c; XShm subtitles work now, Xv works as well, other output
plugins untested
CVS patchset: 7156
CVS date: 2004/11/24 16:11:02
|
|
decoding while software surfaces were still in the frame queue and
sometimes needed to be duplicated.
Cleaned up xxmc shape / colorkey X11OSD handling.
Fixed more locking inconsistensies.
CVS patchset: 7137
CVS date: 2004/11/19 08:56:30
|
|
CVS patchset: 7123
CVS date: 2004/11/14 20:38:28
|
|
assuming that XvMC libraries are thread-safe.
CVS patchset: 7093
CVS date: 2004/10/30 15:12:48
|