| 486 | }; |
| 487 | int hb_audio_encoders_count = sizeof(hb_audio_encoders) / sizeof(hb_audio_encoders[0]); |
| 488 | static int hb_audio_encoder_is_enabled(int encoder) |
| 489 | { |
| 490 | if (encoder & HB_ACODEC_PASS_FLAG) |
| 491 | { |
| 492 | // Passthru encoders are always enabled |
| 493 | return 1; |
| 494 | } |
| 495 | switch (encoder) |
| 496 | { |
| 497 | #ifdef __APPLE__ |
| 498 | case HB_ACODEC_CA_AAC: |
| 499 | case HB_ACODEC_CA_HAAC: |
| 500 | return 1; |
| 501 | #endif |
| 502 | |
| 503 | #if HB_PROJECT_FEATURE_FFMPEG_AAC |
| 504 | case HB_ACODEC_FFAAC: |
| 505 | return avcodec_find_encoder_by_name("aac") != NULL; |
| 506 | #endif |
| 507 | |
| 508 | case HB_ACODEC_FDK_AAC: |
| 509 | case HB_ACODEC_FDK_HAAC: |
| 510 | return avcodec_find_encoder_by_name("libfdk_aac") != NULL; |
| 511 | |
| 512 | case HB_ACODEC_AC3: |
| 513 | return avcodec_find_encoder(AV_CODEC_ID_AC3) != NULL; |
| 514 | |
| 515 | case HB_ACODEC_FFALAC: |
| 516 | case HB_ACODEC_FFALAC24: |
| 517 | return avcodec_find_encoder(AV_CODEC_ID_ALAC) != NULL; |
| 518 | |
| 519 | case HB_ACODEC_FFEAC3: |
| 520 | return avcodec_find_encoder(AV_CODEC_ID_EAC3) != NULL; |
| 521 | |
| 522 | case HB_ACODEC_FFFLAC: |
| 523 | case HB_ACODEC_FFFLAC24: |
| 524 | return avcodec_find_encoder(AV_CODEC_ID_FLAC) != NULL; |
| 525 | |
| 526 | case HB_ACODEC_OPUS: |
| 527 | return avcodec_find_encoder(AV_CODEC_ID_OPUS) != NULL; |
| 528 | |
| 529 | case HB_ACODEC_FFTRUEHD: |
| 530 | return avcodec_find_encoder(AV_CODEC_ID_TRUEHD) != NULL; |
| 531 | |
| 532 | // the following encoders are always enabled |
| 533 | case HB_ACODEC_LAME: |
| 534 | case HB_ACODEC_VORBIS: |
| 535 | case HB_ACODEC_FFPCM16: |
| 536 | case HB_ACODEC_FFPCM24: |
| 537 | case HB_ACODEC_NONE: |
| 538 | return 1; |
| 539 | |
| 540 | default: |
| 541 | return 0; |
| 542 | } |
| 543 | } |
| 544 | |
| 545 | typedef struct |
no outgoing calls
no test coverage detected