From f64b10978b8612ef3da0ae7e0d26f7714ab91bad Mon Sep 17 00:00:00 2001 From: Fredrik Mellbin Date: Sat, 25 Apr 2009 09:26:03 +0000 Subject: [PATCH] Fix the video provider after the FFMS2 changes Originally committed to SVN as r2851. --- aegisub/src/video_provider_ffmpegsource.cpp | 18 +++++++++--------- aegisub/src/video_provider_ffmpegsource.h | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/aegisub/src/video_provider_ffmpegsource.cpp b/aegisub/src/video_provider_ffmpegsource.cpp index 75f59b258..5d94072bc 100644 --- a/aegisub/src/video_provider_ffmpegsource.cpp +++ b/aegisub/src/video_provider_ffmpegsource.cpp @@ -55,8 +55,8 @@ FFmpegSourceVideoProvider::FFmpegSourceVideoProvider(Aegisub::String filename, d // clean up variables VideoSource = NULL; Index = NULL; - DstFormat = PIX_FMT_NONE; - LastDstFormat = PIX_FMT_NONE; + DstFormat = FFMS_GetPixFmt("PIX_FMT_NONE"); + LastDstFormat = FFMS_GetPixFmt("PIX_FMT_NONE"); KeyFramesLoaded = false; FrameNumber = -1; MessageSize = sizeof(FFMSErrorMessage); @@ -194,8 +194,8 @@ void FFmpegSourceVideoProvider::Close() { if (Index) FFMS_DestroyFrameIndex(Index); - DstFormat = PIX_FMT_NONE; - LastDstFormat = PIX_FMT_NONE; + DstFormat = FFMS_GetPixFmt("PIX_FMT_NONE"); + LastDstFormat = FFMS_GetPixFmt("PIX_FMT_NONE"); KeyFramesLoaded = false; KeyFramesList.clear(); TimecodesVector.clear(); @@ -226,19 +226,19 @@ const AegiVideoFrame FFmpegSourceVideoProvider::GetFrame(int _n, int FormatType) // choose output format if (FormatType & FORMAT_RGB32 && big_endian) { - DstFormat = PIX_FMT_BGR32_1; + DstFormat = FFMS_GetPixFmt("PIX_FMT_BGR32_1"); DstFrame.format = FORMAT_RGB32; } else if (FormatType & FORMAT_RGB32 && !big_endian) { - DstFormat = PIX_FMT_RGB32; + DstFormat = FFMS_GetPixFmt("PIX_FMT_RGB32"); DstFrame.format = FORMAT_RGB32; } else if (FormatType & FORMAT_RGB24) { - DstFormat = PIX_FMT_BGR24; + DstFormat = FFMS_GetPixFmt("PIX_FMT_BGR24"); DstFrame.format = FORMAT_RGB24; } else if (FormatType & FORMAT_YV12) { - DstFormat = PIX_FMT_YUV420P; // may or may not work + DstFormat = FFMS_GetPixFmt("PIX_FMT_YUV420P"); // may or may not work DstFrame.format = FORMAT_YV12; } else if (FormatType & FORMAT_YUY2) { - DstFormat = PIX_FMT_YUYV422; + DstFormat = FFMS_GetPixFmt("PIX_FMT_YUYV422"); DstFrame.format = FORMAT_YUY2; } else throw _T("FFmpegSource video provider: upstream provider requested unknown or unsupported pixel format"); diff --git a/aegisub/src/video_provider_ffmpegsource.h b/aegisub/src/video_provider_ffmpegsource.h index 38e23ae2f..9b8be2203 100644 --- a/aegisub/src/video_provider_ffmpegsource.h +++ b/aegisub/src/video_provider_ffmpegsource.h @@ -57,8 +57,8 @@ private: std::vector TimecodesVector; FrameRate Timecodes; - PixelFormat DstFormat; - PixelFormat LastDstFormat; + int DstFormat; + int LastDstFormat; AegiVideoFrame CurFrame; char FFMSErrorMessage[1024];