71 lines
1.6 KiB
C++
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);
|
|
} |