summaryrefslogtreecommitdiff
path: root/src/libffmpeg/ff_video_decoder.c
AgeCommit message (Collapse)Author
2007-12-22Move libffmpeg into combined/ffmpeg directory.Diego 'Flameeyes' Pettenò
--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
2007-12-19Update all the code to the new headers layout.Diego 'Flameeyes' Pettenò
2007-12-11Use default_*_class_dispose macro whenever the class dispose function only ↵Diego 'Flameeyes' Pettenò
called free().
2007-12-11Use N_() rather than _(), passing the string just once to gettext().Diego 'Flameeyes' Pettenò
This way the gettext code for description does not need to be repeated by every plugin.
2007-12-11Update all misc plugins to the new identifier/description interface. Add _() ↵Diego 'Flameeyes' Pettenò
where missing, for i18n.
2007-12-09Merge from 1.1.Darren Salt
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-07Merge from 1.1.Diego 'Flameeyes' Pettenò
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-10Merge from 1.1.Darren Salt
--HG-- rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c rename : src/libmad/xine_mad_decoder.c => src/libxineadec/xine_mad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
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-09Merge FSF address changes from 1.1 branch.Diego 'Flameeyes' Pettenò
--HG-- rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c rename : src/combined/demux_flac.c => src/combined/flac_demuxer.c rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
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-10-31Merge from 1.1.Darren Salt
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-23Merge from 1.1, updating plugin Conflicts/Replaces accordingly.Darren Salt
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-03Merge from 1.1.Darren Salt
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-16Merge open()/glibc (debug #define) workaround from 1.1; fix up for 1.2 changes.Darren Salt
This does not touch code in contrib.
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-02Merge with 1.1.Diego 'Flameeyes' Pettenò
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 (1.2 branch commit).
2007-06-16Rename the BE/LE/ME macros with a _X_ prefix, so they don't clash with ↵Diego 'Flameeyes' Pettenò
Solaris definitions.
2007-05-08Merge from 1.1.Darren Salt
2007-04-15Initialize image size in bmiheader with data from AVCodecContext, if still ↵Reinhard Nißl
uninitalized.
2007-04-09Check for external FFmpeg before checking if the given decoder wasDiego 'Flameeyes' Pettenò
enabled in configuration. As external FFmpeg does not install its own ffmpeg_config.h, we have to assume that it supports every buffer type; this should probably be checked for errors when opening the decode, but at least it should work to the same extent it worked on 1.1.
2007-04-09Use ffmpeg_config.h only when using internal FFmpeg.Diego 'Flameeyes' Pettenò
This way there's no need to fake it when using the external copy.
2007-04-04Merge with main repository.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libffmpeg/dvaudio_decoder.c => src/libffmpeg/ff_dvaudio_decoder.c rename : src/libffmpeg/video_decoder.c => src/libffmpeg/ff_video_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-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