Types and declarations for H.265/HEVC Encoding.
6
Data Structures | |
struct | NvMediaEncodeConfigH265VUIParams |
Holds the H.265 video usability information parameters. More... | |
struct | NvMediaEncodeConfigH265 |
Holds the H265 encoder configuration parameters. More... | |
struct | NvMediaEncodeInitializeParamsH265 |
Holds H265-specific encode initialization parameters. More... | |
struct | NvMediaEncodeH265SEIPayload |
Holds an H265-specific User SEI message. More... | |
struct | NvMediaEncodePicParamsH265 |
Holds H265-specific encoder picture parameters. More... | |
Defines H265 encoder configuration features.
Enumerator | |
---|---|
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_OUTPUT_AUD | Enable to write access unit delimiter syntax in bitstream. |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_INTRA_REFRESH | Enable gradual decoder refresh or intra refresh. If the GOP structure uses B frames this will be ignored |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_DYNAMIC_SLICE_MODE | Enable dynamic slice mode. Client must specify max slice size using the maxSliceSizeInBytes field. |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_CONSTRANED_ENCODING | Enable constrainedFrame encoding where each slice in the constrained picture is independent of other slices. |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_LOSSLESS_COMPRESSION | Enable lossless compression. |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_SLICE_LEVEL_OUTPUT | Enable slice level output encoding. This enables delivery encoded data slice by slice to client to reduce encode latency |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_RTP_MODE_OUTPUT | Enable RTP mode output. NAL unit start code will be replaced with NAL size for the NAL units. |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_EXT_PIC_RC_HINT | Enable support for external picture RC hint.
|
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_DYNAMIC_RPS | Enable support for dynamic reference picture set RPS/DPB control support. After receiving an input buffer and result of previous frame encoding, based on real time information, Some client software determines properties for the new input buffer (long term/short term/non-referenced, frame number/poc/LT index), |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_MV_BUFFER_DUMP | Enable support for motion vector buffer dump. This will enable motion vector dump. Motion vector buffer will be appended at the end of encoded bitstream data |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_PROFILING | Enable encoder profiling. Profiling information would be added as part of output extradata |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_ULTRA_FAST_ENCODE | Enable ultra fast encoding. It overrides some of the quality settings to achieve ultra fast encoding. |
NVMEDIA_ENCODE_CONFIG_H265_INIT_QP | Enable support to use client provided Initial QP for all frame types. |
NVMEDIA_ENCODE_CONFIG_H265_QP_MAX | Enable support to use client provided QP max for all frame types. |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_FOUR_BYTE_START_CODE | Enable support to use 4 byte start code in all the slices in a picture. |
NVMEDIA_ENCODE_CONFIG_H265_ENABLE_MV_BUFFER_DUMP_V2 | Enable support for motion vector buffer dump in a simplified (V2) format. Motion vector buffer will be appended to the end of encoded bitstream data retrieved using NvMediaIEPGetBits. Refer NvMediaEncodeOutputExtradata for more information regarding the format of the dumped MV output. Either NVMEDIA_ENCODE_CONFIG_H265_ENABLE_MV_BUFFER_DUMP_V2 or NVMEDIA_ENCODE_CONFIG_H265_ENABLE_MV_BUFFER_DUMP should be enabled at a given time. If both are enabled, V2 format will be used. It should be ensured that size of NvMediaBitstreamBuffer passed to NvMediaIEPGetBits has sufficient space to store the MV buffer dump. The numBytesAvailable returned by NvMediaIEPBitsAvailable or numBytes returned by NvMediaIEPGetBits does not take MV buffer dump size into account - represents only the size of the encoded bits that are available. While allocating bitstream buffers, the additional amount of space required in bitstream to accommodate MV buffer data needs to be added. This can be calculated as follows: mvBufferSize = sizeof(NvMediaEncodeMVBufferHeader) +
ALIGN_256(numCTBs * sizeof(NvMediaEncodeMVData))
where,
NumCTBs =
(ALIGN_32(InputWidth)/32) * (ALIGN_32(InputHeight)/32)
bitstreamSize = ALIGN_8(bitsAvailable) + mvBufferSize
ALIGN_N refers to an operation which returns a multiple of N, greater than or equal to a number, closest to the number.
|
Definition at line 1230 of file nvmedia_common_encode.h.