Age | Commit message (Collapse) | Author |
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
of the file.
|
|
Solaris definitions.
|
|
xine-lib-specific patch.
|
|
Applied to FFmpeg tree already.
|
|
Applied to FFmpeg tree already.
|
|
Some plugins may have been missed due to them not being built here.
|
|
|
|
|
|
uninitalized.
|
|
as needed for some files where gcc runs out of registers otherwise.
|
|
|
|
|
|
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
|
|
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
|
|
Thanks to Matt Messier for his work on OS X portability.
CVS patchset: 8785
CVS date: 2007/04/01 22:52:34
|
|
height to uint16_t (they are read as 12-bit values).
CVS patchset: 8769
CVS date: 2007/03/29 18:52:45
|
|
CVS patchset: 8768
CVS date: 2007/03/29 18:41:02
|
|
it on instance disposal.
CVS patchset: 8766
CVS date: 2007/03/29 18:00:23
|
|
CVS patchset: 8765
CVS date: 2007/03/29 17:59:35
|
|
reducing the holes.
CVS patchset: 8764
CVS date: 2007/03/29 17:48:34
|
|
inline the ff_video_decoder_t struct.
CVS patchset: 8763
CVS date: 2007/03/29 17:31:43
|
|
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
|
|
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
|
|
constant used to provide the padding size.
CVS patchset: 8640
CVS date: 2007/03/03 13:33:34
|
|
http://permalink.gmane.org/gmane.comp.video.xine.devel/16362 for details
CVS patchset: 8597
CVS date: 2007/02/17 22:39:26
|
|
CVS patchset: 8573
CVS date: 2007/01/28 18:38:32
|
|
CVS patchset: 8562
CVS date: 2007/01/25 18:44:55
|
|
CVS patchset: 8537
CVS date: 2007/01/21 15:12:21
|
|
CVS patchset: 8512
CVS date: 2007/01/15 22:52:33
|
|
CVS patchset: 8511
CVS date: 2007/01/15 21:27:34
|
|
CVS patchset: 8509
CVS date: 2007/01/14 17:16:14
|
|
The only difference with the standard VP6 codec is that the image is not flipped upside-down.
CVS patchset: 8507
CVS date: 2007/01/14 16:53:37
|
|
CVS patchset: 8505
CVS date: 2007/01/14 02:45:40
|
|
CVS patchset: 8504
CVS date: 2007/01/14 00:08:00
|
|
* Workaround ffmpeg buggy codecs that don't release their DR1 frames.
* Fix several segfaults and freezing problem with H264 streams that use a lot
of reference frames (eg. 15)
* Initial support to enable/disable ffmpeg codecs. Codecs may be disabled in
groups by --disable-ffmpeg-uncommon-codecs/--disable-ffmpeg-popular-codecs
Think of "uncommon" codecs what people would never want to play with their
PDAs (they will save memory by removing them).
Note: currently both uncommon/popular codecs are _build_ but disabled.
that is, build system still need some improvements to really save memory.
warning: non-autoconf guru playing with the build system, likely breakage.
CVS patchset: 8499
CVS date: 2007/01/13 21:19:52
|
|
Otherwise we get a link error about mjpeg_init being missing.
CVS patchset: 8478
CVS date: 2006/12/30 22:25:04
|
|
CVS patchset: 8460
CVS date: 2006/12/26 03:20:12
|
|
CVS patchset: 8430
CVS date: 2006/12/21 00:11:31
|
|
CVS patchset: 8418
CVS date: 2006/12/15 11:31:28
|
|
CVS patchset: 8405
CVS date: 2006/12/04 22:25:13
|
|
the decoder is still buggy so it must be used only if w32codec is not present
CVS patchset: 8399
CVS date: 2006/12/02 21:06:18
|
|
CVS patchset: 8385
CVS date: 2006/11/21 17:40:10
|
|
decoding is still broken in recent FFmpeg it seems.
CVS patchset: 8340
CVS date: 2006/10/13 21:41:30
|
|
override avcodec_register_all() function when using external FFmpeg.
CVS patchset: 8334
CVS date: 2006/10/11 12:53:12
|