HEVC

H.265, or HEVC as it is better-known, is the MPEG group's follow-up to the ubiquitous H.264/AVC video codec. It offers significant improvements in reduction of file size for equivalent perceptual quality over its predecessor.

Encoding.com offers a number of implementations of HEVC, including x265 (the default described here), content-adaptive HEVC encoding via Beamr CABR, as well as Dolby Vision.

x265's options frequently mirror those in its related project, x264, with some notable exceptions. The majority of users will not need to define these parameters in a job request, unless expressly required by your decoder, but they are documented here for those who need to modify them.

<?xml version="1.0"?>
<query>
    <userid>[UserID]</userid> <!-- required-->
    <userkey>[UserKey]</userkey> <!-- required-->
    <action>[Action]</action> <!-- required-->
    <source>[SourceFile]</source> <!-- required-->
    <format>
        <output>[mpeg_dash|mp4]</output> <!-- required-->
        <video_codec>hevc</video_codec>
        <video_codec_parameters>
            <level>[Level]</level>
            <refresh>1</refresh>
            <rc-lookahead>20</rc-lookahead>
            <b-adapt>2</b-adapt>
            <bframes>4</bframes>
            <b-pyramid>1</b-pyramid>
            <ref>3</ref>
            <ctu>64</ctu>
            <tu-intra-depth>1</tu-intra-depth>
            <tu-inter-depth>1</tu-inter-depth>
            <me>1</me>
            <subme>2</subme>
            <merange>60</merange>
            <max-merge>2</max-merge>
            <rect>1</rect>
            <amp>1</amp>
            <early-skip>0</early-skip>
            <fast-cbf>0</fast-cbf>
            <signhide>1</signhide>
            <lft>1</lft>
            <tskip>0</tskip>
            <sao>1</sao>
            <weightp>1</weightp>
            <tskip-fast>0</tskip-fast>
            <vbv-end>0</vbv-end>
            <vbv-end-fr-adj>0</vbv-end-fr-adj>
        </video_codec_parameters>
        <!-- format params -->
    </format>
</query>
<?xml version="1.0"?>
<query>
    <userid>[UserID]</userid> <!-- required-->
    <userkey>[UserKey]</userkey> <!-- required-->
    <action>[Action]</action> <!-- required-->
    <source>[SourceFile]</source> <!-- required-->
    <format>
        <output>[advanced_dash|fmp4_hls]</output> <!-- required-->
        <stream>
            <video_codec>hevc</video_codec>
            <video_codec_parameters>
                <level>[Level]</level>
                <refresh>1</refresh>
                <rc-lookahead>20</rc-lookahead>
                <b-adapt>2</b-adapt>
                <bframes>4</bframes>
                <b-pyramid>1</b-pyramid>
                <ref>3</ref>
                <ctu>64</ctu>
                <tu-intra-depth>1</tu-intra-depth>
                <tu-inter-depth>1</tu-inter-depth>
                <me>1</me>
                <subme>2</subme>
                <merange>60</merange>
                <max-merge>2</max-merge>
                <rect>1</rect>
                <amp>1</amp>
                <early-skip>0</early-skip>
                <fast-cbf>0</fast-cbf>
                <signhide>1</signhide>
                <lft>1</lft>
                <tskip>0</tskip>
                <sao>1</sao>
                <weightp>1</weightp>
                <tskip-fast>0</tskip-fast>
                <vbv-end>0</vbv-end>
                <vbv-end-fr-adj>0</vbv-end-fr-adj>
            </video_codec_parameters>
        </stream>
        <stream>
            <!-- stream params -->
        </stream>
        <!-- format params -->
    </format>
</query>
{
    "query": {
        "userid": "[UserID]", // required
        "userkey": "[UserKey]", // required
        "action": "[Action]", // required
        "source": "[SourceFile]", // required
        "format": {
            "output": "[mpeg_dash|mp4]", // required
            "video_codec": "hevc",
            "video_codec_parameters": {
                "level": "[Level]",
                "refresh": "1",
                "rc-lookahead": "20",
                "b-adapt": "2",
                "bframes": "4",
                "b-pyramid": "1",
                "ref": "3",
                "ctu": "64",
                "tu-intra-depth": "1",
                "tu-inter-depth": "1",
                "me": "1",
                "subme": "2",
                "merange": "60",
                "max-merge": "2",
                "rect": "1",
                "amp": "1",
                "early-skip": "0",
                "fast-cbf": "0",
                "signhide": "1",
                "lft": "1",
                "tskip": "0",
                "sao": "1",
                "weightp": "1",
                "tskip-fast": "0",
                "vbv-end": 0,
                "vbv-end-fr-adj": 0
            }
            // format params
        }
    }
}
{
    "query": {
        "userid": "[UserID]", // required
        "userkey": "[UserKey]", // required
        "action": "[Action]", // required
        "source": "[SourceFile]", // required
        "format": {
            "output": "[advanced_dash|fmp4_hls]", // required
            "stream": [
                {
                    "video_codec": "hevc",
                    "video_codec_parameters": {
                        "level": "[Level]",
                        "refresh": "1",
                        "rc-lookahead": "20",
                        "b-adapt": "2",
                        "bframes": "4",
                        "b-pyramid": "1",
                        "ref": "3",
                        "ctu": "64",
                        "tu-intra-depth": "1",
                        "tu-inter-depth": "1",
                        "me": "1",
                        "subme": "2",
                        "merange": "60",
                        "max-merge": "2",
                        "rect": "1",
                        "amp": "1",
                        "early-skip": "0",
                        "fast-cbf": "0",
                        "signhide": "1",
                        "lft": "1",
                        "tskip": "0",
                        "sao": "1",
                        "weightp": "1",
                        "tskip-fast": "0",
                        "vbv-end": 0,
                        "vbv-end-fr-adj": 0
                    }
                },
                {
                   // stream params
                }
            ]
        }
    }
}
ParameterDefinitionAllowed ValuesDefault Values
Slice Descision Options---
refreshSpecify the intra refresh type0 — none
1 — CDR
2 — IDR
1
rc-lookaheadSpecify the number of frames for the frame-type lookahead.An integer less than or equal to 250 and greater than the maximum consecutive bframes count.20
b-adaptEnable adaptive bframe scheduling.0 — none
1 — fast
2 — full (trellis)
2
bframes
Specify the number of consecutive b-frames.Positive integer from 0 to 16.4
b-pyramidEnable the use b-frames as references.0 — Disabled
1 — Enabled
1
refSpecify the max number of L0 references to be allowed.Positive integer from 0 to 16.3
weightpEnable the weighted prediction in P slices.0 — Disabled
1 — Enabled
1
Quad-Tree Analisys Options--
ctuSpecify the maximum CU size (width and height).16,32,6464
tu-intra-depthSpecify the maximum TU recursive depth for intra CUs.1,2,3,41
tu-inter-depthSpecify the maximum TU recursive depth for inter CUs.1,2,3,41
Motion Search Options---
meSpecify the motion search method.0 — dia
1 — hex
2 — umh
3 — star
4 — full
1
submeSpecify the amount of subpel refinement to perform.Positive integer from 0 to 7 (0: least … 7: most)2
merangeSpecify the motion search range.Integer from 0 to 3276860
max-mergeSpecify the maximum number of merge candidates.Positive integer from 1 to 52
rectSpecify the number of rectangular motion partitions Nx2N and 2NxN0 — Disable
1 — Enable
1
ampSpecify the asymmetric motion partitions (requires rect enabled)0 — Disable
1 — Enable
1
early-skipEnable early SKIP detection.0 — Disable
1 — Enable
0
fast-cbfEnable CBF fast mode.0 — Disable
1 — Enable
0
Rate Control Options---
rdSpecify level of rate distortion in mode decision.0 — Least
1 — Lightweight RDO Analysis
0
signhideHide the sign bit of one coeff per TU.0 — Disable
1 — Enable
1
vbv-endFinal buffer fullness. The portion of the decode buffer that must be full after all the specified frames have been inserted into the decode buffer. For Ludicrous Mode this parameter is applied to each encoding chunk.Fractional value between 0 and 10
vbv-end-fr-adjFrame from which qp has to be adjusted to achieve final decode buffer fullness. Specified as a fraction of the total frames. or Ludicrous Mode this parameter is applied to each encoding chunkFractional value between 0 and 10
Loop Filter Options---
lftEnable the oop filter.0 — Disable
1 — Enable
1
Intra Options---
tskipEnable intra transform skipping.0 — Disable
1 — Enable
0
tskip-fastEnable fast intra transform skipping0 — Disable
1 — Enable
0
Sample Adaptive Offset Loop Filter Options--
saoEnable simple adaptive offset.0 — Disable
1 — Enable
1
General Options---
levelVideo LevelPositive integer number
10 – 1.0,
20 – 2.0,
21 – 2.1,
22 – 2.2,
30 – 3.0,
31 – 3.1,
32 – 3.2,
40 – 4.0,
41 – 4.1,
50 – 5.0,
51 – 5.1,
52 – 5.2,
60 – 6.0,
61 – 6.1,
62 – 6.2
none