xref: /aosp_15_r20/external/intel-media-driver/media_driver/linux/common/vp/ddi/media_libva_vp_tools.h (revision ba62d9d3abf0e404f2022b4cd7a85e107f48596f)
1 /*
2 * Copyright (c) 2009-2017, Intel Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 */
22 //!
23 //! \file     media_libva_vp_tools.h
24 //! \brief    Header for Video Acceleration (LibVA) VP tool functions for VPG drivers
25 //!
26 
27 #ifndef _MEDIA_LIBVA_VP_TOOLS_H_
28 #define _MEDIA_LIBVA_VP_TOOLS_H_
29 
30 #include "media_libva_common.h"
31 #include <va/va_vpp.h>
32 
33 #define LIBVA_VP_CONFIG_NOT_REPORTED  0xffffffff
34 
35 #if (_DEBUG || _RELEASE_INTERNAL)
36 //!
37 //! \brief   allocate and initialize DDI Dump parameters
38 //! \param   [in] pVpCtx
39 //!          vp context
40 //! \return  VAStatus
41 //!          return VA_STATUS_SUCCESS if DDI Params is initialized
42 //!
43 VAStatus    VpInitDumpConfig(PDDI_VP_CONTEXT pVpCtx);
44 
45 //!
46 //! \brief   destory DDI Dump parameters
47 //! \param   [in] pVpCtx
48 //!          vp context
49 //!
50 void        VpDestoryDumpConfig(PDDI_VP_CONTEXT pVpCtx);
51 
52 //!
53 //! \brief   dump procpipeline parameters
54 //! \param   [in] pVaDrvCtx
55 //!          driver context
56 //! \param   [in] pVpCtx
57 //!          vp context
58 //! \return  VAStatus
59 //!          return VA_STATUS_SUCCESS, if params is dumped to file.
60 //!
61 VAStatus    VpDumpProcPipelineParams(VADriverContextP pVaDrvCtx, PDDI_VP_CONTEXT pVpCtx);
62 
63 #endif //#if (_DEBUG || _RELEASE_INTERNAL)
64 
65 //!
66 //! \brief   dump feature mode parameters for Android
67 //! \param   [in] pVpCtx
68 //!          vp context
69 //! \return  VAStatus
70 //!          return VA_STATUS_SUCCESS if params is dumped to file.
71 //!
72 VAStatus    VpReportFeatureMode(PDDI_VP_CONTEXT pVpCtx);
73 
74 //!
75 //! \brief   initialize configuration values for Android
76 //! \param   [in] pConfigValues
77 //!          vp config values
78 //!
79 void VpConfigValuesInit(
80     PVP_CONFIG           pConfigValues);
81 
82 //!
83 //! \brief   dump config values for Android
84 //! \param   [in] pConfig
85 //!          vp config values
86 //!
87 void VpFeatureReport(
88     PVP_CONFIG         pConfig);
89 
90 #endif //_MEDIA_LIBVA_VP_TOOLS_H_
91 
92