| 1760 | } |
| 1761 | |
| 1762 | const char* hb_video_quality_get_name(uint32_t codec) |
| 1763 | { |
| 1764 | #if HB_PROJECT_FEATURE_QSV |
| 1765 | if (codec & HB_VCODEC_QSV_MASK) |
| 1766 | { |
| 1767 | return hb_qsv_video_quality_get_name(codec); |
| 1768 | } |
| 1769 | #endif |
| 1770 | |
| 1771 | switch (codec) |
| 1772 | { |
| 1773 | case HB_VCODEC_X264_8BIT: |
| 1774 | case HB_VCODEC_X264_10BIT: |
| 1775 | case HB_VCODEC_X265_8BIT: |
| 1776 | case HB_VCODEC_X265_10BIT: |
| 1777 | case HB_VCODEC_X265_12BIT: |
| 1778 | case HB_VCODEC_X265_16BIT: |
| 1779 | case HB_VCODEC_SVT_AV1: |
| 1780 | case HB_VCODEC_SVT_AV1_10BIT: |
| 1781 | return "RF"; |
| 1782 | |
| 1783 | case HB_VCODEC_FFMPEG_VP8: |
| 1784 | case HB_VCODEC_FFMPEG_VP9: |
| 1785 | case HB_VCODEC_FFMPEG_VP9_10BIT: |
| 1786 | case HB_VCODEC_FFMPEG_NVENC_H264: |
| 1787 | case HB_VCODEC_FFMPEG_NVENC_H265: |
| 1788 | case HB_VCODEC_FFMPEG_NVENC_H265_10BIT: |
| 1789 | case HB_VCODEC_FFMPEG_NVENC_AV1: |
| 1790 | case HB_VCODEC_FFMPEG_NVENC_AV1_10BIT: |
| 1791 | case HB_VCODEC_FFMPEG_VCE_H264: |
| 1792 | case HB_VCODEC_FFMPEG_VCE_H265: |
| 1793 | case HB_VCODEC_FFMPEG_VCE_H265_10BIT: |
| 1794 | case HB_VCODEC_FFMPEG_VCE_AV1: |
| 1795 | case HB_VCODEC_FFMPEG_VCE_AV1_10BIT: |
| 1796 | case HB_VCODEC_VT_H264: |
| 1797 | case HB_VCODEC_VT_H265: |
| 1798 | case HB_VCODEC_VT_H265_10BIT: |
| 1799 | return "CQ"; |
| 1800 | |
| 1801 | case HB_VCODEC_FFMPEG_DNXHR: |
| 1802 | case HB_VCODEC_FFMPEG_DNXHR_10BIT: |
| 1803 | case HB_VCODEC_FFMPEG_MF_H264: |
| 1804 | case HB_VCODEC_FFMPEG_MF_H265: |
| 1805 | case HB_VCODEC_FFMPEG_MF_AV1: |
| 1806 | return "Quality"; |
| 1807 | |
| 1808 | default: |
| 1809 | return "QP"; |
| 1810 | } |
| 1811 | } |
| 1812 | |
| 1813 | int hb_video_quality_is_supported(uint32_t codec) |
| 1814 | { |
no test coverage detected