summaryrefslogtreecommitdiff
path: root/src/libffmpeg/ff_video_decoder.c
AgeCommit message (Collapse)Author
2008-01-05Enable the VMware Screen codec (ffmpeg).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-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-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