Skip to content

Commit

Permalink
--dolby-vision-rpuの変換処理の扱いを改善。
Browse files Browse the repository at this point in the history
  • Loading branch information
rigaya committed Nov 22, 2024
1 parent 911345c commit 87ca083
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 3 deletions.
3 changes: 2 additions & 1 deletion QSVEnc/QSVEnc_readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -313,10 +313,11 @@ API v1.1 … Intel Media SDK v2.0


【どうでもいいメモ】
2024.11.xx (7.74)
2024.11.22 (7.74)
- --dolby-vision-profileで対象外のプロファイルも読み込めていた問題を修正。
- --dolby-vision-rpu使用時にレターボックス部分をcropをした場合にそれを反映させるオプションを追加。 ( --dolby-vision-rpu-prm crop )
- --dolby-visionに関するモード制限を解除。
- ログ表示の細かな変更等。

2024.11.12 (7.73)
- --dolby-vision-rpu copyを使用して長時間のエンコードを行うと、エンコード速度が著しく低下していくのを改善し、速度を維持し続けられるように。
Expand Down
2 changes: 1 addition & 1 deletion QSVPipeline/rgy_output.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -839,7 +839,7 @@ RGY_ERR RGYOutputRaw::WriteNextOneFrame(RGYBitstream *pBitstream) {
metadataList.push_back(std::make_unique<RGYOutputInsertMetadata>(dovi_nal, false, m_VideoOutputInfo.codec == RGY_CODEC_HEVC ? true : false));
}
} else if (m_doviRpuMetadataCopy) {
auto doviRpuConvPrm = (m_doviProfileDst == RGY_DOVI_PROFILE_COPY) ? std::make_unique<RGYFrameDataDOVIRpuConvertParam>(m_doviProfileDst, m_doviRpuConvertParam) : nullptr;
auto doviRpuConvPrm = std::make_unique<RGYFrameDataDOVIRpuConvertParam>(m_doviProfileDst, m_doviRpuConvertParam);
auto [err_dovirpu, metadata_dovi_rpu] = getMetadata<RGYFrameDataDOVIRpu>(RGY_FRAME_DATA_DOVIRPU, bs_framedata, doviRpuConvPrm.get());
if (err_dovirpu != RGY_ERR_NONE) {
return err_dovirpu;
Expand Down
5 changes: 4 additions & 1 deletion QSVPipeline/rgy_output_avcodec.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1014,6 +1014,9 @@ RGY_ERR RGYOutputAvcodec::InitVideo(const VideoInfo *videoOutputInfo, const Avco
AddMessage(RGY_LOG_DEBUG, _T("copied AV_PKT_DATA_DOVI_CONF from input\n"));
doviconf.reset();
}
if (m_Mux.video.doviProfileSrc == m_Mux.video.doviProfileDst) {
m_Mux.video.doviRpuConvertParam.convertProfile = false;
}
#else
AddMessage(RGY_LOG_WARN, _T("dovi-profile copy noy supported in this build!\n"));
#endif //#if LIBAVUTIL_DOVI_META_AVAIL
Expand Down Expand Up @@ -2825,7 +2828,7 @@ RGY_ERR RGYOutputAvcodec::WriteNextFrameInternalOneFrame(RGYBitstream *bitstream
metadataList.push_back(std::make_unique<RGYOutputInsertMetadata>(dovi_nal, false, m_VideoOutputInfo.codec == RGY_CODEC_HEVC ? true : false));
}
} else if (m_Mux.video.doviRpuMetadataCopy) {
auto doviRpuConvPrm = (m_Mux.video.doviProfileSrc != m_Mux.video.doviProfileDst) ? std::make_unique<RGYFrameDataDOVIRpuConvertParam>(m_Mux.video.doviProfileDst, m_Mux.video.doviRpuConvertParam) : nullptr;
auto doviRpuConvPrm = std::make_unique<RGYFrameDataDOVIRpuConvertParam>(m_Mux.video.doviProfileDst, m_Mux.video.doviRpuConvertParam);
auto [err_dovirpu, metadata_dovi_rpu] = getMetadata<RGYFrameDataDOVIRpu>(RGY_FRAME_DATA_DOVIRPU, bs_framedata, doviRpuConvPrm.get());
if (err_dovirpu != RGY_ERR_NONE) {
return err_dovirpu;
Expand Down

0 comments on commit 87ca083

Please sign in to comment.