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