aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2020-08-31 02:56:42 +0200
committerdec05eba <dec05eba@protonmail.com>2020-08-31 02:56:42 +0200
commit534c9fd2992d249a200c5ec95349b23e1433263b (patch)
tree1e8d492af34f08643b9fb01cacb33ce97d2517c4
parent008f119f4c5c2a3e0b590da073df8e05a8e7748f (diff)
Change qmin and qmax again. They are too low
-rw-r--r--README.md1
-rw-r--r--src/main.cpp9
2 files changed, 6 insertions, 4 deletions
diff --git a/README.md b/README.md
index 750b8af..bacdb08 100644
--- a/README.md
+++ b/README.md
@@ -40,3 +40,4 @@ libraries at compile-time.
* Fix segfault in debug mode (happens because audio codec becomes NULL?)
* Fix blackscreen at start that appears until the second keyframe, which can be several seconds on a non-moving screen. Why does this happen? ffmpeg says the first frame should always be a keyframe!
* Dynamically change bitrate to match desired fps. This would be helpful when streaming for example, where the encode output speed also depends on upload speed to the stream service.
+* Random frames are skipped, why?
diff --git a/src/main.cpp b/src/main.cpp
index 5d7ae6c..fd82611 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -451,16 +451,16 @@ static AVStream *add_video_stream(AVFormatContext *av_format_context, AVCodec **
codec_context->color_range = AVCOL_RANGE_JPEG;
switch(video_quality) {
case VideoQuality::HIGH:
- codec_context->qmin = 10;
- codec_context->qmax = 15;
+ codec_context->qmin = 12;
+ codec_context->qmax = 18;
//av_opt_set(codec_context->priv_data, "preset", "slow", 0);
//av_opt_set(codec_context->priv_data, "profile", "high", 0);
//codec_context->profile = FF_PROFILE_H264_HIGH;
break;
case VideoQuality::ULTRA:
codec_context->bit_rate = 10000000 + (codec_context->width * codec_context->height) / 2;
- codec_context->qmin = 10;
- codec_context->qmax = 15;
+ codec_context->qmin = 12;
+ codec_context->qmax = 18;
//av_opt_set(codec_context->priv_data, "preset", "veryslow", 0);
//av_opt_set(codec_context->priv_data, "profile", "high", 0);
//codec_context->profile = FF_PROFILE_H264_HIGH;
@@ -1114,6 +1114,7 @@ int main(int argc, char **argv) {
cuMemcpy2D(&memcpy_struct);
// res = cuCtxPopCurrent(&old_ctx);
glfwSwapBuffers(window);
+
}
frame->pts = frame_count;