Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 36 additions & 1 deletion va/va.h
Original file line number Diff line number Diff line change
Expand Up @@ -2316,7 +2316,11 @@ typedef enum {
/** \brief Buffer type used for FEI input frame level parameters */
VAEncMiscParameterTypeFEIFrameControl = 18,
/** \brief encode extension buffer, ect. MPEG2 Sequence extenstion data */
VAEncMiscParameterTypeExtensionData = 19
VAEncMiscParameterTypeExtensionData = 19,
/** \brief Buffer type used for sending repeat frame flag to the encoder */
VAEncMiscParameterTypeRepeatFrame = 20,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could we reuse skip frame?

/** \brief Buffer type used for HEVC Pak statistics */
VAEncMiscParameterTypeHevcPakStat = 21
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why only hevc? what about other codes - avc, av1, etc?

} VAEncMiscParameterType;

/** \brief Packed header type. */
Expand Down Expand Up @@ -2764,6 +2768,37 @@ typedef struct _VAEncMiscParameterSkipFrame {
uint32_t va_reserved[VA_PADDING_LOW];
} VAEncMiscParameterSkipFrame;

/**
* \brief Encoding repeat frame.
*
* The application may choose to send repeated frame to the encoder for additional
* encoding pass. The encoder needs to know whether the frame is repeated frame to
* use the proper context and update the context.
*/
typedef struct _VAEncMiscParameterRepeatFrame {
/** 0 indicates it's a new frame and 1 indicates it's a repeated frame
* of previous frame. */
uint8_t repeat_frame_flag;
} VAEncMiscParameterRepeatFrame;

/**
* \brief HEVC encoding PAK CU levle stream out.
*
* The application may choose to get HEVC encoding CU level stream out from
* encoder PAK. Detail PAK CU level stream out depends on platform.
*/
typedef struct _VAEncMiscParameterHevcPakStat {
/** brief total generated CUs count
*
* it should be allocated by application. */
uint32_t *total_cus_cnt;

/** brief stream out for all CUs
*
* it should be allocated by applicaiton. */
uint8_t *cu_stream_out;
} VAEncMiscParameterHevcPakStat;

/**
* \brief Encoding region-of-interest (ROI).
*
Expand Down