MCPcopy Create free account
hub / github.com/HandBrake/HandBrake / encsvtInit

Function encsvtInit

libhb/encsvtav1.c:94–379  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

92}
93
94int encsvtInit(hb_work_object_t *w, hb_job_t *job)
95{
96 hb_work_private_t *pv = calloc(1, sizeof(hb_work_private_t));
97 w->private_data = pv;
98 pv->job = job;
99 pv->chapter_queue = hb_chapter_queue_init();
100
101 EbErrorType svt_ret;
102 int ret;
103
104 svt_ret = svt_av1_enc_init_handle(&pv->svt_handle, &pv->enc_params);
105 if (svt_ret != EB_ErrorNone)
106 {
107 hb_error("encsvtav1: error initializing encoder handle");
108 return 1;
109 }
110
111 EbSvtAv1EncConfiguration *param = &pv->enc_params;
112
113 if (job->encoder_preset == NULL)
114 {
115 param->enc_mode = 5;
116 }
117 else
118 {
119 param->enc_mode = atoi(job->encoder_preset);
120 }
121
122 if (job->vquality <= HB_INVALID_VIDEO_QUALITY)
123 {
124 param->target_bit_rate = 1000 * job->vbitrate;
125 param->rate_control_mode = SVT_AV1_RC_MODE_VBR;
126 }
127 else
128 {
129 param->qp = fmin(job->vquality, MAX_QP_VALUE); // truncated
130 param->extended_crf_qindex_offset = (job->vquality - param->qp) * 4;
131 param->rate_control_mode = SVT_AV1_RC_MODE_CQP_OR_CRF;
132 param->force_key_frames = 1;
133 }
134
135 param->color_primaries = hb_output_color_prim(job);
136 param->transfer_characteristics = hb_output_color_transfer(job);
137 param->matrix_coefficients = hb_output_color_matrix(job);
138
139 switch (job->color_range)
140 {
141 case AVCOL_RANGE_MPEG:
142 param->color_range = EB_CR_STUDIO_RANGE;
143 break;
144 case AVCOL_RANGE_JPEG:
145 param->color_range = EB_CR_FULL_RANGE;
146 break;
147 default:
148 break;
149 }
150
151 switch (job->chroma_location)

Callers

nothing calls this directly

Calls 15

hb_chapter_queue_initFunction · 0.85
hb_errorFunction · 0.85
hb_output_color_primFunction · 0.85
hb_output_color_transferFunction · 0.85
hb_output_color_matrixFunction · 0.85
hb_q2dFunction · 0.85
hb_logFunction · 0.85
hb_encopts_to_dictFunction · 0.85
hb_dict_iter_initFunction · 0.85
hb_dict_iter_nextFunction · 0.85
hb_dict_iter_keyFunction · 0.85
hb_dict_iter_valueFunction · 0.85

Tested by

no test coverage detected