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

Function hb_video_encoder

libhb/work.c:239–369  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

237}
238
239hb_work_object_t* hb_video_encoder(hb_handle_t *h, int vcodec)
240{
241 hb_work_object_t * w = NULL;
242
243 switch (vcodec)
244 {
245 case HB_VCODEC_FFMPEG_MPEG4:
246 w = hb_get_work(h, WORK_ENCAVCODEC);
247 w->codec_param = AV_CODEC_ID_MPEG4;
248 break;
249 case HB_VCODEC_FFMPEG_MPEG2:
250 w = hb_get_work(h, WORK_ENCAVCODEC);
251 w->codec_param = AV_CODEC_ID_MPEG2VIDEO;
252 break;
253 case HB_VCODEC_FFMPEG_VP8:
254 w = hb_get_work(h, WORK_ENCAVCODEC);
255 w->codec_param = AV_CODEC_ID_VP8;
256 break;
257 case HB_VCODEC_FFMPEG_VP9:
258 case HB_VCODEC_FFMPEG_VP9_10BIT:
259 w = hb_get_work(h, WORK_ENCAVCODEC);
260 w->codec_param = AV_CODEC_ID_VP9;
261 break;
262 case HB_VCODEC_X264_8BIT:
263 case HB_VCODEC_X264_10BIT:
264 w = hb_get_work(h, WORK_ENCX264);
265 break;
266#if HB_PROJECT_FEATURE_QSV
267 case HB_VCODEC_FFMPEG_QSV_H264:
268 w = hb_get_work(h, WORK_ENCAVCODEC);
269 w->codec_param = AV_CODEC_ID_H264;
270 break;
271 case HB_VCODEC_FFMPEG_QSV_H265:
272 case HB_VCODEC_FFMPEG_QSV_H265_10BIT:
273 w = hb_get_work(h, WORK_ENCAVCODEC);
274 w->codec_param = AV_CODEC_ID_HEVC;
275 break;
276 case HB_VCODEC_FFMPEG_QSV_AV1:
277 case HB_VCODEC_FFMPEG_QSV_AV1_10BIT:
278 w = hb_get_work(h, WORK_ENCAVCODEC);
279 w->codec_param = AV_CODEC_ID_AV1;
280 break;
281#endif
282 case HB_VCODEC_THEORA:
283 w = hb_get_work(h, WORK_ENCTHEORA);
284 break;
285#if HB_PROJECT_FEATURE_X265
286 case HB_VCODEC_X265_8BIT:
287 case HB_VCODEC_X265_10BIT:
288 case HB_VCODEC_X265_12BIT:
289 case HB_VCODEC_X265_16BIT:
290 w = hb_get_work(h, WORK_ENCX265);
291 break;
292#endif
293#if HB_PROJECT_FEATURE_VCE
294 case HB_VCODEC_FFMPEG_VCE_H264:
295 w = hb_get_work(h, WORK_ENCAVCODEC);
296 w->codec_param = AV_CODEC_ID_H264;

Callers 1

do_jobFunction · 0.85

Calls 2

hb_get_workFunction · 0.85
hb_errorFunction · 0.85

Tested by

no test coverage detected