Image Encode Processing (IEP)

The NvMedia Image Encode (IEP) component supports encoding the incoming NvMedia Image (YUV) inputs to H.264, H.265, and AV1.

For a list of supported encoding features, see Video Encode in Video Processing.

NvMedia Image Encode Processing (IEP) APIs for NVENC supports the following features:

For H.264 encoding, the encoder has the following features:

  • Accepts YUV frames as input.
  • Encoding common resolutions up to 3840 x 2160
  • Supports H.264 Baseline, Main and High profiles with level up to 5.2.
  • Provides frame-only encoding.
    • For I-frame or I/P-frame encoding, the driver handles the picture type according to the Group of Pictures (GOP) and IDR period.
    • For I/B/P encoding, the picture reordering is handled in application code by assigning the picture type and sending it to the driver for encoding.
  • Supports all intra-macroblock types (16 x 16, 8 x 8, 4 x 4, PCM) and prediction types.
  • Supports inter-macroblock partition sizes from 16 x 16, 16 x 8, 8 x 16 down to 8 x 8, and skip and direct B-modes.
  • Supports disable, temporal, or spatial direct mode for:
    • B-picture
    • One reference picture for P-picture
    • Two reference pictures for B-picture
  • Supports multiple rate-control modes including:
    • Constant QP
    • Constant Bit Rate (CBR) single-pass
    • Variable Bit Rate (VBR)
    • VBR with minimum QP
  • Supports dynamic slice mode based on byte size and static multiple slices in the frame.
  • Supports intra-refresh mode with refresh period, and instant refresh P-picture.
  • Supports adaptive 8x8 transform mode.
  • Supports VUI and SEI insertion.
  • Supports CAVLC and CABAC.
  • Supports rotation/mirroring mode.
  • Supports dynamic configure changes at the frame level:
    • SPS PPS output on next frame
    • Constrained frame encode
    • Instant intra refresh P picture
    • New SEI packet insertion
    • GOP length and IDR period update
    • Rate control mode change

For H.265 encoding, the encoder has the following features:

  • Accepts YUV frames as input.
  • Encoding common resolutions up to 3840 x 2160
  • Supports H.265 Main profiles with level up to 6.0.
  • Supports Frame only encoding.
  • For I only or I/P encoding, the driver handles the picture type according to the GOP and IDR period. B pictures are not supported.
  • Supports ll intra CU types (32 x 32, 16 x 16, 8 x 8, 4 x 4, PCM) and prediction types.
  • Inter CU partition sizes from 32x32 to 8x8, with partition mode of PART_2Nx2N, PART_2NxN, PART_Nx2N, PART_2NxnU, PART_2NxnD, PART_nLx2N PART_nRx2N plus skip.
  • 1 reference picture for P picture.
  • Multiple rate-control modes—constant QP, CBR (single-pass), VBR, VBR with min QP.
  • Dynamic slice mode based on byte size and static multiple slices in the frame.
  • Intra refresh mode with refresh period, and instant refresh P picture.
  • VUI and SEI insertion.
  • CABAC only.
  • Dynamic configure change at frame level:
    • SPS PPS output on next frame
    • Constrained frame encode
    • Instant intra refresh P picture
    • New SEI packet insertion
    • Gop length and IDR period update
    • Rate control mode change

For AV1 encoding, the encoder has the following features:

  • Accepts YUV frames as input (YUV420 only).
  • Encoding common resolutions up to 7680 x 4320
  • Supports main profile up to level 6.3
  • Supports 8/10 bit encoding
  • Supports Frame only encoding.