summaryrefslogtreecommitdiff
path: root/src/libffmpeg
AgeCommit message (Collapse)Author
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2008-04-14dsputil_mmx.c compile failure with gcc 4.3 i386. Building as non-PIC "fixes" it.Darren Salt
2008-03-18Move ffmpeg plugin code into src/combined/ffmpeg & adapt for current ffmpeg.Darren Salt
The source remains compilable with older ffmpeg, whether internal or external. --HG-- rename : src/libffmpeg/Makefile.am => src/combined/ffmpeg/Makefile.am rename : src/libffmpeg/ff_audio_decoder.c => src/combined/ffmpeg/ff_audio_decoder.c rename : src/libffmpeg/ff_dvaudio_decoder.c => src/combined/ffmpeg/ff_dvaudio_decoder.c rename : src/libffmpeg/ff_mpeg_parser.c => src/combined/ffmpeg/ff_mpeg_parser.c rename : src/libffmpeg/ff_mpeg_parser.h => src/combined/ffmpeg/ff_mpeg_parser.h rename : src/libffmpeg/ff_video_decoder.c => src/combined/ffmpeg/ff_video_decoder.c rename : src/libffmpeg/ffmpeg_decoder.c => src/combined/ffmpeg/ffmpeg_decoder.c rename : src/libffmpeg/ffmpeg_decoder.h => src/combined/ffmpeg/ffmpeg_decoder.h rename : src/libffmpeg/ffmpeg_encoder.c => src/combined/ffmpeg/ffmpeg_encoder.c
2008-03-12Tidy up ffmpeg includes a bit.Darren Salt
-Ilibavcodec is wrong when build dir != source dir or with external ffmpeg.
2008-03-06CVS broken with built-in ffmpegChris Rankin
I can no longer build libxine from CVS, unless I apply this patch. I do not have ffmpeg installed, and so am using the built-in ffmpeg instead (I think). --HG-- extra : transplant_source : %96v8%CE%21%82%CCh%0A%83%0C%BC%C5%91F%89W%E4%B8%AE
2008-03-02Fix compilation with older external ffmpeg.Darren Salt
HAVE_FFMPEG_AVUTIL_H wasn't being defined, and there were some incorrect checks.
2008-03-01Support the new FFmpeg include layout. Now the same include directive should ↵Diego 'Flameeyes' Pettenò
work for both internal and external FFmpeg (with new layout).
2008-01-05Enable the VMware Screen codec (ffmpeg).Darren Salt
2008-01-01Avoid potential install-time mislinkage against libxine.so.2.Darren Salt
2007-12-31Add a missing initialisation.Reinhard Nißl
2007-12-31Provide FFmpeg options skip_loop_filter and choose_speed_over_accuracy.Reinhard Nißl
Both options tweak FFmpeg for the sake of decoding speed. The first one skips the loop filter for certain frames while the latter allows FFmpeg to violate the codec's specification. Both options may lead to artefacts.
2007-12-09Enable the WMV VC1 (ffmpeg) codec.Darren Salt
--HG-- extra : transplant_source : %15%CD%0B%2C%F2g%03%B9%25%D4%B2%8BQ%1F%EB%BB%8F%28%9B%C8
2007-12-07Don't try to free the frame if it's not allocated. Fixes bug FS#3.Diego 'Flameeyes' Pettenò
2007-12-07Fix compilation of DXR3 support with external ffmpeg. Untested with actual DXR3.Darren Salt
Compilation was "broken" by ffmpeg rev. 9283.
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-10Fix interfacing FFmpeg especially for interlaced content.Reinhard Nißl
For H.264 content, VO_INTERLACED_FLAG must be set all the time and not only for interlaced frames. Frames should be allocated so that size is a multiple of a marcoblock (16x16). Any excess pixels are cropped away. top_field_first and progressive_frame can be transferred always, not just in demux_mpeg_pes context. But for bad frames it doesn't make sense to transfer those fields as the information would be from the previous frame and could be incorrect for the current frame. Thus, the workaround for demux_mpeg_pes cannot rely on these fields either and needs to use a separate variable to detect fields being sent as frames. --HG-- extra : transplant_source : %A8%25%B9I%A4%5B%E5%AE%DD%EF_c%E35%CBSRn%22%A4
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-11-01Improve interfacing FFmpeg especially for interlaced content.Reinhard Nißl
The changes include setting VO_INTERLACED_FLAG for interlaced frames, adjusting frame height to a multiple of 32 lines (i. e. the height of one macroblock per field) and cropping away the extra lines, setting progressive_frame and top_field_first as supplied by FFmpeg, fixing the workaround for demux_mpep_pes sending fields as frames and bad frame allocation (i. e. use at least 16x32 pixels). --HG-- extra : transplant_source : %C7c%951J%F5o%C5%F1%16%B4%05%95%D0J%C0j%7F%E6%F8
2007-10-23Generate video_step from stream and work around wrong field duration.Reinhard Nißl
When demux_mpeg_pes uses FFmpeg for H.264 streams, it doesn't set video_step as it doesn't know it. But FFmpeg provides it deriveable from time_base. So let's use the derived value as long as it isn't set explicitly. Furthermore, demux_mpeg_pes set's BUF_FLAG_FRAME_END whenever it encounters a H.264 access unit delimiter, which appears between fields or frames, but it doesn't know, whether it deals with fields or frames. avcodec_decode_video() on the other hand sets got_picture even when the decoded data specifies just a field. But it also sets the flag interlaced_frame. So let's use this flag to halve video_step in order to show the decoded images just for a field duration. --HG-- extra : transplant_source : %40Q%E3fO%3C%E7%A0%02%BA%9D%1D%BD%81%F0f-%EAs%87
2007-10-01Add UI option to configure FFmpeg's video decoder thread count.Reinhard Nißl
External FFmpeg has recently gained multithreaded H.264 decoding and to make use of this feature, it is necessary to inform FFmpeg about the maximum number of threads it may use for decoding.
2007-10-01Set PTS even for bad frames to improve syncing of audio and video.Reinhard Nißl
When a stream doesn't start with an IDR frame, there will be several seconds of bad frames and not setting PTS on those frames causes an unnecessary delay in syncing audio and video.
2007-10-01Fix allocation of 0x0 frame when frame size is still unknown.Reinhard Nißl
When a stream doesn't start with an IDR frame, then frame size isn't known, but all frames up to an IDR frame are reported as bad frames. In such a case, a frame of size 1x1 will be allocated as xine-lib cannot handle 0x0 frames properly, i. e. many output drivers simply crash.
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-07-02Fix demuxing of wavpack files, and avoid crashing with the tags at the end ↵Diego 'Flameeyes' Pettenò
of the file.
2007-06-16Rename the BE/LE/ME macros with a _X_ prefix, so they don't clash with ↵Diego 'Flameeyes' Pettenò
Solaris definitions.
2007-06-14Fix building, missing include path.Albert Lee
xine-lib-specific patch.
2007-06-14Init mpegvideo only once (fixes when MMX and mediaLib are both present).Albert Lee
Applied to FFmpeg tree already.
2007-06-14Init dsputil only once (fixes when MMX and mediaLib are both present).Albert Lee
Applied to FFmpeg tree already.
2007-06-09Add $(LTLIBINTL) wherever objdump -R shows a dependency on gettext functions.Darren Salt
Some plugins may have been missed due to them not being built here.
2007-05-17Convert comments (and the occasional string where it doesn't matter) to UTF-8.Darren Salt
2007-05-06Merge Reinhard Nissl's ffmpeg fixes.Darren Salt
2007-04-15Initialize image size in bmiheader with data from AVCodecContext, if still ↵Reinhard Nißl
uninitalized.
2007-04-10Allow xine-lib to be built with CFLAGS='-O0 -g3' by changing optimizationReinhard Nißl
as needed for some files where gcc runs out of registers otherwise.
2007-04-06Remove executable status from all files which shouldn't have it.Darren Salt
2007-04-04Fix xine_encoder.c presence in EXTRA_DIST.Diego 'Flameeyes' Pettenò
2007-04-04Rename FFmpeg plugins' sources so that there are no conflicts with other ↵Diego 'Flameeyes' Pettenò
source files. This way when you get a backtrace, video_decoder.c is never the FFmpeg one. --HG-- rename : src/libffmpeg/audio_decoder.c => src/libffmpeg/ff_audio_decoder.c rename : src/libffmpeg/dvaudio_decoder.c => src/libffmpeg/ff_dvaudio_decoder.c rename : src/libffmpeg/mpeg_parser.c => src/libffmpeg/ff_mpeg_parser.c rename : src/libffmpeg/mpeg_parser.h => src/libffmpeg/ff_mpeg_parser.h rename : src/libffmpeg/video_decoder.c => src/libffmpeg/ff_video_decoder.c rename : src/libffmpeg/xine_decoder.c => src/libffmpeg/ffmpeg_decoder.c rename : src/libffmpeg/xine_decoder.h => src/libffmpeg/ffmpeg_decoder.h rename : src/libffmpeg/xine_encoder.c => src/libffmpeg/ffmpeg_encoder.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-04-01Fix MANGLE macro for libpostproc on Darwin (applied on FFmpeg already). ↵Diego 'Flameeyes' Pettenò
Thanks to Matt Messier for his work on OS X portability. CVS patchset: 8785 CVS date: 2007/04/01 22:52:34
2007-03-29Reorder fields, use a bitmask to reduce the size, and change width and ↵Diego 'Flameeyes' Pettenò
height to uint16_t (they are read as 12-bit values). CVS patchset: 8769 CVS date: 2007/03/29 18:52:45
2007-03-29A little more reordering sparing a 4 bytes hole.Diego 'Flameeyes' Pettenò
CVS patchset: 8768 CVS date: 2007/03/29 18:41:02
2007-03-29Create and initialise the mpeg parser only when actually needed, and dispose ↵Diego 'Flameeyes' Pettenò
it on instance disposal. CVS patchset: 8766 CVS date: 2007/03/29 18:00:23
2007-03-29Add a dispose function to clean the allocated buffer.Diego 'Flameeyes' Pettenò
CVS patchset: 8765 CVS date: 2007/03/29 17:59:35
2007-03-29Collapse seven integers used as boolean into 1-bit fields. Helps also ↵Diego 'Flameeyes' Pettenò
reducing the holes. CVS patchset: 8764 CVS date: 2007/03/29 17:48:34
2007-03-29Allocate chunk_buffer when initialising the parser, rather than having it ↵Diego 'Flameeyes' Pettenò
inline the ff_video_decoder_t struct. CVS patchset: 8763 CVS date: 2007/03/29 17:31:43
2007-03-22Instead of defining HAVE_ASMALIGN_POT during configure and then creating the ↵Diego 'Flameeyes' Pettenò
macro ASMALIGN(ZEROBITS) in ffmpeg's code, define it directly at configure, this way it can be used for the planar postplugin, that will then build with Apple's AS. CVS patchset: 8742 CVS date: 2007/03/22 23:32:05
2007-03-22Fix crosscompile to use build and host definition from autoconf, rather than ↵Diego 'Flameeyes' Pettenò
using hacksaround. Also replace the whole pthread check with an improved macro originally written for XCB, this way it's not going to try linking the fake -lpthread on Darwin, and it also does not force a -I/usr/local/include on FreeBSD. The new macro respects the same variables set by ports, so that it's even more transparent to FreeBSD users. CVS patchset: 8739 CVS date: 2007/03/22 20:44:58
2007-03-03Instead of using a padding of arbitrary 32-bits by hand, use memset with the ↵Diego 'Flameeyes' Pettenò
constant used to provide the padding size. CVS patchset: 8640 CVS date: 2007/03/03 13:33:34
2007-02-17fix ffmpeg includes for sparc, seeReinhard Tartler
http://permalink.gmane.org/gmane.comp.video.xine.devel/16362 for details CVS patchset: 8597 CVS date: 2007/02/17 22:39:26
2007-01-28another ffmpeg sync to include h264 security fixesMiguel Freitas
CVS patchset: 8573 CVS date: 2007/01/28 18:38:32