Skip to content

Commit

Permalink
Add repeat frame flag and HEVC PAK statistics for multi-passes encoding
Browse files Browse the repository at this point in the history
Signed-off-by: ChenXiaomin0306 <[email protected]>
  • Loading branch information
ChenXiaomin0306 committed Jun 25, 2023
1 parent 1c58941 commit 6ddf413
Showing 1 changed file with 36 additions and 1 deletion.
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,
/** \brief Buffer type used for HEVC Pak statistics */
VAEncMiscParameterTypeHevcPakStat = 21
} 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

0 comments on commit 6ddf413

Please sign in to comment.