summaryrefslogtreecommitdiff
path: root/src/libffmpeg/ff_video_decoder.c
AgeCommit message (Collapse)Author
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-04-15Initialize image size in bmiheader with data from AVCodecContext, if still ↵Reinhard Nißl
uninitalized.
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