Skip to content

Commit 6e166d4

Browse files
committed
tweak x265 encoder bitrate settings
1 parent 5767654 commit 6e166d4

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

amalgamation/toxcore_amalgamation.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82742,16 +82742,17 @@ static void vc_init_encoder_h265(Logger *log, VCSession *vc, uint32_t bit_rate,
8274282742
// x265_param_parse(param, "log-level", "debug");
8274382743

8274482744
// printf("vc_init_encoder_h265:vc->h264_enc_bitrate = %d\n", (int)vc->h264_enc_bitrate);
82745-
vc->h264_enc_bitrate = bit_rate;
82745+
uint32_t bit_rate_override = 800 * 1000;
82746+
vc->h264_enc_bitrate = bit_rate_override;
8274682747
//******// param->bitrate =
8274782748

8274882749
// https://x265.readthedocs.io/en/master/cli.html#quality-rate-control-and-rate-distortion-options
8274982750
// Specify the target bitrate in kbps. Default is 0 (CRF)
8275082751

82751-
// printf("vc_init_encoder_h265:bit_rate = %d\n", (int)(bit_rate / 1000));
82752-
param->rc.bitrate = (int)(bit_rate / 1000);
82753-
param->rc.vbvBufferSize = 50 + (((int)(bit_rate / 1000)) * VIDEO_BUF_FACTOR_H264);
82754-
param->rc.vbvMaxBitrate = 50 + ((int)(bit_rate / 1000) * 1);
82752+
// printf("vc_init_encoder_h265:bit_rate_override = %d\n", (int)(bit_rate_override / 1000));
82753+
param->rc.bitrate = (int)(bit_rate_override / 1000);
82754+
param->rc.vbvBufferSize = 50 + (((int)(bit_rate_override / 1000)) * VIDEO_BUF_FACTOR_H264);
82755+
param->rc.vbvMaxBitrate = 50 + ((int)(bit_rate_override / 1000) * 1);
8275582756
param->rc.bStrictCbr = 1;
8275682757

8275782758
// Range of values: an integer from 0 to 51

toxav/codecs/h264/codec.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1977,16 +1977,17 @@ static void vc_init_encoder_h265(Logger *log, VCSession *vc, uint32_t bit_rate,
19771977
// x265_param_parse(param, "log-level", "debug");
19781978

19791979
// printf("vc_init_encoder_h265:vc->h264_enc_bitrate = %d\n", (int)vc->h264_enc_bitrate);
1980-
vc->h264_enc_bitrate = bit_rate;
1980+
uint32_t bit_rate_override = 800 * 1000;
1981+
vc->h264_enc_bitrate = bit_rate_override;
19811982
//******// param->bitrate =
19821983

19831984
// https://x265.readthedocs.io/en/master/cli.html#quality-rate-control-and-rate-distortion-options
19841985
// Specify the target bitrate in kbps. Default is 0 (CRF)
19851986

1986-
// printf("vc_init_encoder_h265:bit_rate = %d\n", (int)(bit_rate / 1000));
1987-
param->rc.bitrate = (int)(bit_rate / 1000);
1988-
param->rc.vbvBufferSize = 50 + (((int)(bit_rate / 1000)) * VIDEO_BUF_FACTOR_H264);
1989-
param->rc.vbvMaxBitrate = 50 + ((int)(bit_rate / 1000) * 1);
1987+
// printf("vc_init_encoder_h265:bit_rate_override = %d\n", (int)(bit_rate_override / 1000));
1988+
param->rc.bitrate = (int)(bit_rate_override / 1000);
1989+
param->rc.vbvBufferSize = 50 + (((int)(bit_rate_override / 1000)) * VIDEO_BUF_FACTOR_H264);
1990+
param->rc.vbvMaxBitrate = 50 + ((int)(bit_rate_override / 1000) * 1);
19901991
param->rc.bStrictCbr = 1;
19911992

19921993
// Range of values: an integer from 0 to 51

0 commit comments

Comments
 (0)