Files
2026-02-01 22:23:06 +08:00

71 lines
1.6 KiB
C++

/*
* @Date: 2024-09-05 19:34:51
* @LastEditors: Jacky
* @LastEditTime: 2024-09-19 15:41:19
* @FilePath: /GeneralTracker/Global/Global.cpp
*/
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
#include <stdint.h>
#include <sys/prctl.h>
#include "Global.h"
GD_PIXEL_FORMAT_E ffmpeg_format_to_gd(AVPixelFormat ffmpegfmt){
GD_PIXEL_FORMAT_E fmt = GD_PIXEL_FORMAT_NV12;
switch (ffmpegfmt)
{
case AV_PIX_FMT_YUV420P:
fmt = GD_PIXEL_FORMAT_YUV420P;
break;
case AV_PIX_FMT_GRAY8:
fmt = GD_PIXEL_FORMAT_GRAY_Y8;
break;
case AV_PIX_FMT_NV21:
fmt = GD_PIXEL_FORMAT_NV21;
break;
case AV_PIX_FMT_BGR24:
fmt = GD_PIXEL_FORMAT_BGR_PACKED;
break;
case AV_PIX_FMT_RGB24:
fmt = GD_PIXEL_FORMAT_RGB_PACKED;
break;
default:
fmt = GD_PIXEL_FORMAT_NV12;
break;
}
return fmt;
}
AVPixelFormat gd_format_to_ffmpeg(GD_PIXEL_FORMAT_E gdfmt){
AVPixelFormat fmt = AV_PIX_FMT_NV12;
switch (gdfmt)
{
case GD_PIXEL_FORMAT_YUV420P:
fmt = AV_PIX_FMT_YUV420P;
break;
case GD_PIXEL_FORMAT_GRAY_Y8:
fmt = AV_PIX_FMT_GRAY8;
break;
case GD_PIXEL_FORMAT_NV21:
fmt = AV_PIX_FMT_NV21;
break;
case GD_PIXEL_FORMAT_BGR_PACKED:
fmt = AV_PIX_FMT_BGR24;
break;
case GD_PIXEL_FORMAT_RGB_PACKED:
fmt = AV_PIX_FMT_RGB24;
break;
default:
fmt = AV_PIX_FMT_NV12;
break;
}
return fmt;
}
void setThreadName(const char *name)
{
/* 给线程命名 */
prctl(PR_SET_NAME, name, 0, 0, 0);
}