| 1717 | } |
| 1718 | |
| 1719 | static int apply_encoder_level(AVCodecContext *context, AVDictionary **av_opts, int vcodec, const char *encoder_level) |
| 1720 | { |
| 1721 | const char * const *level_names = NULL; |
| 1722 | const int *level_values = NULL; |
| 1723 | |
| 1724 | switch (vcodec) |
| 1725 | { |
| 1726 | case HB_VCODEC_FFMPEG_VCE_H264: |
| 1727 | case HB_VCODEC_FFMPEG_NVENC_H264: |
| 1728 | case HB_VCODEC_FFMPEG_MF_H264: |
| 1729 | level_names = hb_h264_level_names; |
| 1730 | level_values = hb_h264_level_values; |
| 1731 | break; |
| 1732 | |
| 1733 | #if HB_PROJECT_FEATURE_QSV |
| 1734 | case HB_VCODEC_FFMPEG_QSV_H264: |
| 1735 | level_names = hb_qsv_h264_level_names; |
| 1736 | level_values = hb_qsv_h264_levels; |
| 1737 | break; |
| 1738 | #endif |
| 1739 | |
| 1740 | case HB_VCODEC_FFMPEG_VCE_H265: |
| 1741 | case HB_VCODEC_FFMPEG_VCE_H265_10BIT: |
| 1742 | case HB_VCODEC_FFMPEG_NVENC_H265: |
| 1743 | case HB_VCODEC_FFMPEG_NVENC_H265_10BIT: |
| 1744 | case HB_VCODEC_FFMPEG_MF_H265: |
| 1745 | level_names = hb_h265_level_names; |
| 1746 | level_values = hb_h265_level_values; |
| 1747 | break; |
| 1748 | |
| 1749 | #if HB_PROJECT_FEATURE_QSV |
| 1750 | case HB_VCODEC_FFMPEG_QSV_H265: |
| 1751 | case HB_VCODEC_FFMPEG_QSV_H265_10BIT: |
| 1752 | level_names = hb_qsv_h265_level_names; |
| 1753 | level_values = hb_qsv_h265_levels; |
| 1754 | break; |
| 1755 | #endif |
| 1756 | |
| 1757 | case HB_VCODEC_FFMPEG_VCE_AV1: |
| 1758 | case HB_VCODEC_FFMPEG_VCE_AV1_10BIT: |
| 1759 | case HB_VCODEC_FFMPEG_NVENC_AV1: |
| 1760 | case HB_VCODEC_FFMPEG_NVENC_AV1_10BIT: |
| 1761 | case HB_VCODEC_FFMPEG_MF_AV1: |
| 1762 | level_names = hb_av1_level_names; |
| 1763 | level_values = hb_av1_level_values; |
| 1764 | break; |
| 1765 | |
| 1766 | #if HB_PROJECT_FEATURE_QSV |
| 1767 | case HB_VCODEC_FFMPEG_QSV_AV1: |
| 1768 | case HB_VCODEC_FFMPEG_QSV_AV1_10BIT: |
| 1769 | level_names = hb_qsv_av1_level_names; |
| 1770 | level_values = hb_qsv_av1_levels; |
| 1771 | break; |
| 1772 | #endif |
| 1773 | |
| 1774 | case HB_VCODEC_FFMPEG_FFV1: |
| 1775 | level_names = hb_ffv1_level_names; |
| 1776 | level_values = hb_ffv1_level_values; |