@ -1459,8 +1459,12 @@ namespace MediaBrowser.Controller.MediaEncoding
param + = " -preset 7" ;
param + = " -preset 7" ;
}
}
// Only h264_qsv has look_ahead option
if ( string . Equals ( videoEncoder , "h264_qsv" , StringComparison . OrdinalIgnoreCase ) )
{
param + = " -look_ahead 0" ;
param + = " -look_ahead 0" ;
}
}
}
else if ( string . Equals ( videoEncoder , "h264_nvenc" , StringComparison . OrdinalIgnoreCase ) // h264 (h264_nvenc)
else if ( string . Equals ( videoEncoder , "h264_nvenc" , StringComparison . OrdinalIgnoreCase ) // h264 (h264_nvenc)
| | string . Equals ( videoEncoder , "hevc_nvenc" , StringComparison . OrdinalIgnoreCase ) ) // hevc (hevc_nvenc)
| | string . Equals ( videoEncoder , "hevc_nvenc" , StringComparison . OrdinalIgnoreCase ) ) // hevc (hevc_nvenc)
{
{
@ -1497,7 +1501,7 @@ namespace MediaBrowser.Controller.MediaEncoding
break ;
break ;
default :
default :
param + = " -preset p 4 ";
param + = " -preset p 1 ";
break ;
break ;
}
}
}
}
@ -3467,6 +3471,12 @@ namespace MediaBrowser.Controller.MediaEncoding
// map from d3d11va to qsv.
// map from d3d11va to qsv.
mainFilters . Add ( "hwmap=derive_device=qsv" ) ;
mainFilters . Add ( "hwmap=derive_device=qsv" ) ;
}
}
else
{
// Insert a qsv scaler to sync the decoder surface,
// msdk will passthrough this internally.
mainFilters . Add ( "hwmap=derive_device=qsv,scale_qsv" ) ;
}
}
}
// hw deint
// hw deint