i-rinat / libvdpau-va-gl

VDPAU driver with OpenGL/VAAPI backend
MIT License
161 stars 26 forks source link

Discrepancy in decoder capabilities reported by `vainfo` and `vdpauinfo` wrt Kabylake. #67

Closed nochiel closed 7 years ago

nochiel commented 7 years ago

It seems to be the case that libvdpau-va-gl 0.4.2-1 is reporting only a subset of the decoding capabilities supported by libva-intel-driver 1.8.3-1. Am I correct in this interpretation of the results?

If so, could you provide an outline of what work/code might be necessary to improve libvdpau-va-gl featureset on Kabylake?

vainfo:

vainfo: Driver version: Intel i965 driver for Intel(R) Kabylake - 1.8.3                 
vainfo: Supported profile and entrypoints   
      VAProfileMPEG2Simple            : VAEntrypointVLD                                 
      VAProfileMPEG2Simple            : VAEntrypointEncSlice                            
      VAProfileMPEG2Main              : VAEntrypointVLD                                 
      VAProfileMPEG2Main              : VAEntrypointEncSlice                            
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD                                 
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice                            
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP                          
      VAProfileH264Main               : VAEntrypointVLD                                 
      VAProfileH264Main               : VAEntrypointEncSlice                            
      VAProfileH264Main               : VAEntrypointEncSliceLP                          
      VAProfileH264High               : VAEntrypointVLD                                 
      VAProfileH264High               : VAEntrypointEncSlice                            
      VAProfileH264High               : VAEntrypointEncSliceLP                          
      VAProfileH264MultiviewHigh      : VAEntrypointVLD                                 
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice                            
      VAProfileH264StereoHigh         : VAEntrypointVLD                                 
      VAProfileH264StereoHigh         : VAEntrypointEncSlice                            
      VAProfileVC1Simple              : VAEntrypointVLD                                 
      VAProfileVC1Main                : VAEntrypointVLD                                 
      VAProfileVC1Advanced            : VAEntrypointVLD                                 
      VAProfileNone                   : VAEntrypointVideoProc                           
      VAProfileJPEGBaseline           : VAEntrypointVLD                                 
      VAProfileJPEGBaseline           : VAEntrypointEncPicture                          
      VAProfileVP8Version0_3          : VAEntrypointVLD                                 
      VAProfileVP8Version0_3          : VAEntrypointEncSlice                            
      VAProfileHEVCMain               : VAEntrypointVLD                                 
      VAProfileHEVCMain               : VAEntrypointEncSlice                            
      VAProfileHEVCMain10             : VAEntrypointVLD                                 
      VAProfileHEVCMain10             : VAEntrypointEncSlice                            
      VAProfileVP9Profile0            : VAEntrypointVLD                                 
      VAProfileVP9Profile0            : VAEntrypointEncSlice                            
      VAProfileVP9Profile2            : VAEntrypointVLD                  

vdpauinfo:


libva info: VA-API version 0.40.0  
[...]
API version: 1                                                                          
Information string: OpenGL/VAAPI backend for VDPAU
[...]
Decoder capabilities:                                                                   

name                        level macbs width height                                    
----------------------------------------------------                                    
MPEG1                          --- not supported ---                                    
MPEG2_SIMPLE                   --- not supported ---                                    
MPEG2_MAIN                     --- not supported ---                                    
H264_BASELINE                  51 16384  2048  2048                                     
H264_MAIN                      51 16384  2048  2048                                     
H264_HIGH                      51 16384  2048  2048                                     
VC1_SIMPLE                     --- not supported ---                                    
VC1_MAIN                       --- not supported ---                                    
VC1_ADVANCED                   --- not supported ---                                    
MPEG4_PART2_SP                 --- not supported ---                                    
MPEG4_PART2_ASP                --- not supported ---                                    
DIVX4_QMOBILE                  --- not supported ---                                    
DIVX4_MOBILE                   --- not supported ---                                    
DIVX4_HOME_THEATER             --- not supported ---                                    
DIVX4_HD_1080P                 --- not supported ---                                    
DIVX5_QMOBILE                  --- not supported ---                                    
DIVX5_MOBILE                   --- not supported ---                                    
DIVX5_HOME_THEATER             --- not supported ---                                    
DIVX5_HD_1080P                 --- not supported ---                                    
H264_CONSTRAINED_BASELINE      51 16384  2048  2048                                     
H264_EXTENDED                  --- not supported ---                                    
H264_PROGRESSIVE_HIGH          --- not supported ---                                    
H264_CONSTRAINED_HIGH          --- not supported ---                                    
H264_HIGH_444_PREDICTIVE       --- not supported ---                                   
 HEVC_MAIN                      --- not supported ---                                   
 HEVC_MAIN_10                   --- not supported ---                                    
HEVC_MAIN_STILL                --- not supported ---                                   
 HEVC_MAIN_12                   --- not supported ---                                    
HEVC_MAIN_444                  --- not supported ---                                                                                        
[...]
i-rinat commented 7 years ago

VA-API and VDPAU are different, and every codec requires additional translation code. That translation was only implemented for H.264, partially. Partial implementation is still sufficient for most of H.264 video.