[vlc-commits] vpx: fetch quality-mode only one time

2018-03-29 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Mar 27 
11:25:21 2018 +0200| [81a309e574e2e41fe6f08d84ebea6ed923da699a] | committer: 
Thomas Guillem

vpx: fetch quality-mode only one time

(cherry picked from commit 6f76042990ceaca0c754d830a21cb0580d862517)
Signed-off-by: Thomas Guillem 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=81a309e574e2e41fe6f08d84ebea6ed923da699a
---

 modules/codec/vpx.c | 28 +++-
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/modules/codec/vpx.c b/modules/codec/vpx.c
index 76331a714b..2b1e37818d 100644
--- a/modules/codec/vpx.c
+++ b/modules/codec/vpx.c
@@ -365,6 +365,7 @@ static void CloseDecoder(vlc_object_t *p_this)
 struct encoder_sys_t
 {
 struct vpx_codec_ctx ctx;
+unsigned long quality;
 };
 
 /*
@@ -423,6 +424,19 @@ static int OpenEncoder(vlc_object_t *p_this)
 p_enc->fmt_in.i_codec = VLC_CODEC_I420;
 config_ChainParse(p_enc, ENC_CFG_PREFIX, ppsz_sout_options, p_enc->p_cfg);
 
+/* Deadline (in ms) to spend in encoder */
+switch (var_GetInteger(p_enc, ENC_CFG_PREFIX "quality-mode")) {
+case 1:
+p_sys->quality = VPX_DL_REALTIME;
+break;
+case 2:
+p_sys->quality = VPX_DL_BEST_QUALITY;
+break;
+default:
+p_sys->quality = VPX_DL_GOOD_QUALITY;
+break;
+}
+
 return VLC_SUCCESS;
 }
 
@@ -461,21 +475,9 @@ static block_t *Encode(encoder_t *p_enc, picture_t *p_pict)
 }
 
 int flags = 0;
-/* Deadline (in ms) to spend in encoder */
-int quality = VPX_DL_GOOD_QUALITY;
-switch (var_GetInteger(p_enc, ENC_CFG_PREFIX "quality-mode")) {
-case 1:
-quality = VPX_DL_REALTIME;
-break;
-case 2:
-quality = VPX_DL_BEST_QUALITY;
-break;
-default:
-break;
-}
 
 vpx_codec_err_t res = vpx_codec_encode(ctx, , p_pict->date, 1,
- flags, quality);
+ flags, p_sys->quality);
 if (res != VPX_CODEC_OK) {
 VPX_ERR(p_enc, ctx, "Failed to encode frame");
 vpx_img_free();

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] vpx: fetch quality-mode only one time

2018-03-27 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Mar 27 11:25:21 
2018 +0200| [6f76042990ceaca0c754d830a21cb0580d862517] | committer: Thomas 
Guillem

vpx: fetch quality-mode only one time

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6f76042990ceaca0c754d830a21cb0580d862517
---

 modules/codec/vpx.c | 28 +++-
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/modules/codec/vpx.c b/modules/codec/vpx.c
index 8f98bb421f..f92dea2c56 100644
--- a/modules/codec/vpx.c
+++ b/modules/codec/vpx.c
@@ -366,6 +366,7 @@ static void CloseDecoder(vlc_object_t *p_this)
 struct encoder_sys_t
 {
 struct vpx_codec_ctx ctx;
+unsigned long quality;
 };
 
 /*
@@ -424,6 +425,19 @@ static int OpenEncoder(vlc_object_t *p_this)
 p_enc->fmt_in.i_codec = VLC_CODEC_I420;
 config_ChainParse(p_enc, ENC_CFG_PREFIX, ppsz_sout_options, p_enc->p_cfg);
 
+/* Deadline (in ms) to spend in encoder */
+switch (var_GetInteger(p_enc, ENC_CFG_PREFIX "quality-mode")) {
+case 1:
+p_sys->quality = VPX_DL_REALTIME;
+break;
+case 2:
+p_sys->quality = VPX_DL_BEST_QUALITY;
+break;
+default:
+p_sys->quality = VPX_DL_GOOD_QUALITY;
+break;
+}
+
 return VLC_SUCCESS;
 }
 
@@ -462,21 +476,9 @@ static block_t *Encode(encoder_t *p_enc, picture_t *p_pict)
 }
 
 int flags = 0;
-/* Deadline (in ms) to spend in encoder */
-int quality = VPX_DL_GOOD_QUALITY;
-switch (var_GetInteger(p_enc, ENC_CFG_PREFIX "quality-mode")) {
-case 1:
-quality = VPX_DL_REALTIME;
-break;
-case 2:
-quality = VPX_DL_BEST_QUALITY;
-break;
-default:
-break;
-}
 
 vpx_codec_err_t res = vpx_codec_encode(ctx, , p_pict->date, 1,
- flags, quality);
+ flags, p_sys->quality);
 if (res != VPX_CODEC_OK) {
 VPX_ERR(p_enc, ctx, "Failed to encode frame");
 vpx_img_free();

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits