updated on Tue Jan 10 12:02:00 UTC 2012
[aur-mirror.git] / bombono-dvd / ffmpeg_arch.diff
blob25a9374d3e12e5482b5771fdf67aec1fea36be5a
1 diff --git a/src/mgui/ffviewer.cpp b/src/mgui/ffviewer.cpp
2 index 3d8e9d9..9e6d31c 100644
3 --- a/src/mgui/ffviewer.cpp
4 +++ b/src/mgui/ffviewer.cpp
5 @@ -32,7 +32,15 @@
6 #include <mlib/read_stream.h> // ReadAllStream()
7 #include <mlib/string.h>
9 -/////////////////////////////////////////
10 +// Прямой доступ к ff_codec_bmp_tags, в частности, закрыл, некий
11 +// Anton Khirnov, см. libavformat/libavformat.v (из него генерится скрипт
12 +// для опции --version-script=<script_file> линковщика ld)
13 +// Вообще, можно воспользоваться av_codec_get_tag(), а доступ к ff_codec_bmp_tags
14 +// получить через ff_avi_muxer->codec_tag (самого же найти по имени "avi") или подобный объект,
15 +// но это сейчас неактуально (никто не попадается на ошибку отсутствия кодека) => игра не стоит свеч
16 +//#define CALC_FF_TAG
18 +#ifdef CALC_FF_TAG
19 // :KLUDGE: потому что riff.h не копируют
20 C_LINKAGE_BEGIN
22 @@ -62,7 +70,7 @@ static uint FFCodecID2Tag(CodecID codec_id)
23 #endif
25 C_LINKAGE_END
26 -/////////////////////////////////////////
27 +#endif // CALC_FF_TAG
29 static AVStream* VideoStream(FFData& ffv)
31 @@ -287,11 +295,6 @@ static bool IsFFError(int av_res)
32 return av_res < 0;
35 -static unsigned char GetChar(uint tag, int bit_begin)
37 - return (tag>>bit_begin) & 0xFF;
40 static bool SetIndex(int& idx, int i, bool b)
42 bool res = (idx == -1) && b;
43 @@ -300,6 +303,12 @@ static bool SetIndex(int& idx, int i, bool b)
44 return res;
47 +#ifdef CALC_FF_TAG
48 +static unsigned char GetChar(uint tag, int bit_begin)
50 + return (tag>>bit_begin) & 0xFF;
53 static std::string CodecID2Str(CodecID codec_id)
55 #ifdef _MSC_VER
56 @@ -316,6 +325,15 @@ static std::string CodecID2Str(CodecID codec_id)
57 return tag_str;
60 +#else // CALC_FF_TAG
62 +static std::string CodecID2Str(CodecID codec_id)
64 + return Int2Str(codec_id);
67 +#endif // CALC_FF_TAG
69 bool OpenInfo(FFData& ffi, const char* fname, FFDiagnosis& diag)
71 std::string& err_str = diag.errStr;