Age | Commit message (Collapse) | Author |
|
Add warning flags to the DEBUG_CFLAGS too.
|
|
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
|
|
|
|
|
|
According to specification the center offset components are
signed integers.
|
|
--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.
|
|
|
|
According to bug 1773769, this breaks foo->open().
The fix (as used in Ville Skyttä's patch, which doesn't cover all cases) is
to replace this with (foo->open)().
This patch was generated using
sed -i -re 's/(([[:alnum:]_]+(->|\.))+open) ?\(/(\1) (/' `grep '[>.]open \?(' include -rIl`
One change (in a comment) is not committed.
|
|
|
|
The current code implements hardware (a shift register) in software
just to find the byte pattern 00 00 01 xx, which causes remarkable
CPU load on less powerful machines.
The new approach uses memchr() to find the 01 in the buffer, which
most often hits a start code. memchr() seems to be even faster then
implementing a real pattern search (i. e. by just looking at every
third byte to find 01). The new implementation causes significantly
fewer CPU load on less powerful machines.
|
|
The current code emits a frame when a non slice start code is seen.
For still frames, this is typically a sequence end code. But the
current code doesn't call parse_chunk() immediately because it waits
for a further start code to determine the chunk of data to pass to
parse_chunk(). But there isn't such a further start code for still
frames after the sequence end code and thus, the still frame will
not be emitted.
As sequence end code is the only start code which has no data
according to the MPEG specification, let's use this information
to call parse_chunk() immediately.
|
|
The current code cannot detect the absence of AFD once it has been
seen in the stream. As AFD can appear in user data after sequence,
group or picture start codes, the idea is to reset the stored AFD
value when processing the sequence start code. In the case where
AFD is seen in user data, it is stored internally, to have it ready
when the first slice is processed. At least at that time, AFD data
has been seen and can be analyzed for changes. At any change, the
AFD value will then be stored into a stream property. Doing this
only for changes avoids locks while writing the same value over and
over to the stream's property.
|
|
determination.
The current code detects MPEG2 when parsing the sequence extention
which appears only in MPEG2 streams. But this is to late for correct
aspect ratio determination which happens earlier and therefore
assumes MPEG1. The result is a totally wrong aspect ratio.
To fix this issue, the next start code (which is already available
at that time) is passed to parse_chunk() too, which can then be
used to detect a MPEG2 extension start code early enough before
the aspect ratio is determined.
|
|
Altivec code.
|
|
Two of the modified files are headers, but each contains definitions as well as
declarations and is only ever used once.
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libmpeg2/xine_decoder.c => src/libmpeg2/xine_mpeg2_decoder.c
|
|
automake-related files.
|
|
--HG--
rename : .cvsignore => .hgignore
rename : doc/.cvsignore => doc/.hgignore
rename : doc/faq/.cvsignore => doc/faq/.hgignore
rename : doc/hackersguide/.cvsignore => doc/hackersguide/.hgignore
rename : doc/man/.cvsignore => doc/man/.hgignore
rename : doc/man/en/.cvsignore => doc/man/en/.hgignore
rename : include/.cvsignore => include/.hgignore
rename : intl/.cvsignore => intl/.hgignore
rename : lib/.cvsignore => lib/.hgignore
rename : m4/.cvsignore => m4/.hgignore
rename : misc/.cvsignore => misc/.hgignore
rename : misc/fonts/.cvsignore => misc/fonts/.hgignore
rename : po/.cvsignore => po/.hgignore
rename : src/.cvsignore => src/.hgignore
rename : src/audio_out/.cvsignore => src/audio_out/.hgignore
rename : src/combined/.cvsignore => src/combined/.hgignore
rename : src/demuxers/.cvsignore => src/demuxers/.hgignore
rename : src/dxr3/.cvsignore => src/dxr3/.hgignore
rename : src/input/.cvsignore => src/input/.hgignore
rename : src/input/dvb/.cvsignore => src/input/dvb/.hgignore
rename : src/input/libdvdnav/.cvsignore => src/input/libdvdnav/.hgignore
rename : src/input/libreal/.cvsignore => src/input/libreal/.hgignore
rename : src/input/librtsp/.cvsignore => src/input/librtsp/.hgignore
rename : src/input/vcd/.cvsignore => src/input/vcd/.hgignore
rename : src/input/vcd/libcdio/.cvsignore => src/input/vcd/libcdio/.hgignore
rename : src/input/vcd/libcdio/MSWindows/.cvsignore => src/input/vcd/libcdio/MSWindows/.hgignore
rename : src/input/vcd/libcdio/cdio/.cvsignore => src/input/vcd/libcdio/cdio/.hgignore
rename : src/input/vcd/libcdio/image/.cvsignore => src/input/vcd/libcdio/image/.hgignore
rename : src/input/vcd/libvcd/.cvsignore => src/input/vcd/libvcd/.hgignore
rename : src/input/vcd/libvcd/libvcd/.cvsignore => src/input/vcd/libvcd/libvcd/.hgignore
rename : src/liba52/.cvsignore => src/liba52/.hgignore
rename : src/libdts/.cvsignore => src/libdts/.hgignore
rename : src/libfaad/.cvsignore => src/libfaad/.hgignore
rename : src/libfaad/codebook/.cvsignore => src/libfaad/codebook/.hgignore
rename : src/libffmpeg/.cvsignore => src/libffmpeg/.hgignore
rename : src/libffmpeg/libavcodec/.cvsignore => src/libffmpeg/libavcodec/.hgignore
rename : src/libffmpeg/libavcodec/alpha/.cvsignore => src/libffmpeg/libavcodec/alpha/.hgignore
rename : src/libffmpeg/libavcodec/armv4l/.cvsignore => src/libffmpeg/libavcodec/armv4l/.hgignore
rename : src/libffmpeg/libavcodec/i386/.cvsignore => src/libffmpeg/libavcodec/i386/.hgignore
rename : src/libffmpeg/libavcodec/libpostproc/.cvsignore => src/libffmpeg/libavcodec/libpostproc/.hgignore
rename : src/libffmpeg/libavcodec/mlib/.cvsignore => src/libffmpeg/libavcodec/mlib/.hgignore
rename : src/libffmpeg/libavcodec/ppc/.cvsignore => src/libffmpeg/libavcodec/ppc/.hgignore
rename : src/libffmpeg/libavcodec/sparc/.cvsignore => src/libffmpeg/libavcodec/sparc/.hgignore
rename : src/libffmpeg/libavutil/.cvsignore => src/libffmpeg/libavutil/.hgignore
rename : src/libflac/.cvsignore => src/libflac/.hgignore
rename : src/liblpcm/.cvsignore => src/liblpcm/.hgignore
rename : src/libmad/.cvsignore => src/libmad/.hgignore
rename : src/libmpeg2/.cvsignore => src/libmpeg2/.hgignore
rename : src/libmpeg2new/.cvsignore => src/libmpeg2new/.hgignore
rename : src/libmpeg2new/include/.cvsignore => src/libmpeg2new/include/.hgignore
rename : src/libmpeg2new/libmpeg2/.cvsignore => src/libmpeg2new/libmpeg2/.hgignore
rename : src/libmusepack/.cvsignore => src/libmusepack/.hgignore
rename : src/libmusepack/musepack/.cvsignore => src/libmusepack/musepack/.hgignore
rename : src/libreal/.cvsignore => src/libreal/.hgignore
rename : src/libspeex/.cvsignore => src/libspeex/.hgignore
rename : src/libspucc/.cvsignore => src/libspucc/.hgignore
rename : src/libspucmml/.cvsignore => src/libspucmml/.hgignore
rename : src/libspudec/.cvsignore => src/libspudec/.hgignore
rename : src/libspudvb/.cvsignore => src/libspudvb/.hgignore
rename : src/libsputext/.cvsignore => src/libsputext/.hgignore
rename : src/libtheora/.cvsignore => src/libtheora/.hgignore
rename : src/libvorbis/.cvsignore => src/libvorbis/.hgignore
rename : src/libw32dll/.cvsignore => src/libw32dll/.hgignore
rename : src/libw32dll/DirectShow/.cvsignore => src/libw32dll/DirectShow/.hgignore
rename : src/libw32dll/dmo/.cvsignore => src/libw32dll/dmo/.hgignore
rename : src/libw32dll/qtx/.cvsignore => src/libw32dll/qtx/.hgignore
rename : src/libw32dll/qtx/qtxsdk/.cvsignore => src/libw32dll/qtx/qtxsdk/.hgignore
rename : src/libw32dll/wine/.cvsignore => src/libw32dll/wine/.hgignore
rename : src/libxineadec/.cvsignore => src/libxineadec/.hgignore
rename : src/libxineadec/gsm610/.cvsignore => src/libxineadec/gsm610/.hgignore
rename : src/libxineadec/nosefart/.cvsignore => src/libxineadec/nosefart/.hgignore
rename : src/libxinevdec/.cvsignore => src/libxinevdec/.hgignore
rename : src/post/.cvsignore => src/post/.hgignore
rename : src/post/audio/.cvsignore => src/post/audio/.hgignore
rename : src/post/deinterlace/.cvsignore => src/post/deinterlace/.hgignore
rename : src/post/deinterlace/plugins/.cvsignore => src/post/deinterlace/plugins/.hgignore
rename : src/post/goom/.cvsignore => src/post/goom/.hgignore
rename : src/post/mosaico/.cvsignore => src/post/mosaico/.hgignore
rename : src/post/planar/.cvsignore => src/post/planar/.hgignore
rename : src/post/visualizations/.cvsignore => src/post/visualizations/.hgignore
rename : src/video_out/.cvsignore => src/video_out/.hgignore
rename : src/video_out/libdha/.cvsignore => src/video_out/libdha/.hgignore
rename : src/video_out/libdha/bin/.cvsignore => src/video_out/libdha/bin/.hgignore
rename : src/video_out/libdha/kernelhelper/.cvsignore => src/video_out/libdha/kernelhelper/.hgignore
rename : src/video_out/libdha/oth/.cvsignore => src/video_out/libdha/oth/.hgignore
rename : src/video_out/libdha/sysdep/.cvsignore => src/video_out/libdha/sysdep/.hgignore
rename : src/video_out/macosx/.cvsignore => src/video_out/macosx/.hgignore
rename : src/video_out/vidix/.cvsignore => src/video_out/vidix/.hgignore
rename : src/video_out/vidix/drivers/.cvsignore => src/video_out/vidix/drivers/.hgignore
rename : src/xine-engine/.cvsignore => src/xine-engine/.hgignore
rename : src/xine-utils/.cvsignore => src/xine-utils/.hgignore
rename : win32/.cvsignore => win32/.hgignore
rename : win32/include/.cvsignore => win32/include/.hgignore
|
|
funny because the "more accurate" frame duration calculation actually
broke a/v sync for ntsc dvds. tsc tsc ;-)
fixes #1544349, #1589644
CVS patchset: 8574
CVS date: 2007/01/28 22:46:07
|
|
CVS patchset: 8525
CVS date: 2007/01/19 01:14:19
|
|
CVS patchset: 8448
CVS date: 2006/12/25 18:35: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: 8072
CVS date: 2006/06/23 18:22:19
|
|
-fno-strict-aliasing where the breakage is unresolvable, and not enable it globally (decreases performances).
CVS patchset: 8048
CVS date: 2006/06/17 15:20:56
|
|
and Christer Palm (palm@nogui.se).
CVS patchset: 8045
CVS date: 2006/06/17 12:45:51
|
|
CVS patchset: 8009
CVS date: 2006/06/02 22:18:56
|
|
CVS patchset: 7995
CVS date: 2006/05/22 17:04:35
|
|
(Diego Pettenò)
CVS patchset: 7985
CVS date: 2006/05/03 19:46:06
|
|
case where display_height (240) is less than coded_picture_height (256)
CVS patchset: 7903
CVS date: 2006/02/19 15:05:07
|
|
CVS patchset: 7883
CVS date: 2006/02/06 12:54:17
|
|
patch by dani3l
CVS patchset: 7867
CVS date: 2006/02/04 14:06:29
|
|
to front-ends. (Reinhard Nissl)
gxine (CVS HEAD) is aware of this information.
CVS patchset: 7628
CVS date: 2005/06/17 22:33:01
|
|
Fixx xxmc bob deinterlacing for field-coded interlaced streams.
CVS patchset: 7561
CVS date: 2005/05/26 07:49:14
|
|
improve xxmc cpu-usage for IDCT / MOCOMP acceleration through better locking
[bug #1195282]
CVS patchset: 7524
CVS date: 2005/05/06 07:42:20
|
|
stop libmpeg2 XvMC IDCT / MOCOMP attempting software motion compensation
[bug #1194754]
CVS patchset: 7520
CVS date: 2005/05/04 12:50:09
|
|
Fixed xvmc plugin segfault when it tried software blending on nonexistant xv image.
Cleaned up libmpeg2 behaviour on xxmc plugin abrupt software fallback.
CVS patchset: 7516
CVS date: 2005/05/03 19:25:10
|
|
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
|
|
Gotcha! Unfortunately, this disrupted make distcheck, so it is a showstopper
for the release. I am too tired to wait another hour for the compilation, so
things will have to wait until tomorrow morning.
CVS patchset: 7498
CVS date: 2005/04/25 22:44:22
|
|
Multiple slice-per-rows (HDTV) fixes in the libmpeg2 code, particularly
regarding VLD XvMC.
Cleaned up hardware acceleration hooks in libmpeg2.
Fixed X include path searching while configure detects XvMC support.
CVS patchset: 7449
CVS date: 2005/04/09 11:22:14
|
|
* 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
|
|
Bug 1092411
Makes XvMC handle cases where each slice is split into more than two parts.
This got broken on IDCT / MOCOMP with a previous commit to fix a search
segfault. Has never worked before with VLD.
Still IDCT / MOCOMP exhibit bad picture quality in this case but not worse
than before it got broken.
CVS patchset: 7375
CVS date: 2005/01/30 18:01:25
|
|
(costly conversion is not necessary, because ASCII is a subset of UTF-8)
CVS patchset: 7264
CVS date: 2004/12/16 13:58:57
|
|
files with IDCT / mocomp XvMC acceleration.
Cleaned up some ugly xvmc / xxmc naming.
CVS patchset: 7122
CVS date: 2004/11/13 19:32:51
|
|
been tested, whether it works hasn't been tested ...)
CVS patchset: 7109
CVS date: 2004/11/08 05:39:54
|
|
CVS patchset: 7105
CVS date: 2004/11/06 09:23:15
|
|
CVS patchset: 7078
CVS date: 2004/10/27 14:14:20
|
|
Updated software fallback mechanism to be compatible with post plugin
deinterlacing. A decoder using the plugin can now request a software
fallback format to be used if acceleration fails.
Removed the software deinterlacer that was inherited from the xv plugin.
Made idct/mocomp fall back to software decoding for interlaced streams, since
these are not rendered correctly either with the xvmc or the xxmc plugin.
CVS patchset: 7029
CVS date: 2004/10/12 07:40:07
|
|
there is still some work to do, please report any breakages.
note: new xxmc driver tested with both nvidia and via libraries.
CVS patchset: 7007
CVS date: 2004/09/28 18:49:38
|
|
CVS patchset: 7003
CVS date: 2004/09/27 23:28:59
|