Gazebo Common

API Reference

6.0.0
HWVideo.hh
Go to the documentation of this file.
1/*
2 * Copyright 2020 Martin Pecka
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15*/
16#ifndef GZ_COMMON_HWVIDEO_HH
17#define GZ_COMMON_HWVIDEO_HH
18
20
21namespace gz::common
22{
23 enum class GZ_COMMON_AV_VISIBLE HWEncoderType
24 {
26 NVENC, // Linux device is /dev/nvidia*
27 // Windows is the same (even though such file doesn't exist)
28 VAAPI, // Linux device /dev/dri/renderD* or display number (e.g. :0)
29 VDPAU, // Not supported (probably only for decoding?)
30 QSV, // Win device is 0-based GPU index,
31 // Linux uses /dev/dri/renderD* or display number (e.g. :0)
32 VIDEOTOOLBOX, // Not yet suported
33 AMF, // Not yet suported
34 OMX, // Not yet suported
35 V4L2M2M, // Not yet suported
36 DXVA2, // Not yet suported
37 _ // For FlagSet to work.
38 };
39
40 GZ_ENUM(HWEncoderTypeParser, HWEncoderType,
41 HWEncoderType::NONE, HWEncoderType::_,
42 "NONE",
43 "NVENC",
44 "VAAPI",
45 "VDPAU",
46 "QSV",
47 "VIDEOTOOLBOX",
48 "AMF",
49 "OMX",
50 "V4L2M2M",
51 "DXVA2",
52 "INVALID"
53 )
54}
55
56#endif