diff --git a/projects/rocdecode/samples/videoDecodeFork/videodecodefork.cpp b/projects/rocdecode/samples/videoDecodeFork/videodecodefork.cpp index 8349d7b125..1a1c86baee 100644 --- a/projects/rocdecode/samples/videoDecodeFork/videodecodefork.cpp +++ b/projects/rocdecode/samples/videoDecodeFork/videodecodefork.cpp @@ -167,7 +167,10 @@ int main(int argc, char **argv) { for (int i = 0; i < n_fork; i++) { 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; + if (device_id % 2 == 0) + v_device_id[i] = (i % 2 == 0) ? device_id : device_id + sd; + else + v_device_id[i] = (i % 2 == 0) ? device_id - sd : device_id; 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/projects/rocdecode/samples/videoDecodePerf/videodecodeperf.cpp b/projects/rocdecode/samples/videoDecodePerf/videodecodeperf.cpp index d67caf2f2b..4dbdb8a4b3 100644 --- a/projects/rocdecode/samples/videoDecodePerf/videodecodeperf.cpp +++ b/projects/rocdecode/samples/videoDecodePerf/videodecodeperf.cpp @@ -174,7 +174,10 @@ int main(int argc, char **argv) { for (int i = 0; i < n_thread; i++) { 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; + if (device_id % 2 == 0) + v_device_id[i] = (i % 2 == 0) ? device_id : device_id + sd; + else + v_device_id[i] = (i % 2 == 0) ? device_id - sd : device_id; 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));