Could you provide the quality and performance values with software rate controller?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. | Gerrit |
Could you provide the quality and performance values with software rate controller?
I think we need to rework video_encode_accelerator_test to get it working for Windows as well. I can report PSNR/SSIM back once that is done.
Encoding time is nearly the same at 720p on NV/Intel platform comparing to driver's own BRC at the same target bitrate(1.9Mbps), and average QP is 21 for SW BRC vs 20.9 without SW BRC on NV, while for Intel SW BRC is a must as latest driver does not support changing bitrate in CBR mode(fix likely to be rolled out in July); For Intel at the same 1.9Mbps target bitrate, QP is around 22.5.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. | Gerrit |
Jianlin QiuCould you provide the quality and performance values with software rate controller?
I think we need to rework video_encode_accelerator_test to get it working for Windows as well. I can report PSNR/SSIM back once that is done.
Encoding time is nearly the same at 720p on NV/Intel platform comparing to driver's own BRC at the same target bitrate(1.9Mbps), and average QP is 21 for SW BRC vs 20.9 without SW BRC on NV, while for Intel SW BRC is a must as latest driver does not support changing bitrate in CBR mode(fix likely to be rolled out in July); For Intel at the same 1.9Mbps target bitrate, QP is around 22.5.
How is the produced bitrate?
Is it sufficiently near to the target bitrate?
I need to learn the software rate controller implementation.
Could you give the rationale why the h264 rate controller can be used for h265?
} else {
quantizer = QindextoAVEncQP(metadata_qp.value());
}
#else
quantizer = QindextoAVEncQP(metadata_qp.value());
#endif // BUILDFLAG(ENABLE_PLATFORM_HEVC)
```
} else
#endif //
{
quantizer = QindextoAVEncQP(metadata_qp.value());
}
```
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. | Gerrit |
Jianlin QiuCould you provide the quality and performance values with software rate controller?
Hirokazu HondaI think we need to rework video_encode_accelerator_test to get it working for Windows as well. I can report PSNR/SSIM back once that is done.
Encoding time is nearly the same at 720p on NV/Intel platform comparing to driver's own BRC at the same target bitrate(1.9Mbps), and average QP is 21 for SW BRC vs 20.9 without SW BRC on NV, while for Intel SW BRC is a must as latest driver does not support changing bitrate in CBR mode(fix likely to be rolled out in July); For Intel at the same 1.9Mbps target bitrate, QP is around 22.5.
How is the produced bitrate?
Is it sufficiently near to the target bitrate?I need to learn the software rate controller implementation.
Could you give the rationale why the h264 rate controller can be used for h265?
Histograms captured for a 2-minutes' HEVC session shown below. According to the result, SW BRC performs better than HW BRC.
The reason that the rate controller can be reused is that they follow the similar HRD requirement. RD model could be different for intra-frames due to coding efficiency, but should basically be less different for inter-frames. It would be ideal for WebRTC usage which uses open-GOP for H.265.
With SW BRC:
With HW BRC:
} else {
quantizer = QindextoAVEncQP(metadata_qp.value());
}
#else
quantizer = QindextoAVEncQP(metadata_qp.value());
#endif // BUILDFLAG(ENABLE_PLATFORM_HEVC)
```
} else
#endif //
{
quantizer = QindextoAVEncQP(metadata_qp.value());
}
```
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. | Gerrit |
Thanks. It would be great to have more evaluation by launch.
LGTM. I defer to Eugene for the final approval.
}
Change the supported temporal layers for H265?
metadata_qp = std::clamp(metadata_qp.value(), 1, kH26xMaxQp);
Why not 0?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. | Gerrit |
Change the supported temporal layers for H265?
This will be done in a separate CL. It's not simply setting it to 2 or 3.
metadata_qp = std::clamp(metadata_qp.value(), 1, kH26xMaxQp);
Why not 0?
We're just following H.264 approach for WebCodecs CQP encoding above. Unless we want the encode to work in lossless mode, this should not be 0.
Jianlin QiuChange the supported temporal layers for H265?
This will be done in a separate CL. It's not simply setting it to 2 or 3.
Acknowledged
metadata_qp = std::clamp(metadata_qp.value(), 1, kH26xMaxQp);
Jianlin QiuWhy not 0?
We're just following H.264 approach for WebCodecs CQP encoding above. Unless we want the encode to work in lossless mode, this should not be 0.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. | Gerrit |