From 1e933870f6521742ca55ea9cec669e33cc4e52f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= <rafael.carre@savoirfairelinux.com> Date: Mon, 4 Jul 2011 15:53:07 -0400 Subject: [PATCH] Make the x264 preset builtin --- .../src/video/libx264-ultrafast.ffpreset | 24 --------------- .../src/video/libx264-ultrafast.ffpreset.h | 24 +++++++++++++++ .../src/video/video_send_thread.cpp | 29 ++----------------- 3 files changed, 26 insertions(+), 51 deletions(-) delete mode 100644 sflphone-common/src/video/libx264-ultrafast.ffpreset create mode 100644 sflphone-common/src/video/libx264-ultrafast.ffpreset.h diff --git a/sflphone-common/src/video/libx264-ultrafast.ffpreset b/sflphone-common/src/video/libx264-ultrafast.ffpreset deleted file mode 100644 index 28dc0eb836..0000000000 --- a/sflphone-common/src/video/libx264-ultrafast.ffpreset +++ /dev/null @@ -1,24 +0,0 @@ -coder=0 -flags=-loop -cmp=+chroma -partitions=-parti8x8-parti4x4-partp8x8-partb8x8 -me_method=dia -subq=0 -me_range=16 -g=250 -keyint_min=25 -sc_threshold=0 -i_qfactor=0.71 -b_strategy=0 -qcomp=0.6 -qmin=0 -qmax=69 -qdiff=4 -bf=0 -refs=1 -directpred=1 -trellis=0 -flags2=-bpyramid-mixed_refs-wpred-dct8x8+fastpskip-mbtree -wpredp=0 -aq_mode=0 -rc_lookahead=0 diff --git a/sflphone-common/src/video/libx264-ultrafast.ffpreset.h b/sflphone-common/src/video/libx264-ultrafast.ffpreset.h new file mode 100644 index 0000000000..f9bbc23d54 --- /dev/null +++ b/sflphone-common/src/video/libx264-ultrafast.ffpreset.h @@ -0,0 +1,24 @@ +static const char *x264_preset_ultrafast = "coder=0\n" \ +"flags=-loop\n" \ +"cmp=+chroma\n" \ +"partitions=-parti8x8-parti4x4-partp8x8-partb8x8\n" \ +"me_method=dia\n" \ +"subq=0\n" \ +"me_range=16\n" \ +"g=250\n" \ +"keyint_min=25\n" \ +"sc_threshold=0\n" \ +"i_qfactor=0.71\n" \ +"b_strategy=0\n" \ +"qcomp=0.6\n" \ +"qmin=0\n" \ +"qmax=69\n" \ +"qdiff=4\n" \ +"bf=0\n" \ +"refs=1\n" \ +"directpred=1\n" \ +"trellis=0\n" \ +"flags2=-bpyramid-mixed_refs-wpred-dct8x8+fastpskip-mbtree\n" \ +"wpredp=0\n" \ +"aq_mode=0\n" \ +"rc_lookahead=0"; diff --git a/sflphone-common/src/video/video_send_thread.cpp b/sflphone-common/src/video/video_send_thread.cpp index f7903ff611..0913f3577a 100644 --- a/sflphone-common/src/video/video_send_thread.cpp +++ b/sflphone-common/src/video/video_send_thread.cpp @@ -42,6 +42,7 @@ extern "C" { } #include "manager.h" +#include "libx264-ultrafast.ffpreset.h" namespace sfl_video { @@ -84,33 +85,7 @@ void VideoSendThread::waitForSDP() void VideoSendThread::forcePresetX264() { - std::cerr << "get x264 preset time" << std::endl; - //int opt_name_count = 0; - FILE *f = 0; - // FIXME: hardcoded! should look for FFMPEG_DATADIR - const char* preset_filename = "libx264-ultrafast.ffpreset"; - /* open preset file for libx264 */ - f = fopen(preset_filename, "r"); - if (f == 0) - { - std::cerr << "File for preset ' " << preset_filename << "' not" - "found" << std::endl; - cleanup(); - } - - /* grab preset file and put it in character buffer */ - fseek(f, 0, SEEK_END); - long pos = ftell(f); - fseek(f, 0, SEEK_SET); - - char *encoder_options_string = reinterpret_cast<char*>(malloc(pos + 1)); - fread(encoder_options_string, pos, 1, f); - encoder_options_string[pos] = '\0'; - fclose(f); - - std::cerr << "Encoder options: " << encoder_options_string << std::endl; - av_set_options_string(encoderCtx_, encoder_options_string, "=", "\n"); - free(encoder_options_string); // free allocated memory + av_set_options_string(encoderCtx_, x264_preset_ultrafast, "=", "\n"); } void VideoSendThread::prepareEncoderContext() -- GitLab