diff --git a/aegisub/FFmpegSource2/ffaudiosource.cpp b/aegisub/FFmpegSource2/ffaudiosource.cpp
index 488fa4ae0..96d3b022c 100644
--- a/aegisub/FFmpegSource2/ffaudiosource.cpp
+++ b/aegisub/FFmpegSource2/ffaudiosource.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffaudiosource.h b/aegisub/FFmpegSource2/ffaudiosource.h
index 8a43dfe05..b66a44a17 100644
--- a/aegisub/FFmpegSource2/ffaudiosource.h
+++ b/aegisub/FFmpegSource2/ffaudiosource.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffavisynth.cpp b/aegisub/FFmpegSource2/ffavisynth.cpp
index ecf285a3b..b0c0231f3 100644
--- a/aegisub/FFmpegSource2/ffavisynth.cpp
+++ b/aegisub/FFmpegSource2/ffavisynth.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffavisynth.h b/aegisub/FFmpegSource2/ffavisynth.h
index 1c3a94ad5..49731501c 100644
--- a/aegisub/FFmpegSource2/ffavisynth.h
+++ b/aegisub/FFmpegSource2/ffavisynth.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffavsfilters.cpp b/aegisub/FFmpegSource2/ffavsfilters.cpp
index f257ac11e..c510afedf 100644
--- a/aegisub/FFmpegSource2/ffavsfilters.cpp
+++ b/aegisub/FFmpegSource2/ffavsfilters.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffms.cpp b/aegisub/FFmpegSource2/ffms.cpp
index 15d089d21..2f787bd7d 100644
--- a/aegisub/FFmpegSource2/ffms.cpp
+++ b/aegisub/FFmpegSource2/ffms.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffms.h b/aegisub/FFmpegSource2/ffms.h
index efd813171..921c3bee0 100644
--- a/aegisub/FFmpegSource2/ffms.h
+++ b/aegisub/FFmpegSource2/ffms.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -114,8 +114,8 @@ struct AVFrameLite {
};
struct TrackTimeBase {
- int Num;
- int Den;
+ int64_t Num;
+ int64_t Den;
};
class FrameInfo {
diff --git a/aegisub/FFmpegSource2/ffms2.html b/aegisub/FFmpegSource2/ffms2.html
index 068e70818..491ac11ab 100644
--- a/aegisub/FFmpegSource2/ffms2.html
+++ b/aegisub/FFmpegSource2/ffms2.html
@@ -7,7 +7,7 @@ FFmpegSource2 Documentation
FFmpegSource2 Documentation
-Opens files using ffmpeg and nothing else. May be frame accurate on good days. The source is MIT licensed and can be obtained from https://spaceboyz.net/svn/aegisub/trunk/FFmpegSource2. The precompiled binary is GPL licensed. If you are religious you may consider this the second coming.
+Opens files using ffmpeg and nothing else. May be frame accurate on good days. The source is MIT licensed and can be obtained from "http://svn.aegisub.net/trunk/aegisub/FFmpegSource2/". The precompiled binary is GPL licensed. If you are religious you may consider this the second coming.
Compatibility - Video
@@ -226,6 +226,11 @@ Note that --enable-w32threads is required for multithreaded decoding to work.
Changes
+- 2.00 beta 6
+- Negative timecodes and other bugs caused by an integer overflow fixed
+- Updated FFmpeg to rev X
+
+
- 2.00 beta 5
- FFMSIndex should now print the progress properly when another application reads its output
- Added missing variables and explanations to the manual
@@ -234,7 +239,6 @@ Note that --enable-w32threads is required for multithreaded decoding to work.
- Updated FFmpeg to rev 18249
-
- 2.00 beta 4
- Added the function FFNoLog which suppresses all messages from ffmpeg
- Experimental new TS parsing using Haali's splitter (with bugs)
diff --git a/aegisub/FFmpegSource2/ffmsindex.cpp b/aegisub/FFmpegSource2/ffmsindex.cpp
index 64ab49953..d6d2d8098 100644
--- a/aegisub/FFmpegSource2/ffmsindex.cpp
+++ b/aegisub/FFmpegSource2/ffmsindex.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2008 Karl Blomster
+// Copyright (c) 2008-2009 Karl Blomster
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffpp.cpp b/aegisub/FFmpegSource2/ffpp.cpp
index f87e4eca7..2e274b354 100644
--- a/aegisub/FFmpegSource2/ffpp.cpp
+++ b/aegisub/FFmpegSource2/ffpp.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffpp.h b/aegisub/FFmpegSource2/ffpp.h
index 0f8f3bbb6..e08f26f19 100644
--- a/aegisub/FFmpegSource2/ffpp.h
+++ b/aegisub/FFmpegSource2/ffpp.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffswscale.cpp b/aegisub/FFmpegSource2/ffswscale.cpp
index 10e5e2344..29a33c7eb 100644
--- a/aegisub/FFmpegSource2/ffswscale.cpp
+++ b/aegisub/FFmpegSource2/ffswscale.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffswscale.h b/aegisub/FFmpegSource2/ffswscale.h
index 04f47658d..89878324f 100644
--- a/aegisub/FFmpegSource2/ffswscale.h
+++ b/aegisub/FFmpegSource2/ffswscale.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffvideosource.cpp b/aegisub/FFmpegSource2/ffvideosource.cpp
index a3f2ac710..aaa8c3321 100644
--- a/aegisub/FFmpegSource2/ffvideosource.cpp
+++ b/aegisub/FFmpegSource2/ffvideosource.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/ffvideosource.h b/aegisub/FFmpegSource2/ffvideosource.h
index a466aa305..c6e9003bc 100644
--- a/aegisub/FFmpegSource2/ffvideosource.h
+++ b/aegisub/FFmpegSource2/ffvideosource.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/indexing.cpp b/aegisub/FFmpegSource2/indexing.cpp
index 270d8a92a..20033bf04 100644
--- a/aegisub/FFmpegSource2/indexing.cpp
+++ b/aegisub/FFmpegSource2/indexing.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -188,9 +188,9 @@ int WriteIndex(const char *IndexFile, FrameIndex *TrackIndices, char *ErrorMsg,
for (unsigned int i = 0; i < IH.Tracks; i++) {
int TT = (*TrackIndices)[i].TT;
Index.write(reinterpret_cast(&TT), sizeof(TT));
- int Num = (*TrackIndices)[i].TB.Num;
+ int64_t Num = (*TrackIndices)[i].TB.Num;
Index.write(reinterpret_cast(&Num), sizeof(Num));
- int Den = (*TrackIndices)[i].TB.Den;
+ int64_t Den = (*TrackIndices)[i].TB.Den;
Index.write(reinterpret_cast(&Den), sizeof(Den));
size_t Frames = (*TrackIndices)[i].size();
Index.write(reinterpret_cast(&Frames), sizeof(Frames));
@@ -610,7 +610,7 @@ FrameIndex *MakeIndex(const char *SourceFile, int IndexMask, int DumpMask, const
TrackIndices->Decoder = 0;
for (unsigned int i = 0; i < FormatContext->nb_streams; i++)
- TrackIndices->push_back(FrameInfoVector(FormatContext->streams[i]->time_base.num * 1000,
+ TrackIndices->push_back(FrameInfoVector((int64_t)FormatContext->streams[i]->time_base.num * 1000,
FormatContext->streams[i]->time_base.den,
FormatContext->streams[i]->codec->codec_type));
@@ -714,9 +714,9 @@ FrameIndex *ReadIndex(const char *IndexFile, char *ErrorMsg, unsigned MsgSize) {
// Read how many records belong to the current stream
int TT;
Index.read(reinterpret_cast(&TT), sizeof(TT));
- int Num;
+ int64_t Num;
Index.read(reinterpret_cast(&Num), sizeof(Num));
- int Den;
+ int64_t Den;
Index.read(reinterpret_cast(&Den), sizeof(Den));
size_t Frames;
Index.read(reinterpret_cast(&Frames), sizeof(Frames));
@@ -789,7 +789,7 @@ FrameInfoVector::FrameInfoVector() {
this->TB.Den = 0;
}
-FrameInfoVector::FrameInfoVector(int Num, int Den, int TT) {
+FrameInfoVector::FrameInfoVector(int64_t Num, int64_t Den, int TT) {
this->TT = TT;
this->TB.Num = Num;
this->TB.Den = Den;
diff --git a/aegisub/FFmpegSource2/indexing.h b/aegisub/FFmpegSource2/indexing.h
index 1a5978ab2..2ab33c114 100644
--- a/aegisub/FFmpegSource2/indexing.h
+++ b/aegisub/FFmpegSource2/indexing.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -25,7 +25,7 @@
#include "utils.h"
#include "ffms.h"
-#define INDEXVERSION 12
+#define INDEXVERSION 15
#define INDEXID 0x53920873
struct IndexHeader {
@@ -46,7 +46,7 @@ public:
int WriteTimecodes(const char *TimecodeFile, char *ErrorMsg, unsigned MsgSize);
FrameInfoVector();
- FrameInfoVector(int Num, int Den, int TT);
+ FrameInfoVector(int64_t Num, int64_t Den, int TT);
};
class FrameIndex : public std::vector {
diff --git a/aegisub/FFmpegSource2/stdiostream.c b/aegisub/FFmpegSource2/stdiostream.c
index f0d9500f2..18f6d8368 100644
--- a/aegisub/FFmpegSource2/stdiostream.c
+++ b/aegisub/FFmpegSource2/stdiostream.c
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/stdiostream.h b/aegisub/FFmpegSource2/stdiostream.h
index 5fb31592e..2b8d0ae8a 100644
--- a/aegisub/FFmpegSource2/stdiostream.h
+++ b/aegisub/FFmpegSource2/stdiostream.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/utils.cpp b/aegisub/FFmpegSource2/utils.cpp
index aaaec64a6..a8896bd97 100644
--- a/aegisub/FFmpegSource2/utils.cpp
+++ b/aegisub/FFmpegSource2/utils.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/utils.h b/aegisub/FFmpegSource2/utils.h
index bfa4a6d84..cb3bbb8dc 100644
--- a/aegisub/FFmpegSource2/utils.h
+++ b/aegisub/FFmpegSource2/utils.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/wave64writer.cpp b/aegisub/FFmpegSource2/wave64writer.cpp
index 2670b1584..b3422ce5f 100644
--- a/aegisub/FFmpegSource2/wave64writer.cpp
+++ b/aegisub/FFmpegSource2/wave64writer.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
diff --git a/aegisub/FFmpegSource2/wave64writer.h b/aegisub/FFmpegSource2/wave64writer.h
index d8d0ee6c5..0de74fed8 100644
--- a/aegisub/FFmpegSource2/wave64writer.h
+++ b/aegisub/FFmpegSource2/wave64writer.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2008 Fredrik Mellbin
+// Copyright (c) 2007-2009 Fredrik Mellbin
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal