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.
|
|
uninitalized.
|
|
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
|