summaryrefslogtreecommitdiff
path: root/src/libmpeg2
AgeCommit message (Collapse)Author
2007-12-22Move libmpeg2 inside video_dec/libmpeg2.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libmpeg2/Makefile.am => src/video_dec/libmpeg2/Makefile.am rename : src/libmpeg2/cpu_state.c => src/video_dec/libmpeg2/cpu_state.c rename : src/libmpeg2/decode.c => src/video_dec/libmpeg2/decode.c rename : src/libmpeg2/header.c => src/video_dec/libmpeg2/header.c rename : src/libmpeg2/idct.c => src/video_dec/libmpeg2/idct.c rename : src/libmpeg2/idct_altivec.c => src/video_dec/libmpeg2/idct_altivec.c rename : src/libmpeg2/idct_mlib.c => src/video_dec/libmpeg2/idct_mlib.c rename : src/libmpeg2/idct_mlib.h => src/video_dec/libmpeg2/idct_mlib.h rename : src/libmpeg2/idct_mmx.c => src/video_dec/libmpeg2/idct_mmx.c rename : src/libmpeg2/libmpeg2_accel.c => src/video_dec/libmpeg2/libmpeg2_accel.c rename : src/libmpeg2/libmpeg2_accel.h => src/video_dec/libmpeg2/libmpeg2_accel.h rename : src/libmpeg2/motion_comp.c => src/video_dec/libmpeg2/motion_comp.c rename : src/libmpeg2/motion_comp_altivec.c => src/video_dec/libmpeg2/motion_comp_altivec.c rename : src/libmpeg2/motion_comp_mlib.c => src/video_dec/libmpeg2/motion_comp_mlib.c rename : src/libmpeg2/motion_comp_mmx.c => src/video_dec/libmpeg2/motion_comp_mmx.c rename : src/libmpeg2/motion_comp_vis.c => src/video_dec/libmpeg2/motion_comp_vis.c rename : src/libmpeg2/mpeg2.h => src/video_dec/libmpeg2/mpeg2.h rename : src/libmpeg2/mpeg2_internal.h => src/video_dec/libmpeg2/mpeg2_internal.h rename : src/libmpeg2/slice.c => src/video_dec/libmpeg2/slice.c rename : src/libmpeg2/slice_xvmc.c => src/video_dec/libmpeg2/slice_xvmc.c rename : src/libmpeg2/slice_xvmc_vld.c => src/video_dec/libmpeg2/slice_xvmc_vld.c rename : src/libmpeg2/stats.c => src/video_dec/libmpeg2/stats.c rename : src/libmpeg2/vis.h => src/video_dec/libmpeg2/vis.h rename : src/libmpeg2/vlc.h => src/video_dec/libmpeg2/vlc.h rename : src/libmpeg2/xine_mpeg2_decoder.c => src/video_dec/libmpeg2/xine_mpeg2_decoder.c rename : src/libmpeg2/xvmc.h => src/video_dec/libmpeg2/xvmc.h rename : src/libmpeg2/xvmc_vld.h => src/video_dec/libmpeg2/xvmc_vld.h
2007-12-22Merge -headers-reshuffle branch into main.Diego 'Flameeyes' Pettenò
--HG-- rename : src/xine-engine/osd.h => include/xine/osd.h
2007-12-19Mark more arrays as constant.Diego 'Flameeyes' Pettenò
2007-12-19Mark static strings as const.Diego 'Flameeyes' Pettenò
2007-12-19Update all the code to the new headers layout.Diego 'Flameeyes' Pettenò
2007-12-11Bump the interface version for video decoder plugins.Diego 'Flameeyes' Pettenò
2007-12-11Use default_*_class_dispose macro whenever the class dispose function only ↵Diego 'Flameeyes' Pettenò
called free().
2007-12-11Use N_() rather than _(), passing the string just once to gettext().Diego 'Flameeyes' Pettenò
This way the gettext code for description does not need to be repeated by every plugin.
2007-12-11Update all misc plugins to the new identifier/description interface. Add _() ↵Diego 'Flameeyes' Pettenò
where missing, for i18n.
2007-11-10Merge from 1.1.Darren Salt
--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
2007-11-10Delete most of the CVS $Id$/$Log$ lines.Darren Salt
--HG-- extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
2007-11-09Merge FSF address changes from 1.1 branch.Diego 'Flameeyes' Pettenò
--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
2007-11-09Update FSF address on non-contributed code and COPYING files.Diego 'Flameeyes' Pettenò
For contributed code, leave whatever the version we last synced for is using to make simpler future syncs.
2007-09-23Merge from 1.1.Darren Salt
2007-09-19Convert the "AFD changed" message into a LOG message.Darren Salt
2007-08-16Merge open()/glibc (debug #define) workaround from 1.1; fix up for 1.2 changes.Darren Salt
This does not touch code in contrib.
2007-08-15Workaround for recent glibc & -D_FORTIFY_SOURCE=2 (defines open() as a macro).Darren Salt
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.
2007-05-17Convert comments (and the occasional string where it doesn't matter) to UTF-8.Darren Salt
2007-05-16Merge changes from main 1.2 repositoryMatt Messier
2007-05-14Final pass over decoders.m4Matt Messier
2007-05-11Another round of Makefile.am cleanupsMatt Messier
2007-05-08Merge changes from main 1.2 repositoryMatt Messier
2007-05-08RIP: AC_OPTIMIZATIONSMatt Messier
-- Removed m4/optimizations.m4, and along with it, AC_OPTIMIZATIONS. -- Stripped down, cleaned up, and merged the former together with other compiler characteristic checks. -- Do not set any optimization flags into CFLAGS. Update all Makefile.am's with proper AM_CFLAGS, AM_CPPFLAGS, AM_LDFLAGS, etc. to set up optimization flags, usually from DEFAULT_OCFLAGS. -- Start cleaning up CFLAGS/CPPFLAGS stuff in Makefile.am's all over the place. -- Correct a number of places where CFLAGS itself was being mangled in Makefile to on-the-fly adjust optimizations to work around compiler bugs. This stuff is now done correctly. -- The run of automake from autogen.sh is now clean of warnings. -- Cleaned out some (now) dead macros from m4/_xine.m4 -- Mac OS X intel builds out-of-the-box now -- dropped optimization on post/deinterlace/plugins/kdetv-greedyh to O1_CFLAGS. -- OBJCFLAGS is now getting set correctly everywhere that it needs to be -- Various other miscellaneous cleanups all over
2007-04-12Speed up start code scanning.Reinhard Nißl
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.
2007-04-11Special handling of sequence end code to improve still frames.Reinhard Nißl
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.
2007-04-11Detect absence of AFD and report only changes.Reinhard Nißl
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.
2007-04-11Improve MPEG2 detection to have it ready for correct aspect ratioReinhard Nißl
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.
2007-04-08Beside the name, constants can't be marked const or gcc miscompiles the ↵Diego 'Flameeyes' Pettenò
Altivec code.
2007-04-08Mark various private arrays, structs & fn parameters as static and/or const.Darren Salt
Two of the modified files are headers, but each contains definitions as well as declarations and is only ever used once.
2007-04-04Rename xine_decoder.c to xine_mpeg2_decoder.c.Diego 'Flameeyes' Pettenò
Use xineplug_LTLIBRARIES. --HG-- rename : src/libmpeg2/xine_decoder.c => src/libmpeg2/xine_mpeg2_decoder.c
2007-04-03Rationalise use of .hgignore, removes a bunch of files that only ignored ↵Diego 'Flameeyes' Pettenò
automake-related files.
2007-04-02Migrate all .cvsignore files to .hgignore.Diego 'Flameeyes' Pettenò
--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
2007-01-28fix integer/double mistake.Miguel Freitas
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
2007-01-19Make iterator variables constant when used with constant tables.Diego 'Flameeyes' Pettenò
CVS patchset: 8525 CVS date: 2007/01/19 01:14:19
2006-12-25The mpeg2 decoding plugin uses ceil(), so link it to libm.Diego 'Flameeyes' Pettenò
CVS patchset: 8448 CVS date: 2006/12/25 18:35:53
2006-07-10Implement visibility support, available on GCC 4.0 and later and on some 3.4 ↵Diego 'Flameeyes' Pettenò
(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
2006-06-23Frame duration calculation cleanups; more accurate calculation.Darren Salt
CVS patchset: 8072 CVS date: 2006/06/23 18:22:19
2006-06-17Fix strict aliasing rules breakages where possible, enable ↵Diego 'Flameeyes' Pettenò
-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
2006-06-17Fix Altivec libmpeg2 decoding, thanks to Luca Barbato (lu_zero@gentoo.org) ↵Diego 'Flameeyes' Pettenò
and Christer Palm (palm@nogui.se). CVS patchset: 8045 CVS date: 2006/06/17 12:45:51
2006-06-02Various static/const fixes from Gentoo.Darren Salt
CVS patchset: 8009 CVS date: 2006/06/02 22:18:56
2006-05-22Fixed undefined symbol [SUSE #173413] (Andreas Schwab).Matthias Hopf
CVS patchset: 7995 CVS date: 2006/05/22 17:04:35
2006-05-03Make various arrays and structures (mainly xine_plugin_info) const.Darren Salt
(Diego Pettenò) CVS patchset: 7985 CVS date: 2006/05/03 19:46:06
2006-02-19fix playing SIF DVDsMiguel Freitas
case where display_height (240) is less than coded_picture_height (256) CVS patchset: 7903 CVS date: 2006/02/19 15:05:07
2006-02-06PATCH: detect aspect ratio changes in MPEG2 videoMiguel Freitas
CVS patchset: 7883 CVS date: 2006/02/06 12:54:17
2006-02-04Enable AMD64 mmx/sse support in some plugins (tvtime, libmpeg2, goom...)Miguel Freitas
patch by dani3l CVS patchset: 7867 CVS date: 2006/02/04 14:06:29
2005-06-17Detect AFD information in MPEG2 streams and make the information availableDarren Salt
to front-ends. (Reinhard Nissl) gxine (CVS HEAD) is aware of this information. CVS patchset: 7628 CVS date: 2005/06/17 22:33:01
2005-05-26**BUGFIX**Thomas Hellström
Fixx xxmc bob deinterlacing for field-coded interlaced streams. CVS patchset: 7561 CVS date: 2005/05/26 07:49:14
2005-05-06**BUGFIX**Thomas Hellström
improve xxmc cpu-usage for IDCT / MOCOMP acceleration through better locking [bug #1195282] CVS patchset: 7524 CVS date: 2005/05/06 07:42:20
2005-05-04**BUGFIX**Thomas Hellström
stop libmpeg2 XvMC IDCT / MOCOMP attempting software motion compensation [bug #1194754] CVS patchset: 7520 CVS date: 2005/05/04 12:50:09
2005-05-03**BUGFIX**Thomas Hellström
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