frontends/va: Add HEVC decode args: IntraPicFlag, no_pic_reordering_flag, no_bipred_flag
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328>
This commit is contained in:
@@ -37,6 +37,10 @@ void vlVaHandlePictureParameterBufferHEVC(vlVaDriver *drv, vlVaContext *context,
|
||||
context->desc.h265.pps->sps->chroma_format_idc = hevc->pic_fields.bits.chroma_format_idc;
|
||||
context->desc.h265.pps->sps->separate_colour_plane_flag =
|
||||
hevc->pic_fields.bits.separate_colour_plane_flag;
|
||||
context->desc.h265.pps->sps->no_pic_reordering_flag =
|
||||
hevc->pic_fields.bits.NoPicReorderingFlag;
|
||||
context->desc.h265.pps->sps->no_bi_pred_flag =
|
||||
hevc->pic_fields.bits.NoBiPredFlag;
|
||||
context->desc.h265.pps->sps->pic_width_in_luma_samples = hevc->pic_width_in_luma_samples;
|
||||
context->desc.h265.pps->sps->pic_height_in_luma_samples = hevc->pic_height_in_luma_samples;
|
||||
context->desc.h265.pps->sps->bit_depth_luma_minus8 = hevc->bit_depth_luma_minus8;
|
||||
@@ -143,6 +147,7 @@ void vlVaHandlePictureParameterBufferHEVC(vlVaDriver *drv, vlVaContext *context,
|
||||
|
||||
context->desc.h265.IDRPicFlag = hevc->slice_parsing_fields.bits.IdrPicFlag;
|
||||
context->desc.h265.RAPPicFlag = hevc->slice_parsing_fields.bits.RapPicFlag;
|
||||
context->desc.h265.IntraPicFlag = hevc->slice_parsing_fields.bits.IntraPicFlag;
|
||||
|
||||
context->desc.h265.CurrPicOrderCntVal = hevc->CurrPic.pic_order_cnt;
|
||||
|
||||
|
||||
@@ -600,6 +600,8 @@ struct pipe_h265_sps
|
||||
uint8_t num_long_term_ref_pics_sps;
|
||||
uint8_t sps_temporal_mvp_enabled_flag;
|
||||
uint8_t strong_intra_smoothing_enabled_flag;
|
||||
uint8_t no_pic_reordering_flag;
|
||||
uint8_t no_bi_pred_flag;
|
||||
};
|
||||
|
||||
struct pipe_h265_pps
|
||||
@@ -652,6 +654,16 @@ struct pipe_h265_picture_desc
|
||||
|
||||
uint8_t IDRPicFlag;
|
||||
uint8_t RAPPicFlag;
|
||||
/*
|
||||
When the current picture is an IRAP picture, IntraPicFlag shall be equal to 1.
|
||||
When the current picture is not an IRAP picture, the host software decoder is
|
||||
not required to determine whether all slices of the current picture are I slices
|
||||
– i.e. it may simply set IntraPicFlag to 0 in this case....
|
||||
|
||||
Some frontends have IntraPicFlag defined (ie. VAPictureParameterBufferHEVC)
|
||||
and some others like VDPAU/OMX can derive it from RAPPicFlag
|
||||
*/
|
||||
uint8_t IntraPicFlag;
|
||||
uint8_t CurrRpsIdx;
|
||||
uint32_t NumPocTotalCurr;
|
||||
uint32_t NumDeltaPocsOfRefRpsIdx;
|
||||
|
||||
Reference in New Issue
Block a user