Skip to content

Commit

Permalink
Added DXVA deinterlacing for SW decoding and DXVA rendering.
Browse files Browse the repository at this point in the history
  • Loading branch information
afedchin authored and popcornmix committed Sep 19, 2016
1 parent fcc98a4 commit c4eb95a
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 0 deletions.
2 changes: 2 additions & 0 deletions xbmc/cores/IPlayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,8 @@ enum EINTERLACEMETHOD
VS_INTERLACEMETHOD_IMX_ADVMOTION = 30,
VS_INTERLACEMETHOD_IMX_ADVMOTION_HALF = 31,

VS_INTERLACEMETHOD_DXVA_AUTO = 32,

VS_INTERLACEMETHOD_MAX // do not use and keep as last enum value.
};

Expand Down
4 changes: 4 additions & 0 deletions xbmc/cores/VideoPlayer/VideoRenderers/WinRenderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1087,7 +1087,11 @@ CRenderInfo CWinRenderer::GetRenderInfo()
info.formats = m_formats;
info.max_buffer_size = NUM_BUFFERS;
if (m_renderMethod == RENDER_DXVA && m_processor)
{
info.optimal_buffer_size = m_processor->Size();
if (m_extended_format != RENDER_FMT_DXVA)
info.m_deintMethods.push_back(VS_INTERLACEMETHOD_DXVA_AUTO);
}
else
info.optimal_buffer_size = 4;
return info;
Expand Down
1 change: 1 addition & 0 deletions xbmc/video/dialogs/GUIDialogVideoSettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ void CGUIDialogVideoSettings::InitializeSettings()
entries.push_back(std::make_pair(16334, VS_INTERLACEMETHOD_IMX_FASTMOTION));
entries.push_back(std::make_pair(16335, VS_INTERLACEMETHOD_IMX_ADVMOTION_HALF));
entries.push_back(std::make_pair(16336, VS_INTERLACEMETHOD_IMX_ADVMOTION));
entries.push_back(std::make_pair(16320, VS_INTERLACEMETHOD_DXVA_AUTO));

/* remove unsupported methods */
for (StaticIntegerSettingOptions::iterator it = entries.begin(); it != entries.end(); )
Expand Down

0 comments on commit c4eb95a

Please sign in to comment.