diff --git a/samples/videoDecode/videodecode.cpp b/samples/videoDecode/videodecode.cpp index 7da7d51109..a5e3ec9850 100644 --- a/samples/videoDecode/videodecode.cpp +++ b/samples/videoDecode/videodecode.cpp @@ -135,7 +135,7 @@ int main(int argc, char **argv) { try { VideoDemuxer demuxer(input_file_path.c_str()); rocDecVideoCodec rocdec_codec_id = AVCodec2RocDecVideoCodec(demuxer.GetCodecID()); - RocVideoDecoder viddec(device_id, mem_type, rocdec_codec_id, false, b_force_zero_latency, p_crop_rect, b_extract_sei_messages); + RocVideoDecoder viddec(device_id, mem_type, rocdec_codec_id, b_force_zero_latency, p_crop_rect, b_extract_sei_messages); std::string device_name, gcn_arch_name; int pci_bus_id, pci_domain_id, pci_device_id; diff --git a/samples/videoDecodeFork/videodecodefork.cpp b/samples/videoDecodeFork/videodecodefork.cpp index 819a0c35ff..20ab053e23 100644 --- a/samples/videoDecodeFork/videodecodefork.cpp +++ b/samples/videoDecodeFork/videodecodefork.cpp @@ -168,7 +168,7 @@ int main(int argc, char **argv) { std::unique_ptr demuxer(new VideoDemuxer(input_file_path.c_str())); rocDecVideoCodec rocdec_codec_id = AVCodec2RocDecVideoCodec(demuxer->GetCodecID()); v_device_id[i] = (i % 2 == 0) ? 0 : sd; - std::unique_ptr dec(new RocVideoDecoder(v_device_id[i], mem_type, rocdec_codec_id, false, b_force_zero_latency, p_crop_rect)); + std::unique_ptr dec(new RocVideoDecoder(v_device_id[i], mem_type, rocdec_codec_id, b_force_zero_latency, p_crop_rect)); v_demuxer.push_back(std::move(demuxer)); v_viddec.push_back(std::move(dec)); } diff --git a/samples/videoDecodeMem/videodecodemem.cpp b/samples/videoDecodeMem/videodecodemem.cpp index 8f7b46e263..53f8d337ce 100644 --- a/samples/videoDecodeMem/videodecodemem.cpp +++ b/samples/videoDecodeMem/videodecodemem.cpp @@ -150,7 +150,7 @@ int main(int argc, char **argv) { FileStreamProvider stream_provider(input_file_path.c_str()); VideoDemuxer demuxer(&stream_provider); rocDecVideoCodec rocdec_codec_id = AVCodec2RocDecVideoCodec(demuxer.GetCodecID()); - RocVideoDecoder viddec(device_id, mem_type, rocdec_codec_id, false, b_force_zero_latency, p_crop_rect, b_extract_sei_messages); + RocVideoDecoder viddec(device_id, mem_type, rocdec_codec_id, b_force_zero_latency, p_crop_rect, b_extract_sei_messages); std::string device_name, gcn_arch_name; int pci_bus_id, pci_domain_id, pci_device_id; diff --git a/samples/videoDecodeMultiFiles/videodecodemultifiles.cpp b/samples/videoDecodeMultiFiles/videodecodemultifiles.cpp index 391f1c8928..880699e569 100644 --- a/samples/videoDecodeMultiFiles/videodecodemultifiles.cpp +++ b/samples/videoDecodeMultiFiles/videodecodemultifiles.cpp @@ -158,7 +158,7 @@ int main(int argc, char **argv) { multi_file_data.pop_front(); VideoDemuxer demuxer(file_data.in_file.c_str()); rocDecVideoCodec rocdec_codec_id = AVCodec2RocDecVideoCodec(demuxer.GetCodecID()); - RocVideoDecoder viddec(device_id, file_data.mem_type, rocdec_codec_id, false, file_data.b_force_zero_latency, file_data.p_crop_rect, file_data.b_extract_sei_messages); + RocVideoDecoder viddec(device_id, file_data.mem_type, rocdec_codec_id, file_data.b_force_zero_latency, file_data.p_crop_rect, file_data.b_extract_sei_messages); std::string device_name, gcn_arch_name; int pci_bus_id, pci_domain_id, pci_device_id; diff --git a/samples/videoDecodePerf/videodecodeperf.cpp b/samples/videoDecodePerf/videodecodeperf.cpp index 247e91d9b1..9443571297 100644 --- a/samples/videoDecodePerf/videodecodeperf.cpp +++ b/samples/videoDecodePerf/videodecodeperf.cpp @@ -175,7 +175,7 @@ int main(int argc, char **argv) { std::unique_ptr demuxer(new VideoDemuxer(input_file_path.c_str())); rocDecVideoCodec rocdec_codec_id = AVCodec2RocDecVideoCodec(demuxer->GetCodecID()); v_device_id[i] = (i % 2 == 0) ? 0 : sd; - std::unique_ptr dec(new RocVideoDecoder(v_device_id[i], mem_type, rocdec_codec_id, false, b_force_zero_latency, p_crop_rect)); + std::unique_ptr dec(new RocVideoDecoder(v_device_id[i], mem_type, rocdec_codec_id, b_force_zero_latency, p_crop_rect)); v_demuxer.push_back(std::move(demuxer)); v_viddec.push_back(std::move(dec)); } diff --git a/utils/rocvideodecode/roc_video_dec.cpp b/utils/rocvideodecode/roc_video_dec.cpp index ce763be003..98b285875a 100644 --- a/utils/rocvideodecode/roc_video_dec.cpp +++ b/utils/rocvideodecode/roc_video_dec.cpp @@ -22,10 +22,9 @@ THE SOFTWARE. #include "roc_video_dec.h" -RocVideoDecoder::RocVideoDecoder(int device_id, OutputSurfaceMemoryType out_mem_type, rocDecVideoCodec codec, bool b_low_latency, bool force_zero_latency, - const Rect *p_crop_rect, bool extract_user_sei_Message, int max_width, int max_height,uint32_t clk_rate) : - device_id_{device_id}, out_mem_type_(out_mem_type), codec_id_(codec), b_low_latency_(b_low_latency), - b_force_zero_latency_(force_zero_latency), b_extract_sei_message_(extract_user_sei_Message), +RocVideoDecoder::RocVideoDecoder(int device_id, OutputSurfaceMemoryType out_mem_type, rocDecVideoCodec codec, bool force_zero_latency, + const Rect *p_crop_rect, bool extract_user_sei_Message, int max_width, int max_height, uint32_t clk_rate) : + device_id_{device_id}, out_mem_type_(out_mem_type), codec_id_(codec), b_force_zero_latency_(force_zero_latency), b_extract_sei_message_(extract_user_sei_Message), max_width_ (max_width), max_height_(max_height) { if (!InitHIP(device_id_)) { @@ -42,7 +41,7 @@ RocVideoDecoder::RocVideoDecoder(int device_id, OutputSurfaceMemoryType out_mem_ parser_params.CodecType = codec_id_; parser_params.ulMaxNumDecodeSurfaces = 1; parser_params.ulClockRate = clk_rate; - parser_params.ulMaxDisplayDelay = b_low_latency ? 0 : 1; + parser_params.ulMaxDisplayDelay = 0; parser_params.pUserData = this; parser_params.pfnSequenceCallback = HandleVideoSequenceProc; parser_params.pfnDecodePicture = HandlePictureDecodeProc; @@ -232,8 +231,6 @@ int RocVideoDecoder::HandleVideoSequence(RocdecVideoFormat *p_video_format) { input_video_info_str_.clear(); input_video_info_str_ << "Input Video Information" << std::endl << "\tCodec : " << GetCodecFmtName(p_video_format->codec) << std::endl - << "\tFrame rate : " << p_video_format->frame_rate.numerator << "/" << p_video_format->frame_rate.denominator - << " = " << 1.0 * p_video_format->frame_rate.numerator / p_video_format->frame_rate.denominator << " fps" << std::endl << "\tSequence : " << (p_video_format->progressive_sequence ? "Progressive" : "Interlaced") << std::endl << "\tCoded size : [" << p_video_format->coded_width << ", " << p_video_format->coded_height << "]" << std::endl << "\tDisplay area : [" << p_video_format->display_area.left << ", " << p_video_format->display_area.top << ", " diff --git a/utils/rocvideodecode/roc_video_dec.h b/utils/rocvideodecode/roc_video_dec.h index fded0cc36e..00a16058b5 100644 --- a/utils/rocvideodecode/roc_video_dec.h +++ b/utils/rocvideodecode/roc_video_dec.h @@ -152,7 +152,7 @@ class RocVideoDecoder { * @param clk_rate * @param force_zero_latency */ - RocVideoDecoder(int device_id, OutputSurfaceMemoryType out_mem_type, rocDecVideoCodec codec, bool b_low_latency, bool force_zero_latency = false, + RocVideoDecoder(int device_id, OutputSurfaceMemoryType out_mem_type, rocDecVideoCodec codec, bool force_zero_latency = false, const Rect *p_crop_rect = nullptr, bool extract_user_SEI_Message = false, int max_width = 0, int max_height = 0, uint32_t clk_rate = 1000); ~RocVideoDecoder(); @@ -365,7 +365,6 @@ class RocVideoDecoder { rocDecDecoderHandle roc_decoder_ = nullptr; OutputSurfaceMemoryType out_mem_type_ = OUT_SURFACE_MEM_DEV_INTERNAL; bool b_extract_sei_message_ = false; - bool b_low_latency_ = true; bool b_force_zero_latency_ = false; //bool b_device_frame_pitched_ = true; hipDeviceProp_t hip_dev_prop_;