Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vainfo: add verbose mode and print VAConfigAttrib supported Types and default values #151

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

yell0wd0g
Copy link
Contributor

@yell0wd0g yell0wd0g commented Feb 20, 2019

This CL adds a verbose mode to vainfo, triggered by the usual -v or --verbose, and adds a function print_supported_config_attributes that prints out the supported VAConfigAttribTypes (with their default value) for each supported profile and entry points. In non verbose mode, the output is the same as on ToT.

Example output on a Kaby Lake:

localhost /tmp # ./a.out  -v
libva info: VA-API version 1.3.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_3
libva info: va_openDriver() returns 0
a.out: VA-API version: 1.3 (libva (null))
a.out: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.3.0
a.out: Supported profile and entrypoints
      VAProfileMPEG2Simple            :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileMPEG2Simple            :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 16
         VAConfigAttribEncPackedHeaders   default value: 11
         VAConfigAttribEncMaxRefFrames    default value: 65537
         VAConfigAttribEncQualityRange    default value: 1
         VAConfigAttribEncROI             default value: 0
      VAProfileMPEG2Main              :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileMPEG2Main              :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 16
         VAConfigAttribEncPackedHeaders   default value: 11
         VAConfigAttribEncMaxRefFrames    default value: 65537
         VAConfigAttribEncQualityRange    default value: 1
         VAConfigAttribEncROI             default value: 0
      VAProfileH264ConstrainedBaseline:  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV400   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileH264ConstrainedBaseline:  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 150
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 65540
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncSliceStructure  default value: 2
         VAConfigAttribEncQualityRange    default value: 7
         VAConfigAttribEncROI             default value: 0
      VAProfileH264ConstrainedBaseline:  VAEntrypointEncSliceLP
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 16
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 1
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncQualityRange    default value: 2
         VAConfigAttribEncROI             default value: 2147483651
      VAProfileH264Main               :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV400   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileH264Main               :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 150
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 65540
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncSliceStructure  default value: 2
         VAConfigAttribEncQualityRange    default value: 7
         VAConfigAttribEncROI             default value: 0
      VAProfileH264Main               :  VAEntrypointEncSliceLP
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 16
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 1
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncQualityRange    default value: 2
         VAConfigAttribEncROI             default value: 2147483651
      VAProfileH264High               :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV400   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileH264High               :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 150
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 65540
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncSliceStructure  default value: 2
         VAConfigAttribEncQualityRange    default value: 7
         VAConfigAttribEncROI             default value: 0
      VAProfileH264High               :  VAEntrypointEncSliceLP
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 16
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 1
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncQualityRange    default value: 2
         VAConfigAttribEncROI             default value: 2147483651
      VAProfileH264MultiviewHigh      :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV400   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileH264MultiviewHigh      :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 150
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 65540
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncSliceStructure  default value: 2
         VAConfigAttribEncQualityRange    default value: 1
         VAConfigAttribEncROI             default value: 0
      VAProfileH264StereoHigh         :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV400   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileH264StereoHigh         :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 150
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 65540
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncSliceStructure  default value: 2
         VAConfigAttribEncQualityRange    default value: 1
         VAConfigAttribEncROI             default value: 0
      VAProfileVC1Simple              :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileVC1Main                :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileVC1Advanced            :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileNone                   :  VAEntrypointVideoProc
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV422   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420_10
         VAConfigAttribRTFormat          : VA_RT_FORMAT_RGB32    
      VAProfileJPEGBaseline           :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV422   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV444   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV411   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV400   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileJPEGBaseline           :  VAEntrypointEncPicture
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV422   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV444   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV400   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_RGB32    
         VAConfigAttribRateControl        default value: 16
         VAConfigAttribEncPackedHeaders   default value: 16
         VAConfigAttribEncJPEG            default value: 2147539124
      VAProfileVP8Version0_3          :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileVP8Version0_3          :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 22
         VAConfigAttribEncMaxRefFrames    default value: 65537
         VAConfigAttribEncQualityRange    default value: 1
         VAConfigAttribEncROI             default value: 0
      VAProfileHEVCMain               :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileHEVCMain               :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 22
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 65539
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncSliceStructure  default value: 2
         VAConfigAttribEncQualityRange    default value: 7
         VAConfigAttribEncROI             default value: 2147484424
      VAProfileHEVCMain10             :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420_10
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileHEVCMain10             :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420_10
         VAConfigAttribRateControl        default value: 22
         VAConfigAttribEncPackedHeaders   default value: 31
         VAConfigAttribEncMaxRefFrames    default value: 65539
         VAConfigAttribEncMaxSlices       default value: 32
         VAConfigAttribEncSliceStructure  default value: 2
         VAConfigAttribEncQualityRange    default value: 7
         VAConfigAttribEncROI             default value: 2147484424
      VAProfileVP9Profile0            :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420_10
         VAConfigAttribDecSliceMode       default value: 1
      VAProfileVP9Profile0            :  VAEntrypointEncSlice
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRateControl        default value: 22
         VAConfigAttribEncPackedHeaders   default value: 16
         VAConfigAttribEncMaxRefFrames    default value: 65537
         VAConfigAttribEncQualityRange    default value: 1
         VAConfigAttribEncROI             default value: 0
      VAProfileVP9Profile2            :  VAEntrypointVLD
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420   
         VAConfigAttribRTFormat          : VA_RT_FORMAT_YUV420_10
         VAConfigAttribDecSliceMode       default value: 1

@yell0wd0g
Copy link
Contributor Author

@sreerenjb , @azhar904 WDYT ?

@sreerenjb
Copy link
Contributor

Would it be nice to print the readable form than the magic number?
For eg: VAConfigAttribRateControl : CQP | CBR

@sreerenjb
Copy link
Contributor

BTW there is a non-upstream component there which is doing the same: https://github.com/fhvwy/vadumpcaps/blob/master/vadumpcaps.c

@yell0wd0g
Copy link
Contributor Author

@sreerenjb looks like vadumpcaps has a lot of interesting info -- wouldn't it work to propose to its developer to merge it back to vainfo ?

@sreerenjb
Copy link
Contributor

@yellowdoge here we go: fhvwy/vadumpcaps#1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants