http://bugs.gentoo.org/200767 http://sourceforge.net/tracker/index.php?func=detail&aid=1947059&group_id=5776&atid=305776 --- mjpegtools-1.9.0rc3/mpeg2enc/encodertypes.h +++ mjpegtools-1.9.0rc3/mpeg2enc/encodertypes.h @@ -25,6 +25,8 @@ */ +#include <stdlib.h> + class Parity { public: --- mjpegtools-1.9.0rc3/mpeg2enc/macroblock.cc +++ mjpegtools-1.9.0rc3/mpeg2enc/macroblock.cc @@ -21,6 +21,7 @@ #include <stdio.h> #include <cassert> +#include <limits.h> #include "macroblock.hh" #include "mpeg2syntaxcodes.h" --- mjpegtools-1.9.0rc3/mpeg2enc/picturereader.cc +++ mjpegtools-1.9.0rc3/mpeg2enc/picturereader.cc @@ -23,6 +23,7 @@ #include "picturereader.hh" #include "mpeg2encoder.hh" #include "imageplanes.hh" +#include <limits.h> //#include <stdio.h> //#include <stdlib.h> //#include <unistd.h> --- mjpegtools-1.9.0rc3/mplex/inputstrm.cpp +++ mjpegtools-1.9.0rc3/mplex/inputstrm.cpp @@ -23,6 +23,7 @@ #include <config.h> #include <assert.h> +#include <limits.h> #include "mjpeg_types.h" #include "inputstrm.hpp" --- mjpegtools-1.9.0rc3/mplex/padstrm.cpp +++ mjpegtools-1.9.0rc3/mplex/padstrm.cpp @@ -24,6 +24,7 @@ #include "config.h" #endif +#include <string.h> #include "padstrm.hpp" --- mjpegtools-1.9.0rc3/mplex/multiplexor.cpp +++ mjpegtools-1.9.0rc3/mplex/multiplexor.cpp @@ -22,6 +22,7 @@ #include <config.h> #include <math.h> #include <stdlib.h> +#include <string.h> #include <mjpeg_types.h> #include <mjpeg_logging.h> --- mjpegtools-1.9.0rc3/mplex/main.cpp +++ mjpegtools-1.9.0rc3/mplex/main.cpp @@ -31,6 +31,7 @@ #include <getopt.h> #endif #include <string> +#include <string.h> #include <memory> #include <sys/stat.h> #ifndef _WIN32 --- mjpegtools-1.9.0rc3/y4mdenoise/Set.hh +++ mjpegtools-1.9.0rc3/y4mdenoise/Set.hh @@ -23,7 +23,7 @@ // How we implement ourselves. public: - typedef typename Imp::Allocator Allocator; + typedef typename Imp::Allocator_t Allocator; // The type of allocator to use to allocate items in the set. Set (const PRED &a_rPred = PRED(), --- mjpegtools-1.9.0rc3/y4mdenoise/SkipList.hh +++ mjpegtools-1.9.0rc3/y4mdenoise/SkipList.hh @@ -57,19 +57,19 @@ // Will give good sorting for up to e^10 items. public: - typedef Allocator<Node,HEADERCHUNK> Allocator; + typedef Allocator<Node,HEADERCHUNK> Allocator_t; // The type of node allocator to use. - static Allocator sm_oNodeAllocator; + static Allocator_t sm_oNodeAllocator; // The default node allocator. SkipList (const PRED &a_rPred = PRED(), - Allocator &a_rAlloc = sm_oNodeAllocator); + Allocator_t &a_rAlloc = sm_oNodeAllocator); // Default constructor. Must be followed by Init(). SkipList (Status_t &a_reStatus, bool a_bAllowDuplicates, uint32_t a_nRandSeed, const PRED &a_rPred = PRED(), - Allocator &a_rAlloc = sm_oNodeAllocator); + Allocator_t &a_rAlloc = sm_oNodeAllocator); // Constructor. Specify whether or not duplicates are allowed, // and provide a random number seed. @@ -255,7 +255,7 @@ private: - Allocator &m_rNodeAllocator; + Allocator_t &m_rNodeAllocator; // Where we get memory to allocate nodes. bool m_bAllowDuplicates; @@ -337,7 +337,7 @@ // The default node allocator. Allocates 64K at a time. template <class KEY, class VALUE, class KEYFN, class PRED> -typename SkipList<KEY,VALUE,KEYFN,PRED>::Allocator +typename SkipList<KEY,VALUE,KEYFN,PRED>::Allocator_t SkipList<KEY,VALUE,KEYFN,PRED>::sm_oNodeAllocator (65536); @@ -345,7 +345,7 @@ // Default constructor. Must be followed by Init(). template <class KEY, class VALUE, class KEYFN, class PRED> SkipList<KEY,VALUE,KEYFN,PRED>::SkipList (const PRED &a_rPred, - Allocator &a_rAlloc) + Allocator_t &a_rAlloc) : m_rNodeAllocator (a_rAlloc), m_oPred (a_rPred) { // Set up some defaults. @@ -371,7 +371,7 @@ template <class KEY, class VALUE, class KEYFN, class PRED> SkipList<KEY,VALUE,KEYFN,PRED>::SkipList (Status_t &a_reStatus, bool a_bAllowDuplicates, uint32_t a_nRandSeed, - const PRED &a_rPred, Allocator &a_rAlloc) + const PRED &a_rPred, Allocator_t &a_rAlloc) : m_rNodeAllocator (a_rAlloc), m_oPred (a_rPred) { // Make sure they didn't start us off with an error.