diff options
author | dec05eba <dec05eba@protonmail.com> | 2020-08-31 02:56:42 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-08-31 02:56:42 +0200 |
commit | 534c9fd2992d249a200c5ec95349b23e1433263b (patch) | |
tree | 1e8d492af34f08643b9fb01cacb33ce97d2517c4 | |
parent | 008f119f4c5c2a3e0b590da073df8e05a8e7748f (diff) |
Change qmin and qmax again. They are too low
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | src/main.cpp | 9 |
2 files changed, 6 insertions, 4 deletions
@@ -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; |