Skip to content

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

Open
yell0wd0g wants to merge 4 commits into
intel:masterfrom
yell0wd0g:vainfo_verbose_mode
Open

vainfo: add verbose mode and print VAConfigAttrib supported Types and default values#151
yell0wd0g wants to merge 4 commits into
intel:masterfrom
yell0wd0g:vainfo_verbose_mode

Conversation

@yell0wd0g

@yell0wd0gyell0wd0g commented Feb 20, 2019

Copy link
Copy Markdown
Contributor

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
Copy Markdown
ContributorAuthor

@sreerenjb , @azhar904 WDYT ?

@sreerenjb

Copy link
Copy Markdown
Contributor

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

@sreerenjb

Copy link
Copy Markdown
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
Copy Markdown
ContributorAuthor

@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
Copy Markdown
Contributor

@YellowDoge here we go: fhvwy/vadumpcaps#1

Sign up for freeto 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

@yell0wd0g@sreerenjb