Video Encode

NvMedia Video Encode for NVENC supports the following features:

  • Accepts YUV frames as input.
  • Encodes content for Internet, common SD and HD formats up to dual streams of 1920 x 1080.
  • Supports H.264 Baseline, Main and High profiles.
  • Provides frame-only encoding.
    • For I-frame or I/P-frame encoding, the low-level hardware driver (TVMR) code handles the picture type according to the Group of Pictures (GOP) and IDR period.
    • For I/B/P encoding, the picture re-ordering is handled in application code by assigning the picture type and sending it to the low-level hardware driver (TVMR) 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 SD and HD resolutions up to dual streams of 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 low-level hardware driver (TVMR) code handles the picture type according to the Gop, 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. Other modes such as multi-pass CBR could be supported in future software releases.
  • 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