Skip to content

Commit da36f2d

Browse files
jonreckermav-intel
authored andcommitted
Add strings to vpl-inspect
1 parent 40b4e41 commit da36f2d

File tree

2 files changed

+185
-17
lines changed

2 files changed

+185
-17
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ GPUs from the command line.
1212

1313
### Added
1414
- Intel® Media Transcode Accelerator as a supported device
15+
- New strings in vpl-inspect tool to improve readability of output.
1516

1617
### Changed
1718
- Default Ubuntu build to 24.04.

tools/cli/vpl-inspect/src/vpl-inspect.cpp

Lines changed: 184 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <string>
2323

2424
#include "vpl/mfx.h"
25+
#include "vpl/mfxcamera.h"
2526

2627
#define DECODE_FOURCC(ch) ch & 0xff, ch >> 8 & 0xff, ch >> 16 & 0xff, ch >> 24 & 0xff
2728

@@ -178,6 +179,172 @@ const char *_print_ResourceType(mfxResourceType type) {
178179
return "<unknown resource type>";
179180
}
180181

182+
const char *_print_CodecID(mfxU32 codecID) {
183+
switch (codecID) {
184+
STRING_OPTION(MFX_CODEC_AV1);
185+
STRING_OPTION(MFX_CODEC_AVC);
186+
STRING_OPTION(MFX_CODEC_JPEG);
187+
STRING_OPTION(MFX_CODEC_HEVC);
188+
STRING_OPTION(MFX_CODEC_MPEG2);
189+
STRING_OPTION(MFX_CODEC_VC1);
190+
STRING_OPTION(MFX_CODEC_VP8);
191+
STRING_OPTION(MFX_CODEC_VP9);
192+
default:
193+
break;
194+
}
195+
196+
// unknown format - print fourCC
197+
return _print_fourcc(codecID);
198+
}
199+
200+
const char *_print_ExtbufID(mfxU32 extbufID) {
201+
switch (extbufID) {
202+
STRING_OPTION(MFX_EXTBUFF_ALLOCATION_HINTS);
203+
STRING_OPTION(MFX_EXTBUFF_AV1_FILM_GRAIN_PARAM);
204+
STRING_OPTION(MFX_EXTBUFF_AV1_SEGMENTATION);
205+
STRING_OPTION(MFX_EXTBUFF_AVC_REFLIST_CTRL);
206+
STRING_OPTION(MFX_EXTBUFF_AVC_REFLISTS);
207+
STRING_OPTION(MFX_EXTBUFF_AVC_ROUNDING_OFFSET);
208+
STRING_OPTION(MFX_EXTBUFF_AVC_TEMPORAL_LAYERS);
209+
STRING_OPTION(MFX_EXTBUFF_BRC);
210+
STRING_OPTION(MFX_EXTBUF_CAM_3DLUT);
211+
STRING_OPTION(MFX_EXTBUF_CAM_BAYER_DENOISE);
212+
STRING_OPTION(MFX_EXTBUF_CAM_BLACK_LEVEL_CORRECTION);
213+
STRING_OPTION(MFX_EXTBUF_CAM_COLOR_CORRECTION_3X3);
214+
STRING_OPTION(MFX_EXTBUF_CAM_CSC_YUV_RGB);
215+
STRING_OPTION(MFX_EXTBUF_CAM_FORWARD_GAMMA_CORRECTION);
216+
STRING_OPTION(MFX_EXTBUF_CAM_HOT_PIXEL_REMOVAL);
217+
STRING_OPTION(MFX_EXTBUF_CAM_LENS_GEOM_DIST_CORRECTION);
218+
STRING_OPTION(MFX_EXTBUF_CAM_PADDING);
219+
STRING_OPTION(MFX_EXTBUF_CAM_PIPECONTROL);
220+
STRING_OPTION(MFX_EXTBUF_CAM_TOTAL_COLOR_CONTROL);
221+
STRING_OPTION(MFX_EXTBUF_CAM_VIGNETTE_CORRECTION);
222+
STRING_OPTION(MFX_EXTBUF_CAM_WHITE_BALANCE);
223+
STRING_OPTION(MFX_EXTBUFF_CENC_PARAM);
224+
STRING_OPTION(MFX_EXTBUFF_CHROMA_LOC_INFO);
225+
STRING_OPTION(MFX_EXTBUFF_CODING_OPTION);
226+
STRING_OPTION(MFX_EXTBUFF_CODING_OPTION_SPSPPS);
227+
STRING_OPTION(MFX_EXTBUFF_CODING_OPTION_VPS);
228+
STRING_OPTION(MFX_EXTBUFF_CODING_OPTION2);
229+
STRING_OPTION(MFX_EXTBUFF_CODING_OPTION3);
230+
STRING_OPTION(MFX_EXTBUFF_CONTENT_LIGHT_LEVEL_INFO);
231+
STRING_OPTION(MFX_EXTBUFF_CROPS);
232+
STRING_OPTION(MFX_EXTBUFF_DEC_VIDEO_PROCESSING);
233+
STRING_OPTION(MFX_EXTBUFF_DECODE_ERROR_REPORT);
234+
STRING_OPTION(MFX_EXTBUFF_DECODED_FRAME_INFO);
235+
STRING_OPTION(MFX_EXTBUFF_DEVICE_AFFINITY_MASK);
236+
STRING_OPTION(MFX_EXTBUFF_DIRTY_RECTANGLES);
237+
STRING_OPTION(MFX_EXTBUFF_ENCODED_FRAME_INFO);
238+
STRING_OPTION(MFX_EXTBUFF_ENCODED_SLICES_INFO);
239+
STRING_OPTION(MFX_EXTBUFF_ENCODED_UNITS_INFO);
240+
STRING_OPTION(MFX_EXTBUFF_ENCODER_CAPABILITY);
241+
STRING_OPTION(MFX_EXTBUFF_ENCODER_IPCM_AREA);
242+
STRING_OPTION(MFX_EXTBUFF_ENCODER_RESET_OPTION);
243+
STRING_OPTION(MFX_EXTBUFF_ENCODER_ROI);
244+
STRING_OPTION(MFX_EXTBUFF_HEVC_PARAM);
245+
STRING_OPTION(MFX_EXTBUFF_HEVC_REGION);
246+
STRING_OPTION(MFX_EXTBUFF_HEVC_TILES);
247+
STRING_OPTION(MFX_EXTBUFF_INSERT_HEADERS);
248+
STRING_OPTION(MFX_EXTBUFF_JPEG_HUFFMAN);
249+
STRING_OPTION(MFX_EXTBUFF_JPEG_QT);
250+
STRING_OPTION(MFX_EXTBUFF_MASTERING_DISPLAY_COLOUR_VOLUME);
251+
STRING_OPTION(MFX_EXTBUFF_MASTERING_DISPLAY_COLOUR_VOLUME_IN);
252+
STRING_OPTION(MFX_EXTBUFF_MASTERING_DISPLAY_COLOUR_VOLUME_OUT);
253+
STRING_OPTION(MFX_EXTBUFF_MB_DISABLE_SKIP_MAP);
254+
STRING_OPTION(MFX_EXTBUFF_MB_FORCE_INTRA);
255+
STRING_OPTION(MFX_EXTBUFF_MBQP);
256+
STRING_OPTION(MFX_EXTBUFF_MOVING_RECTANGLES);
257+
STRING_OPTION(MFX_EXTBUFF_MV_OVER_PIC_BOUNDARIES);
258+
STRING_OPTION(MFX_EXTBUFF_MVC_SEQ_DESC);
259+
STRING_OPTION(MFX_EXTBUFF_MVC_TARGET_VIEWS);
260+
STRING_OPTION(MFX_EXTBUFF_PARTIAL_BITSTREAM_PARAM);
261+
STRING_OPTION(MFX_EXTBUFF_PICTURE_TIMING_SEI);
262+
STRING_OPTION(MFX_EXTBUFF_PRED_WEIGHT_TABLE);
263+
STRING_OPTION(MFX_EXTBUFF_THREADS_PARAM);
264+
STRING_OPTION(MFX_EXTBUFF_TIME_CODE);
265+
STRING_OPTION(MFX_EXTBUFF_UNIVERSAL_TEMPORAL_LAYERS);
266+
STRING_OPTION(MFX_EXTBUFF_VIDEO_SIGNAL_INFO);
267+
STRING_OPTION(MFX_EXTBUFF_VIDEO_SIGNAL_INFO_IN);
268+
STRING_OPTION(MFX_EXTBUFF_VIDEO_SIGNAL_INFO_OUT);
269+
STRING_OPTION(MFX_EXTBUFF_VP8_CODING_OPTION);
270+
STRING_OPTION(MFX_EXTBUFF_VP9_PARAM);
271+
STRING_OPTION(MFX_EXTBUFF_VP9_SEGMENTATION);
272+
STRING_OPTION(MFX_EXTBUFF_VP9_TEMPORAL_LAYERS);
273+
STRING_OPTION(MFX_EXTBUFF_VPP_3DLUT);
274+
STRING_OPTION(MFX_EXTBUFF_VPP_AUXDATA);
275+
STRING_OPTION(MFX_EXTBUFF_VPP_COLOR_CONVERSION);
276+
STRING_OPTION(MFX_EXTBUFF_VPP_COLORFILL);
277+
STRING_OPTION(MFX_EXTBUFF_VPP_COMPOSITE);
278+
STRING_OPTION(MFX_EXTBUFF_VPP_DEINTERLACING);
279+
STRING_OPTION(MFX_EXTBUFF_VPP_DENOISE2);
280+
STRING_OPTION(MFX_EXTBUFF_VPP_DETAIL);
281+
STRING_OPTION(MFX_EXTBUFF_VPP_DONOTUSE);
282+
STRING_OPTION(MFX_EXTBUFF_VPP_DOUSE);
283+
STRING_OPTION(MFX_EXTBUFF_VPP_FIELD_PROCESSING);
284+
STRING_OPTION(MFX_EXTBUFF_VPP_FRAME_RATE_CONVERSION);
285+
STRING_OPTION(MFX_EXTBUFF_VPP_IMAGE_STABILIZATION);
286+
STRING_OPTION(MFX_EXTBUFF_VPP_MCTF);
287+
STRING_OPTION(MFX_EXTBUFF_VPP_MIRRORING);
288+
STRING_OPTION(MFX_EXTBUFF_VPP_PROCAMP);
289+
STRING_OPTION(MFX_EXTBUFF_VPP_ROTATION);
290+
STRING_OPTION(MFX_EXTBUFF_VPP_SCALING);
291+
STRING_OPTION(MFX_EXTBUFF_VPP_SCENE_ANALYSIS);
292+
STRING_OPTION(MFX_EXTBUFF_VPP_VIDEO_SIGNAL_INFO);
293+
#ifdef ONEVPL_EXPERIMENTAL
294+
STRING_OPTION(MFX_EXTBUFF_ENCODESTATS);
295+
STRING_OPTION(MFX_EXTBUFF_TUNE_ENCODE_QUALITY);
296+
STRING_OPTION(MFX_EXTBUFF_VPP_PERC_ENC_PREFILTER);
297+
#endif
298+
default:
299+
break;
300+
}
301+
302+
// unknown format - print fourCC
303+
return _print_fourcc(extbufID);
304+
}
305+
306+
const char *_print_ColorFormat(mfxU32 colorFormat) {
307+
switch (colorFormat) {
308+
STRING_OPTION(MFX_FOURCC_A2RGB10);
309+
STRING_OPTION(MFX_FOURCC_ABGR16);
310+
STRING_OPTION(MFX_FOURCC_ABGR16F);
311+
STRING_OPTION(MFX_FOURCC_ARGB16);
312+
STRING_OPTION(MFX_FOURCC_AYUV);
313+
STRING_OPTION(MFX_FOURCC_AYUV_RGB4);
314+
STRING_OPTION(MFX_FOURCC_BGR4);
315+
STRING_OPTION(MFX_FOURCC_BGRP);
316+
STRING_OPTION(MFX_FOURCC_I010);
317+
STRING_OPTION(MFX_FOURCC_I210);
318+
STRING_OPTION(MFX_FOURCC_I422);
319+
STRING_OPTION(MFX_FOURCC_IYUV);
320+
STRING_OPTION(MFX_FOURCC_NV12);
321+
STRING_OPTION(MFX_FOURCC_NV16);
322+
STRING_OPTION(MFX_FOURCC_NV21);
323+
STRING_OPTION(MFX_FOURCC_P010);
324+
STRING_OPTION(MFX_FOURCC_P016);
325+
STRING_OPTION(MFX_FOURCC_P210);
326+
STRING_OPTION(MFX_FOURCC_P8);
327+
STRING_OPTION(MFX_FOURCC_P8_TEXTURE);
328+
STRING_OPTION(MFX_FOURCC_R16);
329+
STRING_OPTION(MFX_FOURCC_RGB4);
330+
STRING_OPTION(MFX_FOURCC_RGB565);
331+
STRING_OPTION(MFX_FOURCC_RGBP);
332+
STRING_OPTION(MFX_FOURCC_UYVY);
333+
STRING_OPTION(MFX_FOURCC_XYUV);
334+
STRING_OPTION(MFX_FOURCC_Y210);
335+
STRING_OPTION(MFX_FOURCC_Y216);
336+
STRING_OPTION(MFX_FOURCC_Y410);
337+
STRING_OPTION(MFX_FOURCC_Y416);
338+
STRING_OPTION(MFX_FOURCC_YUY2);
339+
STRING_OPTION(MFX_FOURCC_YV12);
340+
default:
341+
break;
342+
}
343+
344+
// unknown format - print fourCC
345+
return _print_fourcc(colorFormat);
346+
}
347+
181348
const char *_print_ProfileType(mfxU32 fourcc, mfxU32 type) {
182349
switch (fourcc) {
183350
case MFX_CODEC_JPEG: {
@@ -470,7 +637,7 @@ int main(int argc, char *argv[]) {
470637
printf("%2smfxDecoderDescription:\n", "");
471638
printf("%4sVersion: %hu.%hu\n", "", dec->Version.Major, dec->Version.Minor);
472639
for (int codec = 0; codec < dec->NumCodecs; codec++) {
473-
printf("%4sCodecID: %c%c%c%c\n", "", DECODE_FOURCC(dec->Codecs[codec].CodecID));
640+
printf("%4sCodecID: %s\n", "", _print_CodecID(dec->Codecs[codec].CodecID));
474641
printf("%4sMaxcodecLevel: %hu\n", "", dec->Codecs[codec].MaxcodecLevel);
475642
for (int profile = 0; profile < dec->Codecs[codec].NumProfiles; profile++) {
476643
printf("%6sProfile: %s\n",
@@ -512,10 +679,10 @@ int main(int argc, char *argv[]) {
512679
if (0 != colorformat)
513680
printf(", ");
514681
printf("%s",
515-
_print_fourcc(dec->Codecs[codec]
516-
.Profiles[profile]
517-
.MemDesc[memtype]
518-
.ColorFormats[colorformat]));
682+
_print_ColorFormat(dec->Codecs[codec]
683+
.Profiles[profile]
684+
.MemDesc[memtype]
685+
.ColorFormats[colorformat]));
519686
}
520687
printf("\n");
521688
}
@@ -527,7 +694,7 @@ int main(int argc, char *argv[]) {
527694
printf("%2smfxEncoderDescription:\n", "");
528695
printf("%4sVersion: %hu.%hu\n", "", enc->Version.Major, enc->Version.Minor);
529696
for (int codec = 0; codec < enc->NumCodecs; codec++) {
530-
printf("%4sCodecID: %c%c%c%c\n", "", DECODE_FOURCC(enc->Codecs[codec].CodecID));
697+
printf("%4sCodecID: %s\n", "", _print_CodecID(enc->Codecs[codec].CodecID));
531698
printf("%4sMaxcodecLevel: %hu\n", "", enc->Codecs[codec].MaxcodecLevel);
532699
printf("%4sBiDirectionalPrediction: %hu\n",
533700
"",
@@ -573,10 +740,10 @@ int main(int argc, char *argv[]) {
573740
if (0 != colorformat)
574741
printf(", ");
575742
printf("%s",
576-
_print_fourcc(enc->Codecs[codec]
577-
.Profiles[profile]
578-
.MemDesc[memtype]
579-
.ColorFormats[colorformat]));
743+
_print_ColorFormat(enc->Codecs[codec]
744+
.Profiles[profile]
745+
.MemDesc[memtype]
746+
.ColorFormats[colorformat]));
580747
}
581748
printf("\n");
582749
}
@@ -588,9 +755,9 @@ int main(int argc, char *argv[]) {
588755
printf("%2smfxVPPDescription:\n", "");
589756
printf("%4sVersion: %hu.%hu\n", "", vpp->Version.Major, vpp->Version.Minor);
590757
for (int filter = 0; filter < vpp->NumFilters; filter++) {
591-
printf("%4sFilterFourCC: %c%c%c%c\n",
758+
printf("%4sFilterFourCC: %s\n",
592759
"",
593-
DECODE_FOURCC(vpp->Filters[filter].FilterFourCC));
760+
_print_ExtbufID(vpp->Filters[filter].FilterFourCC));
594761
printf("%4sMaxDelayInFrames: %hu\n", "", vpp->Filters[filter].MaxDelayInFrames);
595762
for (int memtype = 0; memtype < vpp->Filters[filter].NumMemTypes; memtype++) {
596763
printf(
@@ -621,7 +788,7 @@ int main(int argc, char *argv[]) {
621788
printf(
622789
"%8sInFormat: %s\n",
623790
"",
624-
_print_fourcc(
791+
_print_ColorFormat(
625792
vpp->Filters[filter].MemDesc[memtype].Formats[informat].InFormat));
626793
printf("%10sOutFormats: ", "");
627794
for (int outformat = 0;
@@ -631,10 +798,10 @@ int main(int argc, char *argv[]) {
631798
if (0 != outformat)
632799
printf(", ");
633800
printf("%s",
634-
_print_fourcc(vpp->Filters[filter]
635-
.MemDesc[memtype]
636-
.Formats[informat]
637-
.OutFormats[outformat]));
801+
_print_ColorFormat(vpp->Filters[filter]
802+
.MemDesc[memtype]
803+
.Formats[informat]
804+
.OutFormats[outformat]));
638805
}
639806
printf("\n");
640807
}

0 commit comments

Comments
 (0)