mirror of
https://repo.dec05eba.com/gpu-screen-recorder
synced 2026-03-31 09:07:13 +09:00
Revert quality parameters, they were overkill
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
project('gpu-screen-recorder', ['c', 'cpp'], version : '4.1.3', default_options : ['warning_level=2'])
|
project('gpu-screen-recorder', ['c', 'cpp'], version : '4.1.4', default_options : ['warning_level=2'])
|
||||||
|
|
||||||
add_project_arguments('-Wshadow', language : ['c', 'cpp'])
|
add_project_arguments('-Wshadow', language : ['c', 'cpp'])
|
||||||
if get_option('buildtype') == 'debug'
|
if get_option('buildtype') == 'debug'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "gpu-screen-recorder"
|
name = "gpu-screen-recorder"
|
||||||
type = "executable"
|
type = "executable"
|
||||||
version = "4.1.3"
|
version = "4.1.4"
|
||||||
platforms = ["posix"]
|
platforms = ["posix"]
|
||||||
|
|
||||||
[config]
|
[config]
|
||||||
|
|||||||
68
src/main.cpp
68
src/main.cpp
@@ -746,16 +746,16 @@ static void open_video_software(AVCodecContext *codec_context, VideoQuality vide
|
|||||||
if(codec_context->codec_id == AV_CODEC_ID_AV1) {
|
if(codec_context->codec_id == AV_CODEC_ID_AV1) {
|
||||||
switch(video_quality) {
|
switch(video_quality) {
|
||||||
case VideoQuality::MEDIUM:
|
case VideoQuality::MEDIUM:
|
||||||
av_dict_set_int(&options, "qp", 35 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 37 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::HIGH:
|
case VideoQuality::HIGH:
|
||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 32 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 25 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 28 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 24 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if(codec_context->codec_id == AV_CODEC_ID_H264) {
|
} else if(codec_context->codec_id == AV_CODEC_ID_H264) {
|
||||||
@@ -767,25 +767,25 @@ static void open_video_software(AVCodecContext *codec_context, VideoQuality vide
|
|||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 23 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 26 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 20 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
switch(video_quality) {
|
switch(video_quality) {
|
||||||
case VideoQuality::MEDIUM:
|
case VideoQuality::MEDIUM:
|
||||||
av_dict_set_int(&options, "qp", 35 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 37 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::HIGH:
|
case VideoQuality::HIGH:
|
||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 32 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 25 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 28 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 24 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -837,16 +837,16 @@ static void open_video_hardware(AVCodecContext *codec_context, VideoQuality vide
|
|||||||
if(codec_context->codec_id == AV_CODEC_ID_AV1) {
|
if(codec_context->codec_id == AV_CODEC_ID_AV1) {
|
||||||
switch(video_quality) {
|
switch(video_quality) {
|
||||||
case VideoQuality::MEDIUM:
|
case VideoQuality::MEDIUM:
|
||||||
av_dict_set_int(&options, "qp", 35 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 37 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::HIGH:
|
case VideoQuality::HIGH:
|
||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 32 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 25 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 28 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 24 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if(codec_context->codec_id == AV_CODEC_ID_H264) {
|
} else if(codec_context->codec_id == AV_CODEC_ID_H264) {
|
||||||
@@ -858,40 +858,40 @@ static void open_video_hardware(AVCodecContext *codec_context, VideoQuality vide
|
|||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 23 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 26 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 20 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if(codec_context->codec_id == AV_CODEC_ID_HEVC) {
|
} else if(codec_context->codec_id == AV_CODEC_ID_HEVC) {
|
||||||
switch(video_quality) {
|
switch(video_quality) {
|
||||||
case VideoQuality::MEDIUM:
|
case VideoQuality::MEDIUM:
|
||||||
av_dict_set_int(&options, "qp", 35 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 37 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::HIGH:
|
case VideoQuality::HIGH:
|
||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 32 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 25 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 28 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 24 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if(codec_context->codec_id == AV_CODEC_ID_VP8 || codec_context->codec_id == AV_CODEC_ID_VP9) {
|
} else if(codec_context->codec_id == AV_CODEC_ID_VP8 || codec_context->codec_id == AV_CODEC_ID_VP9) {
|
||||||
switch(video_quality) {
|
switch(video_quality) {
|
||||||
case VideoQuality::MEDIUM:
|
case VideoQuality::MEDIUM:
|
||||||
av_dict_set_int(&options, "qp", 35 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 37 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::HIGH:
|
case VideoQuality::HIGH:
|
||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 32 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 25 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 28 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 24 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -968,40 +968,40 @@ static void open_video_hardware(AVCodecContext *codec_context, VideoQuality vide
|
|||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 23 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 26 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 20 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if(codec_context->codec_id == AV_CODEC_ID_HEVC) {
|
} else if(codec_context->codec_id == AV_CODEC_ID_HEVC) {
|
||||||
switch(video_quality) {
|
switch(video_quality) {
|
||||||
case VideoQuality::MEDIUM:
|
case VideoQuality::MEDIUM:
|
||||||
av_dict_set_int(&options, "qp", 35 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 37 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::HIGH:
|
case VideoQuality::HIGH:
|
||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 32 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 25 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 28 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 24 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if(codec_context->codec_id == AV_CODEC_ID_VP8 || codec_context->codec_id == AV_CODEC_ID_VP9) {
|
} else if(codec_context->codec_id == AV_CODEC_ID_VP8 || codec_context->codec_id == AV_CODEC_ID_VP9) {
|
||||||
switch(video_quality) {
|
switch(video_quality) {
|
||||||
case VideoQuality::MEDIUM:
|
case VideoQuality::MEDIUM:
|
||||||
av_dict_set_int(&options, "qp", 35 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 37 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::HIGH:
|
case VideoQuality::HIGH:
|
||||||
av_dict_set_int(&options, "qp", 30 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 32 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::VERY_HIGH:
|
case VideoQuality::VERY_HIGH:
|
||||||
av_dict_set_int(&options, "qp", 25 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 28 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
case VideoQuality::ULTRA:
|
case VideoQuality::ULTRA:
|
||||||
av_dict_set_int(&options, "qp", 22 * qp_multiply, 0);
|
av_dict_set_int(&options, "qp", 24 * qp_multiply, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user