Added the missing presentation time stamp (pts) to decode return info for displayed pictures. (#398)

* * rocDecode: Added the missing pts to decode return info for decoded pictures.

* * rocDecode: Added the missing pts to decode return info for decoded pictures.
Этот коммит содержится в:
jeffqjiangNew
2024-07-25 16:53:20 -04:00
коммит произвёл GitHub
родитель 96944030aa
Коммит 4f8191edc0
5 изменённых файлов: 16 добавлений и 3 удалений
+3 -1
Просмотреть файл
@@ -78,6 +78,7 @@ rocDecStatus HevcVideoParser::UnInitialize() {
rocDecStatus HevcVideoParser::ParseVideoData(RocdecSourceDataPacket *p_data) {
if (p_data->payload && p_data->payload_size) {
curr_pts_ = p_data->pts;
if (ParsePictureData(p_data->payload, p_data->payload_size) != PARSER_OK) {
ERR(STR("Parser failed!"));
return ROCDEC_RUNTIME_ERROR;
@@ -2289,6 +2290,7 @@ ParserResult HevcVideoParser::FindFreeInDpbAndMark() {
decode_buffer_pool_[curr_pic_info_.dec_buf_idx].use_status |= kFrameUsedForDisplay;
}
decode_buffer_pool_[curr_pic_info_.dec_buf_idx].pic_order_cnt = curr_pic_info_.pic_order_cnt;
decode_buffer_pool_[curr_pic_info_.dec_buf_idx].pts = curr_pts_;
HevcSeqParamSet *sps_ptr = &m_sps_[m_active_sps_id_];
uint32_t highest_tid = sps_ptr->sps_max_sub_layers_minus1; // HighestTid
@@ -2763,7 +2765,7 @@ void HevcVideoParser::PrintDpb() {
MSG("Decode buffer pool:");
for(i = 0; i < dec_buf_pool_size_; i++) {
DecodeFrameBuffer *p_dec_buf = &decode_buffer_pool_[i];
MSG("Decode buffer " << i << ": use_status = " << p_dec_buf->use_status << ", pic_order_cnt = " << p_dec_buf->pic_order_cnt);
MSG("Decode buffer " << i << ": use_status = " << p_dec_buf->use_status << ", pic_order_cnt = " << p_dec_buf->pic_order_cnt << ", pts = " << p_dec_buf->pts);
}
MSG("num_output_pics_ = " << num_output_pics_);
if (num_output_pics_) {