Explicitly use Rec 601 for VDPAU

This commit is contained in:
Cameron Gutman 2019-12-16 18:02:11 -08:00
parent d4c2350d63
commit e1603f0808
2 changed files with 10 additions and 0 deletions

View File

@ -250,6 +250,15 @@ bool VDPAURenderer::needsTestFrame()
return true;
}
int VDPAURenderer::getDecoderColorspace()
{
// VDPAU defaults to Rec 601.
// https://http.download.nvidia.com/XFree86/vdpau/doxygen/html/group___vdp_video_mixer.html#ga65580813e9045d94b739ed2bb8b62b46
//
// AMD and Nvidia GPUs both correctly process Rec 601, so let's not try our luck using a non-default colorspace.
return COLORSPACE_REC_601;
}
void VDPAURenderer::renderFrame(AVFrame* frame)
{
VdpStatus status;

View File

@ -17,6 +17,7 @@ public:
virtual bool prepareDecoderContext(AVCodecContext* context) override;
virtual void renderFrame(AVFrame* frame) override;
virtual bool needsTestFrame() override;
virtual int getDecoderColorspace() override;
private:
uint32_t m_VideoWidth, m_VideoHeight;