| 237 | } |
| 238 | |
| 239 | hb_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; |
no test coverage detected