Update ffms2 to r222. Fixes compilation with ancient ffmpeg's and is a better solution than verm's hack in r3578.

Originally committed to SVN as r3580.
This commit is contained in:
Karl Blomster 2009-09-26 23:54:26 +00:00
parent 16f5d0aea6
commit 5217854199
5 changed files with 34 additions and 4 deletions

View File

@ -41,6 +41,18 @@
# endif
#endif
#ifdef LIBAVCODEC_VERSION_INT
# if (LIBAVCODEC_VERSION_INT) >= (AV_VERSION_INT(52,29,0))
# define FFMS_HAVE_FFMPEG_COLORSPACE_INFO
# else
# ifdef _MSC_VER
# pragma message("WARNING: Your FFmpeg is too old to support reporting colorspace and luma range information. The corresponding fields of FFMS_VideoProperties will be set to 0. Please update FFmpeg to get rid of this warning.")
# else
# warning "Your FFmpeg is too old to support reporting colorspace and luma range information. The corresponding fields of FFMS_VideoProperties will be set to 0. Please update FFmpeg to get rid of this warning."
# endif
# endif
#endif
#ifndef AV_PKT_FLAG_KEY
# define AV_PKT_FLAG_KEY PKT_FLAG_KEY
#endif

View File

@ -133,8 +133,13 @@ FFHaaliVideo::FFHaaliVideo(const char *SourceFile, int Track,
VP.RFFNumerator = CodecContext->time_base.den;
VP.NumFrames = Frames.size();
VP.TopFieldFirst = DecodeFrame->top_field_first;
#ifdef FFMS_HAVE_FFMPEG_COLORSPACE_INFO
VP.ColorSpace = CodecContext->colorspace;
VP.ColorRange = CodecContext->color_range;
#else
VP.ColorSpace = 0;
VP.ColorRange = 0;
#endif
VP.FirstTime = ((Frames.front().DTS * Frames.TB.Num) / (double)Frames.TB.Den) / 1000;
VP.LastTime = ((Frames.back().DTS * Frames.TB.Num) / (double)Frames.TB.Den) / 1000;

View File

@ -69,8 +69,13 @@ FFLAVFVideo::FFLAVFVideo(const char *SourceFile, int Track, FFMS_Index *Index,
VP.RFFNumerator = CodecContext->time_base.den;
VP.NumFrames = Frames.size();
VP.TopFieldFirst = DecodeFrame->top_field_first;
// VP.ColorSpace = CodecContext->colorspace;
// VP.ColorRange = CodecContext->color_range;
#ifdef FFMS_HAVE_FFMPEG_COLORSPACE_INFO
VP.ColorSpace = CodecContext->colorspace;
VP.ColorRange = CodecContext->color_range;
#else
VP.ColorSpace = 0;
VP.ColorRange = 0;
#endif
VP.FirstTime = ((Frames.front().DTS * Frames.TB.Num) / (double)Frames.TB.Den) / 1000;
VP.LastTime = ((Frames.back().DTS * Frames.TB.Num) / (double)Frames.TB.Den) / 1000;

View File

@ -96,8 +96,13 @@ FFMatroskaVideo::FFMatroskaVideo(const char *SourceFile, int Track,
VP.RFFNumerator = CodecContext->time_base.den;
VP.NumFrames = Frames.size();
VP.TopFieldFirst = DecodeFrame->top_field_first;
// VP.ColorSpace = CodecContext->colorspace;
// VP.ColorRange = CodecContext->color_range;
#ifdef FFMS_HAVE_FFMPEG_COLORSPACE_INFO
VP.ColorSpace = CodecContext->colorspace;
VP.ColorRange = CodecContext->color_range;
#else
VP.ColorSpace = 0;
VP.ColorRange = 0;
#endif
VP.FirstTime = ((Frames.front().DTS * Frames.TB.Num) / (double)Frames.TB.Den) / 1000;
VP.LastTime = ((Frames.back().DTS * Frames.TB.Num) / (double)Frames.TB.Den) / 1000;

View File

@ -28,6 +28,9 @@ extern "C" {
#include <libpostproc/postprocess.h>
}
// must be included after ffmpeg headers
#include "ffmscompat.h"
#include <vector>
#include "indexing.h"
#include "utils.h"