11 #include "ServiceBroker.h"    12 #include "utils/CPUInfo.h"    13 #include "utils/StringUtils.h"    16 #include <libavcodec/avcodec.h>    17 #include <libavformat/avformat.h>    18 #include <libavutil/avutil.h>    19 #include <libavutil/log.h>    20 #include <libavutil/ffversion.h>    21 #include <libavfilter/avfilter.h>    22 #include <libpostproc/postprocess.h>    33   template<
typename... Args>
    38   const char* what() 
const noexcept 
override { 
return s.c_str(); }
    41 std::string FFMpegErrorToString(
int err);
    45 inline int PPCPUFlags()
    47   unsigned int cpuFeatures = CServiceBroker::GetCPUInfo()->GetCPUFeatures();
    50   if (cpuFeatures & CPU_FEATURE_MMX)
    51     flags |= PP_CPU_CAPS_MMX;
    52   if (cpuFeatures & CPU_FEATURE_MMX2)
    53     flags |= PP_CPU_CAPS_MMX2;
    54   if (cpuFeatures & CPU_FEATURE_3DNOW)
    55     flags |= PP_CPU_CAPS_3DNOW;
    56   if (cpuFeatures & CPU_FEATURE_ALTIVEC)
    57     flags |= PP_CPU_CAPS_ALTIVEC;
    63 void ff_avutil_log(
void* ptr, 
int level, 
const char* format, va_list va);
    64 void ff_flush_avutil_log_buffers(
void);
    69   static void SetLogLevel(
int level);
    70   static int GetLogLevel();
    71   static void ClearLogLevel();
    92   operator bool()
 const { 
return m_data != 
nullptr && m_size != 0; }
    93   uint8_t* GetData() { 
return m_data; }
    94   const uint8_t* GetData()
 const { 
return m_data; }
    95   size_t GetSize()
 const { 
return m_size; }
   107   uint8_t* m_data{
nullptr};
   111 FFmpegExtraData GetPacketExtradata(
const AVPacket* pkt, 
const AVCodecParameters* codecPar);
 
static std::string Format(const std::string &fmt, Args &&... args)
Get a formatted string similar to sprintf. 
Definition: StringUtils.h:79