Age | Commit message (Collapse) | Author |
|
|
|
|
|
It changes some "defined (__FreeBSD__)" into "defined (__FreeBSD_kernel__)"
and "__FreeBSD_version" into "__FreeBSD_kernel_version".
The changes are performed on places, where feature of kernel is tested. On
some other places, feature of userland/libc is tested, on them "defined
(__FreeBSD__)" remains.
As proposed, include/configure.h cause __FreeBSD_kernel__ be defined if
__FreeBSD__ is defined.
--HG--
extra : transplant_source : %25%96K%05%E4Y%B15%94%60%15%FE1%8Ah%26Xy%8C/
|
|
|
|
This is because, while in shared mode the default resolution is taken from directfb config,
in fullscreen mode the default resolution comes from fbdev configuration.
|
|
This is because, while in shared mode the default resolution is taken from directfb config,
in fullscreen mode the default resolution comes from fbdev configuration.
(transplanted from 2ce76206b5c10b6f9cfc55a9edb0d883bfb446a2)
--HG--
extra : transplant_source : %2C%E7b%06%B5%C1%0Bo%9C%FCU%A9%ED%B0%D8%83%BF%B4F%A2
|
|
--HG--
extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
|
|
--HG--
rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c
rename : src/libmad/xine_mad_decoder.c => src/libxineadec/xine_mad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
|
|
--HG--
rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c
rename : src/combined/demux_flac.c => src/combined/flac_demuxer.c
rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
|
|
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.
|
|
|
|
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.
|
|
|
|
XXMC doesn't work well with the way how intercepting frames is implemented
for postprocessing as xxmc_do_update_frame() may change the native frame's
format after the frame has been intercepted. As intercepting XXMC frames
didn't work in the past, we can imply that postplugins which will support
XXMC do know about this special behaviour.
So the idea is to detect any changes on the native frame and propagate these
changes to all intercepted frames. At the same time, we check that all
intercepted frames still share the same data (which we are about to change)
with the native frame and abort otherwise.
--HG--
extra : transplant_source : c%D5%13%21jF%1E%D4%AB%D7%DB%22%27%0A%CB%0E%7F%CF%84v
|
|
When postprocessing is activated, the decoder will pass intercepted
frames to the video driver. The driver must nolonger assume that a
native frame will be passed from the decoder -- it's necessary to
use the supplied macros which give access to the native frame even
when an intercepted frame gets passed.
--HG--
extra : transplant_source : %19%E7%83q1%F6%FEJ%12%A4%1D%AC%CF%7F%2Cn%5BJ%92Y
|
|
--HG--
extra : transplant_source : %EA%EBm%3Exb%A5%3C%07%BC%F0%D9%E1%00%F7%D1%E0%D5%94%ED
|
|
--HG--
extra : transplant_source : y%93%01Dn%EE%9B%DA%60%84%F0%DAT%B7%99%AD%F9%90%03%B0
|
|
--HG--
extra : transplant_source : IsD%AB%2Ci%A1%0F%AE%21%16eg%F2%98%D5%DD%87%DE%3F
|
|
|
|
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().
|
|
|
|
A null pointer dereference happens if reading a xv port attribute
(which has been reported as readable) fails. This issue exists for
example with proprietary (and a bit buggy ...) ati drivers;
nevertheless it shouldn't cause a segmentation fault (the non-xcb
version simply stores an unitialised value).
This patches solves the issue in a clean way for both branches.
Fixes debian bug #428612 :-)
|
|
|
|
|
|
|
|
|
|
|
|
Hopefully, I've applied all of the $(LTLIBINTL) changes correctly...
|
|
|
|
|
|
Some plugins may have been missed due to them not being built here.
|
|
|
|
|
|
I discovered some problems with the framebuffer output driver. The first
problem I had was a segfault when trying to play a 480x360 clip on a 640x480
display. I traced it to the yuv420_rgb16() color conversion function, which
was overrunning the input buffer (the "y" part of the image). The reason
was that it was being called downstack from fb_frame_proc_slice(), multiple
times for each 16-pixel high horizontal slice of the image. When it got to
the last slice, only 8 pixels were left to the bottom but it still tried to
process a 16-pixel high slice.
Nosing around a bit, I compared the configuration of the color converter as
used by the fb driver to the xshm driver and found some oddities:
1) The color converter was configured with a "source height" of 16 pixels no
matter what the size of the image, and a "dest height" based on what was
referred to within video_out_fb.c as a "stripe" -- essentially an input
slice scaled up or down as required by the output size.
2) Apparently to prevent the above from causing problems, the position in
the output buffer was managed by special code -- see the "stripe_incr"
variable.
3) The xshm driver calls yuv2rgb_next_slice() with a NULL argument at the
beginning of each frame to allow the color converter to reset its tracking
of the slice-by-slice progress through the image; the fb driver does not.
I'm not sure exactly why it was done that way, but my best guess would be
that whoever coded it didn't know about the need to call
yuv2rgb_next_slice() with a NULL argument, and the rest was built up to get
it to mostly work without that.
The attached patch changes the behaviour to match that of the xshm driver,
and also removes the reset_dest_pointers() function, replacing its single
invocation with one to fb_frame_field(), which is identical after removing
the "stripe" management.
It fixed my crash. Can anyone see if I've misunderstood what was going on?
If not, it should probably be applied to the official version.
|
|
|
|
|
|
The three attached patches (against 1.1.6) each increase the amount of
debug logging in their respective components. We've found the extra
logging useful when trying to track down faults.
I've split this into three patches to make it easier to apply only some
of our changes.
--
Comments welcome,
Simon Farnsworth
|
|
Xv drivers are permitted to return a bigger image than we asked for, to
work around hardware constraints. If this happens, 1.1.6's video_out_xv
cannot deinterlace properly. Fix this by deinterlacing based on the
width of the Xv image; the Xv driver will discard the extra horizontal data.
Without this patch, you get a barber-pole effect if the input video is
interlaced *and* the Xv driver chooses to round up the width of the
requested image.
--
Simon Farnsworth
|
|
|
|
Hi,
With the last patch posted deinterlace.c became obsolete.
deinterlace.h was only used in video_out_xvmc.c for the defines. I
removed the deinterlacer stuff from xvmc in my patch, because there is
only onefield which is hardware accelerated. However it has very bad
quality compared to other deinterlacers or even compared to
non-interlaced video and it's a very cheap one to run in software for
those who absolutely want to use it.
Christoph
|
|
Hi,
As the deinterlacers in video_out_[xcb]xv.c are implemented purely in
software there's no need to have them there. Instead use the post
deinterlacer plugin.
Both plugins tested with kaffeine and no regression found.
Christoph
|
|
|
|
--HG--
rename : src/video_out/libdha/.hgignore => contrib/libdha/.hgignore
rename : src/video_out/libdha/AsmMacros.h => contrib/libdha/AsmMacros.h
rename : src/video_out/libdha/Makefile.am => contrib/libdha/Makefile.am
rename : src/video_out/libdha/README => contrib/libdha/README
rename : src/video_out/libdha/bin/Makefile.am => contrib/libdha/bin/Makefile.am
rename : src/video_out/libdha/bin/README => contrib/libdha/bin/README
rename : src/video_out/libdha/bin/mapdev.copyright => contrib/libdha/bin/mapdev.copyright
rename : src/video_out/libdha/bin/mapdev.vxd => contrib/libdha/bin/mapdev.vxd
rename : src/video_out/libdha/cpu_flush.c => contrib/libdha/cpu_flush.c
rename : src/video_out/libdha/irq.c => contrib/libdha/irq.c
rename : src/video_out/libdha/kernelhelper/Makefile.am => contrib/libdha/kernelhelper/Makefile.am
rename : src/video_out/libdha/kernelhelper/README => contrib/libdha/kernelhelper/README
rename : src/video_out/libdha/kernelhelper/dhahelper.c => contrib/libdha/kernelhelper/dhahelper.c
rename : src/video_out/libdha/kernelhelper/dhahelper.h => contrib/libdha/kernelhelper/dhahelper.h
rename : src/video_out/libdha/kernelhelper/test.c => contrib/libdha/kernelhelper/test.c
rename : src/video_out/libdha/libdha.c => contrib/libdha/libdha.c
rename : src/video_out/libdha/libdha.h => contrib/libdha/libdha.h
rename : src/video_out/libdha/mmi.c => contrib/libdha/mmi.c
rename : src/video_out/libdha/mtrr.c => contrib/libdha/mtrr.c
rename : src/video_out/libdha/oth/Makefile.am => contrib/libdha/oth/Makefile.am
rename : src/video_out/libdha/oth/pci.db => contrib/libdha/oth/pci.db
rename : src/video_out/libdha/pci.c => contrib/libdha/pci.c
rename : src/video_out/libdha/pci_db2c.awk => contrib/libdha/pci_db2c.awk
rename : src/video_out/libdha/ports.c => contrib/libdha/ports.c
rename : src/video_out/libdha/sysdep/AsmMacros_alpha.h => contrib/libdha/sysdep/AsmMacros_alpha.h
rename : src/video_out/libdha/sysdep/AsmMacros_arm32.h => contrib/libdha/sysdep/AsmMacros_arm32.h
rename : src/video_out/libdha/sysdep/AsmMacros_generic.h => contrib/libdha/sysdep/AsmMacros_generic.h
rename : src/video_out/libdha/sysdep/AsmMacros_ia64.h => contrib/libdha/sysdep/AsmMacros_ia64.h
rename : src/video_out/libdha/sysdep/AsmMacros_powerpc.h => contrib/libdha/sysdep/AsmMacros_powerpc.h
rename : src/video_out/libdha/sysdep/AsmMacros_sparc.h => contrib/libdha/sysdep/AsmMacros_sparc.h
rename : src/video_out/libdha/sysdep/AsmMacros_x86.h => contrib/libdha/sysdep/AsmMacros_x86.h
rename : src/video_out/libdha/sysdep/Makefile.am => contrib/libdha/sysdep/Makefile.am
rename : src/video_out/libdha/sysdep/libdha_os2.c => contrib/libdha/sysdep/libdha_os2.c
rename : src/video_out/libdha/sysdep/libdha_win32.c => contrib/libdha/sysdep/libdha_win32.c
rename : src/video_out/libdha/sysdep/pci_386bsd.c => contrib/libdha/sysdep/pci_386bsd.c
rename : src/video_out/libdha/sysdep/pci_alpha.c => contrib/libdha/sysdep/pci_alpha.c
rename : src/video_out/libdha/sysdep/pci_arm32.c => contrib/libdha/sysdep/pci_arm32.c
rename : src/video_out/libdha/sysdep/pci_bsdi.c => contrib/libdha/sysdep/pci_bsdi.c
rename : src/video_out/libdha/sysdep/pci_freebsd.c => contrib/libdha/sysdep/pci_freebsd.c
rename : src/video_out/libdha/sysdep/pci_generic_cpu.c => contrib/libdha/sysdep/pci_generic_cpu.c
rename : src/video_out/libdha/sysdep/pci_generic_os.c => contrib/libdha/sysdep/pci_generic_os.c
rename : src/video_out/libdha/sysdep/pci_ia64.c => contrib/libdha/sysdep/pci_ia64.c
rename : src/video_out/libdha/sysdep/pci_isc.c => contrib/libdha/sysdep/pci_isc.c
rename : src/video_out/libdha/sysdep/pci_linux.c => contrib/libdha/sysdep/pci_linux.c
rename : src/video_out/libdha/sysdep/pci_lynx.c => contrib/libdha/sysdep/pci_lynx.c
rename : src/video_out/libdha/sysdep/pci_mach386.c => contrib/libdha/sysdep/pci_mach386.c
rename : src/video_out/libdha/sysdep/pci_netbsd.c => contrib/libdha/sysdep/pci_netbsd.c
rename : src/video_out/libdha/sysdep/pci_openbsd.c => contrib/libdha/sysdep/pci_openbsd.c
rename : src/video_out/libdha/sysdep/pci_os2.c => contrib/libdha/sysdep/pci_os2.c
rename : src/video_out/libdha/sysdep/pci_powerpc.c => contrib/libdha/sysdep/pci_powerpc.c
rename : src/video_out/libdha/sysdep/pci_sco.c => contrib/libdha/sysdep/pci_sco.c
rename : src/video_out/libdha/sysdep/pci_sparc.c => contrib/libdha/sysdep/pci_sparc.c
rename : src/video_out/libdha/sysdep/pci_svr4.c => contrib/libdha/sysdep/pci_svr4.c
rename : src/video_out/libdha/sysdep/pci_win32.c => contrib/libdha/sysdep/pci_win32.c
rename : src/video_out/libdha/sysdep/pci_x86.c => contrib/libdha/sysdep/pci_x86.c
rename : src/video_out/libdha/test.c => contrib/libdha/test.c
rename : src/video_out/vidix/Makefile.am => contrib/vidix/Makefile.am
rename : src/video_out/vidix/README => contrib/vidix/README
rename : src/video_out/vidix/drivers/Makefile.am => contrib/vidix/drivers/Makefile.am
rename : src/video_out/vidix/drivers/cyberblade_regs.h => contrib/vidix/drivers/cyberblade_regs.h
rename : src/video_out/vidix/drivers/cyberblade_vid.c => contrib/vidix/drivers/cyberblade_vid.c
rename : src/video_out/vidix/drivers/genfb_vid.c => contrib/vidix/drivers/genfb_vid.c
rename : src/video_out/vidix/drivers/glint_regs.h => contrib/vidix/drivers/glint_regs.h
rename : src/video_out/vidix/drivers/mach64.h => contrib/vidix/drivers/mach64.h
rename : src/video_out/vidix/drivers/mach64_vid.c => contrib/vidix/drivers/mach64_vid.c
rename : src/video_out/vidix/drivers/mga_vid.c => contrib/vidix/drivers/mga_vid.c
rename : src/video_out/vidix/drivers/nvidia_vid.c => contrib/vidix/drivers/nvidia_vid.c
rename : src/video_out/vidix/drivers/pm2_vid.c => contrib/vidix/drivers/pm2_vid.c
rename : src/video_out/vidix/drivers/pm3_regs.h => contrib/vidix/drivers/pm3_regs.h
rename : src/video_out/vidix/drivers/pm3_vid.c => contrib/vidix/drivers/pm3_vid.c
rename : src/video_out/vidix/drivers/radeon.h => contrib/vidix/drivers/radeon.h
rename : src/video_out/vidix/drivers/radeon_vid.c => contrib/vidix/drivers/radeon_vid.c
rename : src/video_out/vidix/drivers/savage_regs.h => contrib/vidix/drivers/savage_regs.h
rename : src/video_out/vidix/drivers/savage_vid.c => contrib/vidix/drivers/savage_vid.c
rename : src/video_out/vidix/drivers/sis_bridge.c => contrib/vidix/drivers/sis_bridge.c
rename : src/video_out/vidix/drivers/sis_defs.h => contrib/vidix/drivers/sis_defs.h
rename : src/video_out/vidix/drivers/sis_regs.h => contrib/vidix/drivers/sis_regs.h
rename : src/video_out/vidix/drivers/sis_vid.c => contrib/vidix/drivers/sis_vid.c
rename : src/video_out/vidix/drivers/unichrome_regs.h => contrib/vidix/drivers/unichrome_regs.h
rename : src/video_out/vidix/drivers/unichrome_vid.c => contrib/vidix/drivers/unichrome_vid.c
rename : src/video_out/vidix/fourcc.h => contrib/vidix/fourcc.h
rename : src/video_out/vidix/vidix.h => contrib/vidix/vidix.h
rename : src/video_out/vidix/vidix.txt => contrib/vidix/vidix.txt
rename : src/video_out/vidix/vidixlib.c => contrib/vidix/vidixlib.c
rename : src/video_out/vidix/vidixlib.h => contrib/vidix/vidixlib.h
|
|
|
|
|