summaryrefslogtreecommitdiff
path: root/src/combined/ffmpeg/ff_video_decoder.c
AgeCommit message (Collapse)Author
2009-11-05Merge from 1.1 (with adaptations).Darren Salt
--HG-- rename : src/xine-engine/scratch.h => include/xine/scratch.h rename : src/xine-utils/xmllexer.h => include/xine/xmllexer.h rename : src/xine-utils/xmlparser.h => include/xine/xmlparser.h rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c rename : src/libspuhdmv/xine_hdmv_decoder.c => src/spu_dec/spuhdmv_decoder.c
2009-04-03Merge from 1.1, discarding new "#if"s in ff_video_decoder.c.Darren Salt
2009-03-16Merge from 1.1.Darren Salt
--HG-- rename : src/libmpeg2new/Makefile.am => src/video_dec/libmpeg2new/Makefile.am rename : src/libmpeg2new/libmpeg2/Makefile.am => src/video_dec/libmpeg2new/libmpeg2/Makefile.am
2009-03-08Fix build with libavutil >= 50.0.0Alexis Ballier
PIX_FMT_RGBA32 was #defined to PIX_FMT_RGB32 since 2006.
2009-04-02Merge.Darren Salt
2009-04-02Fix up building with libavcodec.so.52 < 52.20.0.Darren Salt
2009-04-02FFmpeg: add support for reordered_opaque to custom get_buffer() implementation.Reinhard Nißl
After adding support for PTS reordering some time ago, any codecs using direct rendering did no longer pass PTS values to the images due to missing support for reordered_opaque in xine-lib's custom get_buffer() function. With this fix, A/V sync should now be as before or even better, due to PTS reordering (the intent of the earlier changesets).
2009-03-28Fix calculation of frame duration for ffmpeg-decoded formats.Reinhard Nißl
2009-03-28Report frame duration changes.Reinhard Nißl
2009-01-16Merge ffmeg codecs list creation rework from 1.1 with adaptations.Darren Salt
There are no CONFIG_*_DECODER macros, so don't write the #ifdefs for them. Instead, check the avcodec version number if requested ("config=foo=51,50,1"). Also, allow for AV_VERSION_INT being undefined.
2009-01-16Rework ffmpeg codecs lists creation.Darren Salt
This is intended to make it easier to add new codecs without breaking compilation with older ffmpeg and to see which codecs need to be added.
2009-01-11Merge from 1.1, dropping the build fix for old libavcodec.Darren Salt
--HG-- rename : doc/faq/faq.sgml => doc/faq/faq.docbook
2009-01-11Merge.Darren Salt
2009-01-11Reapply cset ffb2e82d7bb7 (accidental removal by this cset's parent).Darren Salt
2009-01-11Merge.Darren Salt
2009-01-11Fix PTS tagging: large (negative) PTS values are a result of turning it off ↵Reinhard Nißl
to early The current code turns of PTS tagging as soon as a match is found. But depending on picture reordering, there may be later frames which still have the tag. The result is that most likely the highest bit is set which makes the PTS values large negative numbers which cause a clock error and make streams unplayable. To fix this issue, a stable counter is introduced. The two passes of PTS tagging are now switched after the tag has been seen stable for 100 frames. This should protect us from picture reordering issues. --HG-- extra : transplant_source : I%2A%BBi%A5nb/%5E%12%9Ay%7B%BAj%7D%0B%16%0By
2009-01-08Fix build with libavcodec < 51.68.0.Darren Salt
This covers the internal snapshot and the version in Debian lenny.
2009-01-05Merge security fixes from 1.1.Darren Salt
--HG-- rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c
2009-01-05Merge security fixes.Darren Salt
2009-01-04Merge from 1.1.Darren Salt
2009-01-04At discontinuity all stored PTS values need to be reset to 0, as they are ↵Reinhard Nißl
now invalid. But as PTS values are stored in FFmpeg's decoder, there is no way to reset them to 0. Therefore PTS tagging has been introduced. At discontinuity a tag is generated and applied to all new PTS values. Any returned PTS value is checked for this tag and outdated PTS values are reset to 0. When the tag appears on returned PTS values then tagging is reset.
2009-01-04Feed buffer PTS through FFmpeg's decoder to have them reordered to display ↵Reinhard Nißl
order. Attaching buffer PTS, which are in decoding order, to decoded images is simply wrong. FFmpeg meanwhile provides a way to pass PTS values through its decoder too. As a result they get reordered to display order and can be attached to the decoded frames.
2008-12-15Merge from 1.1; update PO files; make buildable.Diego E. 'Flameeyes' Pettenò
--HG-- rename : include/xine.h.in => include/xine.h rename : src/xine-utils/attributes.h => include/xine/attributes.h rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : m4/_xine.m4 => m4/types.m4 rename : po/libxine1.pot => po/libxine2.pot rename : src/libfaad/xine_faad_decoder.c => src/audio_dec/xine_faad_decoder.c rename : src/libspucc/cc_decoder.h => src/spu_dec/cc_decoder.h rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c rename : src/libspucc/xine_cc_decoder.c => src/spu_dec/xine_cc_decoder.c rename : src/libmpeg2/mpeg2.h => src/video_dec/libmpeg2/mpeg2.h
2008-11-20Memory access fixes:František Dvořák
- goom initialization - matroska playing recent files with AAC - replace free() by ffmpeg's av_free() in ff decoders
2008-08-25Fix a possible heap buffer overflow in the ffmpeg video decoder.Darren Salt
This could happen where the actual image height is not a multiple of 16. --HG-- extra : transplant_source : %10%BD%8C%FE%BA%CA0%D5k%8A%9CH%DD%B1-%A7E4%CD%E6
2008-07-17Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c
2008-07-16Add support for the Snow video codec.Darren Salt
2008-06-23Allow for <libavutil/base64.h> etc.Darren Salt
Fixes build failures with some ffmpeg dev packages, e.g. from debian-multimedia.
2008-06-20Merge the avutil branch; port the "raw" video output plugin.Darren Salt
--HG-- rename : src/combined/ffmpeg/ff_dvaudio_decoder.c => src/audio_dec/ff_dvaudio_decoder.c rename : src/combined/ffmpeg/ffmpeg_encoder.c => src/dxr3/ffmpeg_encoder.c
2008-05-23Merge from 1.1. VDR needs to be updated.Diego 'Flameeyes' Pettenò
--HG-- rename : src/liba52/parse.c => contrib/a52dec/parse.c rename : include/xine.h.in => include/xine.h rename : src/xine-engine/alphablend.h => include/xine/alphablend.h rename : src/xine-utils/attributes.h => include/xine/attributes.h rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/input/input_plugin.h => include/xine/input_plugin.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h rename : src/libxineadec/fooaudio.c => src/audio_dec/fooaudio.c rename : src/libxineadec/gsm610.c => src/audio_dec/gsm610.c rename : src/liba52/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/audio_dec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/audio_dec/xine_faad_decoder.c rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/audio_dec/xine_musepack_decoder.c 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.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/libspucc/cc_decoder.c => src/spu_dec/cc_decoder.c rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c rename : src/libspudec/spu.c => src/spu_dec/spudec.c rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c rename : src/libspucc/xine_cc_decoder.c => src/spu_dec/xine_cc_decoder.c rename : src/libxinevdec/bitplane.c => src/video_dec/bitplane.c rename : src/libxinevdec/foovideo.c => src/video_dec/foovideo.c rename : src/libxinevdec/gdkpixbuf.c => src/video_dec/gdkpixbuf.c rename : src/libxinevdec/image.c => src/video_dec/image.c rename : src/libmpeg2/xine_mpeg2_decoder.c => src/video_dec/libmpeg2/xine_mpeg2_decoder.c rename : src/libxinevdec/rgb.c => src/video_dec/rgb.c rename : src/libxinevdec/yuv.c => src/video_dec/yuv.c
2008-05-07xine_xmalloc() deprecation: replace its use with static and non-zero size.Diego 'Flameeyes' Pettenò
The xine_xmalloc() function is going to be deprecated, as its behaviour is rarely needed as such, and it's thus misused. With this, almost all uses of xine_xmalloc() with static size (for instance the value returned by sizeof()) or with a size that is guaranteed not to be zero (like strlen()+1) are replaced with calls to either calloc(1, ...) or malloc(). malloc() is used whenever the allocated memory is going to be immediately overwritten, while calloc() is used in every other case, as it sets the whole memory area to zero. --HG-- extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
2008-05-06Merge from 1.1.Darren Salt
--HG-- rename : include/xine.h.in => include/xine.h rename : src/xine-utils/attributes.h => include/xine/attributes.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
2008-04-30Fix green smearing in h264 decodingJason Tackaberry
Occasionally when playing h264-encoded files, green blocks will appear at the edges of the frame, and get smeared around (following the motion vectors, of course). This bug has existing in Xine for well over a year, and I keep hoping it will be fixed, but it never was. I recently learned that gstreamer had a similar problem and it was fixed last year. With this as a hint, I found http://bugzilla.gnome.org/show_bug.cgi?id=364139 and the patch attached to that bug. I've adapted that patch to xine, and it is attached. I have compared clips before and after applying this patch, and in all cases the green artifacts have gone away, and I have seen no negative side effects.
2008-04-21Merge from 1.1.Darren Salt
2008-04-21Fix display of some MJPEG streams (YUVJ420P).Darren Salt
2008-04-21Debug logging of ffmpeg pixel format in case of display errors.Darren Salt
2008-04-09Merge from 1.2 main.Darren Salt
2008-04-08Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c
2008-04-07Use ffmpeg's cook decoder and fix Real decoder bugsJinghua Luo
This patch drops support for RV20.
2008-03-18Move ffmpeg plugin code into src/combined/ffmpeg & adapt for current ffmpeg.Darren Salt
The source remains compilable with older ffmpeg, whether internal or external. --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
2008-03-04Merge from 1.1.Darren Salt
--HG-- rename : src/libffmpeg/ff_dvaudio_decoder.c => src/combined/ffmpeg/ff_dvaudio_decoder.c rename : src/libffmpeg/ff_video_decoder.c => src/combined/ffmpeg/ff_video_decoder.c rename : src/libffmpeg/ffmpeg_decoder.h => src/combined/ffmpeg/ffmpeg_decoder.h
2008-03-01Remove stray #if and #endif.Diego 'Flameeyes' Pettenò
2008-03-01Merge from 1.2 tip.Diego 'Flameeyes' Pettenò
--HG-- rename : src/combined/ffmpeg/ff_dvaudio_decoder.c => src/audio_dec/ff_dvaudio_decoder.c
2008-03-01Merge from 1.1.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libffmpeg/Makefile.am => src/combined/ffmpeg/Makefile.am rename : src/libffmpeg/ff_dvaudio_decoder.c => src/combined/ffmpeg/ff_dvaudio_decoder.c rename : src/libffmpeg/ff_video_decoder.c => src/combined/ffmpeg/ff_video_decoder.c rename : src/libffmpeg/ffmpeg_decoder.h => src/combined/ffmpeg/ffmpeg_decoder.h
2008-01-06Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/libffmpeg/ff_video_decoder.c => src/combined/ffmpeg/ff_video_decoder.c rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c
2008-01-05Merge from 1.2.Diego 'Flameeyes' Pettenò
2008-01-01Merge from 1.1.Darren Salt
--HG-- rename : src/xine-utils/xmllexer.h => include/xine/xmllexer.h rename : src/libffmpeg/ff_video_decoder.c => src/combined/ffmpeg/ff_video_decoder.c rename : src/libmpeg2/header.c => src/video_dec/libmpeg2/header.c rename : src/libmpeg2/mpeg2_internal.h => src/video_dec/libmpeg2/mpeg2_internal.h
2007-12-23Mark all supported_types constant.Diego 'Flameeyes' Pettenò
2007-12-23Merge from 1.2 main branch.Diego 'Flameeyes' Pettenò
--HG-- rename : src/xine-utils/xineutils.h => include/xine/xineutils.h rename : src/libxineadec/Makefile.am => src/audio_dec/Makefile.am rename : src/libxineadec/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c 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_dvdata.h => src/combined/ffmpeg/ff_dvdata.h rename : src/libffmpeg/ff_video_decoder.c => src/combined/ffmpeg/ff_video_decoder.c rename : src/libffmpeg/ffmpeg_encoder.c => src/combined/ffmpeg/ffmpeg_encoder.c rename : src/libmpeg2/Makefile.am => src/video_dec/libmpeg2/Makefile.am rename : src/libmpeg2/decode.c => src/video_dec/libmpeg2/decode.c
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