MythTV master
mythcodecid.cpp
Go to the documentation of this file.
1#include "mythcodecid.h"
2
3extern "C"
4{
5#include "libavcodec/avcodec.h"
6}
7
8QString toString(MythCodecID codecid)
9{
10 switch (codecid)
11 {
12 case kCodec_NONE: return "None";
13
14 case kCodec_NUV_RTjpeg: return "NUV RTjpeg";
15 case kCodec_NUV_MPEG4: return "NUV MPEG4";
16
17 case kCodec_MPEG1: return "MPEG1";
18 case kCodec_MPEG2: return "MPEG2";
19 case kCodec_H263: return "H.263";
20 case kCodec_MPEG4: return "MPEG4";
21 case kCodec_H264: return "H.264";
22 case kCodec_VC1: return "VC-1";
23 case kCodec_WMV3: return "WMV3";
24 case kCodec_VP8: return "VP8";
25 case kCodec_VP9: return "VP9";
26 case kCodec_HEVC: return "HEVC";
27 case kCodec_AV1: return "AV1";
28
29 case kCodec_MPEG1_VDPAU: return "MPEG1 VDPAU";
30 case kCodec_MPEG2_VDPAU: return "MPEG2 VDPAU";
31 case kCodec_H263_VDPAU: return "H.263 VDPAU";
32 case kCodec_MPEG4_VDPAU: return "MPEG4 VDPAU";
33 case kCodec_H264_VDPAU: return "H.264 VDPAU";
34 case kCodec_VC1_VDPAU: return "VC1 VDPAU";
35 case kCodec_WMV3_VDPAU: return "WMV3 VDPAU";
36 case kCodec_VP8_VDPAU: return "VP8 VDPAU";
37 case kCodec_VP9_VDPAU: return "VP9 VDPAU";
38 case kCodec_HEVC_VDPAU: return "HEVC VDPAU";
39 case kCodec_AV1_VDPAU: return "AV1 VDPAU";
40
41 case kCodec_MPEG1_VDPAU_DEC: return "MPEG1 VDPAU DEC";
42 case kCodec_MPEG2_VDPAU_DEC: return "MPEG2 VDPAU DEC";
43 case kCodec_H263_VDPAU_DEC: return "H.263 VDPAU DEC";
44 case kCodec_MPEG4_VDPAU_DEC: return "MPEG4 VDPAU DEC";
45 case kCodec_H264_VDPAU_DEC: return "H.264 VDPAU DEC";
46 case kCodec_VC1_VDPAU_DEC: return "VC1 VDPAU DEC";
47 case kCodec_WMV3_VDPAU_DEC: return "WMV3 VDPAU DEC";
48 case kCodec_VP8_VDPAU_DEC: return "VP8 VDPAU DEC";
49 case kCodec_VP9_VDPAU_DEC: return "VP9 VDPAU DEC";
50 case kCodec_HEVC_VDPAU_DEC: return "HEVC VDPAU DEC";
51 case kCodec_AV1_VDPAU_DEC: return "AV1 VDPAU DEC";
52
53 case kCodec_MPEG1_VAAPI: return "MPEG1 VAAPI";
54 case kCodec_MPEG2_VAAPI: return "MPEG2 VAAPI";
55 case kCodec_H263_VAAPI: return "H.263 VAAPI";
56 case kCodec_MPEG4_VAAPI: return "MPEG4 VAAPI";
57 case kCodec_H264_VAAPI: return "H.264 VAAPI";
58 case kCodec_VC1_VAAPI: return "VC1 VAAPI";
59 case kCodec_WMV3_VAAPI: return "WMV3 VAAPI";
60 case kCodec_VP8_VAAPI: return "VP8 VAAPI";
61 case kCodec_VP9_VAAPI: return "VP9 VAAPI";
62 case kCodec_HEVC_VAAPI: return "HEVC VAAPI";
63 case kCodec_AV1_VAAPI: return "AV1 VAAPI";
64
65 case kCodec_MPEG1_VAAPI_DEC: return "MPEG1 VAAPI DEC";
66 case kCodec_MPEG2_VAAPI_DEC: return "MPEG2 VAAPI DEC";
67 case kCodec_H263_VAAPI_DEC: return "H.263 VAAPI DEC";
68 case kCodec_MPEG4_VAAPI_DEC: return "MPEG4 VAAPI DEC";
69 case kCodec_H264_VAAPI_DEC: return "H.264 VAAPI DEC";
70 case kCodec_VC1_VAAPI_DEC: return "VC1 VAAPI DEC";
71 case kCodec_WMV3_VAAPI_DEC: return "WMV3 VAAPI DEC";
72 case kCodec_VP8_VAAPI_DEC: return "VP8 VAAPI DEC";
73 case kCodec_VP9_VAAPI_DEC: return "VP9 VAAPI DEC";
74 case kCodec_HEVC_VAAPI_DEC: return "HEVC VAAPI DEC";
75 case kCodec_AV1_VAAPI_DEC: return "AV1 VAAPI DEC";
76
77 case kCodec_MPEG1_DXVA2: return "MPEG1 DXVA2";
78 case kCodec_MPEG2_DXVA2: return "MPEG2 DXVA2";
79 case kCodec_H263_DXVA2: return "H.263 DXVA2";
80 case kCodec_MPEG4_DXVA2: return "MPEG4 DXVA2";
81 case kCodec_H264_DXVA2: return "H.264 DXVA2";
82 case kCodec_VC1_DXVA2: return "VC1 DXVA2";
83 case kCodec_WMV3_DXVA2: return "WMV3 DXVA2";
84 case kCodec_VP8_DXVA2: return "VP8 DXVA2";
85 case kCodec_VP9_DXVA2: return "VP9 DXVA2";
86 case kCodec_HEVC_DXVA2: return "HEVC DXVA2";
87 case kCodec_AV1_DXVA2: return "AV1 DXVA2";
88
89 case kCodec_MPEG1_MEDIACODEC: return "MPEG1 MEDIACODEC";
90 case kCodec_MPEG2_MEDIACODEC: return "MPEG2 MEDIACODEC";
91 case kCodec_H263_MEDIACODEC: return "H.263 MEDIACODEC";
92 case kCodec_MPEG4_MEDIACODEC: return "MPEG4 MEDIACODEC";
93 case kCodec_H264_MEDIACODEC: return "H.264 MEDIACODEC";
94 case kCodec_VC1_MEDIACODEC: return "VC1 MEDIACODEC";
95 case kCodec_WMV3_MEDIACODEC: return "WMV3 MEDIACODEC";
96 case kCodec_VP8_MEDIACODEC: return "VP8 MEDIACODEC";
97 case kCodec_VP9_MEDIACODEC: return "VP9 MEDIACODEC";
98 case kCodec_HEVC_MEDIACODEC: return "HEVC MEDIACODEC";
99 case kCodec_AV1_MEDIACODEC: return "AV1 MEDIACODEC";
100
101 case kCodec_MPEG1_MEDIACODEC_DEC: return "MPEG1 MEDIACODEC DEC";
102 case kCodec_MPEG2_MEDIACODEC_DEC: return "MPEG2 MEDIACODEC DEC";
103 case kCodec_H263_MEDIACODEC_DEC: return "H.263 MEDIACODEC DEC";
104 case kCodec_MPEG4_MEDIACODEC_DEC: return "MPEG4 MEDIACODEC DEC";
105 case kCodec_H264_MEDIACODEC_DEC: return "H.264 MEDIACODEC DEC";
106 case kCodec_VC1_MEDIACODEC_DEC: return "VC1 MEDIACODEC DEC";
107 case kCodec_WMV3_MEDIACODEC_DEC: return "WMV3 MEDIACODEC DEC";
108 case kCodec_VP8_MEDIACODEC_DEC: return "VP8 MEDIACODEC DEC";
109 case kCodec_VP9_MEDIACODEC_DEC: return "VP9 MEDIACODEC DEC";
110 case kCodec_HEVC_MEDIACODEC_DEC: return "HEVC MEDIACODEC DEC";
111 case kCodec_AV1_MEDIACODEC_DEC: return "AV1 MEDIACODEC DEC";
112
113 case kCodec_MPEG1_NVDEC: return "MPEG1 NVDEC";
114 case kCodec_MPEG2_NVDEC: return "MPEG2 NVDEC";
115 case kCodec_H263_NVDEC: return "H.263 NVDEC";
116 case kCodec_MPEG4_NVDEC: return "MPEG4 NVDEC";
117 case kCodec_H264_NVDEC: return "H.264 NVDEC";
118 case kCodec_VC1_NVDEC: return "VC1 NVDEC";
119 case kCodec_WMV3_NVDEC: return "WMV3 NVDEC";
120 case kCodec_VP8_NVDEC: return "VP8 NVDEC";
121 case kCodec_VP9_NVDEC: return "VP9 NVDEC";
122 case kCodec_HEVC_NVDEC: return "HEVC NVDEC";
123 case kCodec_AV1_NVDEC: return "AV1 NVDEC";
124
125 case kCodec_MPEG1_NVDEC_DEC: return "MPEG1 NVDEC DEC";
126 case kCodec_MPEG2_NVDEC_DEC: return "MPEG2 NVDEC DEC";
127 case kCodec_H263_NVDEC_DEC: return "H.263 NVDEC DEC";
128 case kCodec_MPEG4_NVDEC_DEC: return "MPEG4 NVDEC DEC";
129 case kCodec_H264_NVDEC_DEC: return "H.264 NVDEC DEC";
130 case kCodec_VC1_NVDEC_DEC: return "VC1 NVDEC DEC";
131 case kCodec_WMV3_NVDEC_DEC: return "WMV3 NVDEC DEC";
132 case kCodec_VP8_NVDEC_DEC: return "VP8 NVDEC DEC";
133 case kCodec_VP9_NVDEC_DEC: return "VP9 NVDEC DEC";
134 case kCodec_HEVC_NVDEC_DEC: return "HEVC NVDEC DEC";
135 case kCodec_AV1_NVDEC_DEC: return "AV1 NVDEC DEC";
136
137 case kCodec_MPEG1_VTB: return "MPEG1 VTB";
138 case kCodec_MPEG2_VTB: return "MPEG2 VTB";
139 case kCodec_H263_VTB: return "H.263 VTB";
140 case kCodec_MPEG4_VTB: return "MPEG4 VTB";
141 case kCodec_H264_VTB: return "H.264 VTB";
142 case kCodec_VC1_VTB: return "VC1 VTB";
143 case kCodec_WMV3_VTB: return "WMV3 VTB";
144 case kCodec_VP8_VTB: return "VP8 VTB";
145 case kCodec_VP9_VTB: return "VP9 VTB";
146 case kCodec_HEVC_VTB: return "HEVC VTB";
147 case kCodec_AV1_VTB: return "AV1 VTB";
148
149 case kCodec_MPEG1_VTB_DEC: return "MPEG1 VTB DEC";
150 case kCodec_MPEG2_VTB_DEC: return "MPEG2 VTB DEC";
151 case kCodec_H263_VTB_DEC: return "H.263 VTB DEC";
152 case kCodec_MPEG4_VTB_DEC: return "MPEG4 VTB DEC";
153 case kCodec_H264_VTB_DEC: return "H.264 VTB DEC";
154 case kCodec_VC1_VTB_DEC: return "VC1 VTB DEC";
155 case kCodec_WMV3_VTB_DEC: return "WMV3 VTB DEC";
156 case kCodec_VP8_VTB_DEC: return "VP8 VTB DEC";
157 case kCodec_VP9_VTB_DEC: return "VP9 VTB DEC";
158 case kCodec_HEVC_VTB_DEC: return "HEVC VTB DEC";
159 case kCodec_AV1_VTB_DEC: return "AV1 VTB DEC";
160
161 case kCodec_MPEG1_V4L2: return "MPEG1 V4L2";
162 case kCodec_MPEG2_V4L2: return "MPEG2 V4L2";
163 case kCodec_H263_V4L2: return "H.263 V4L2";
164 case kCodec_MPEG4_V4L2: return "MPEG4 V4L2";
165 case kCodec_H264_V4L2: return "H.264 V4L2";
166 case kCodec_VC1_V4L2: return "VC1 V4L2";
167 case kCodec_WMV3_V4L2: return "WMV3 V4L2";
168 case kCodec_VP8_V4L2: return "VP8 V4L2";
169 case kCodec_VP9_V4L2: return "VP9 V4L2";
170 case kCodec_HEVC_V4L2: return "HEVC V4L2";
171 case kCodec_AV1_V4L2: return "AV1 V4L2";
172
173 case kCodec_MPEG1_V4L2_DEC: return "MPEG1 V4L2 DEC";
174 case kCodec_MPEG2_V4L2_DEC: return "MPEG2 V4L2 DEC";
175 case kCodec_H263_V4L2_DEC: return "H.263 V4L2 DEC";
176 case kCodec_MPEG4_V4L2_DEC: return "MPEG4 V4L2 DEC";
177 case kCodec_H264_V4L2_DEC: return "H.264 V4L2 DEC";
178 case kCodec_VC1_V4L2_DEC: return "VC1 V4L2 DEC";
179 case kCodec_WMV3_V4L2_DEC: return "WMV3 V4L2 DEC";
180 case kCodec_VP8_V4L2_DEC: return "VP8 V4L2 DEC";
181 case kCodec_VP9_V4L2_DEC: return "VP9 V4L2 DEC";
182 case kCodec_HEVC_V4L2_DEC: return "HEVC V4L2 DEC";
183 case kCodec_AV1_V4L2_DEC: return "AV1 V4L2 DEC";
184
185 case kCodec_MPEG1_MMAL: return "MPEG1 MMAL";
186 case kCodec_MPEG2_MMAL: return "MPEG2 MMAL";
187 case kCodec_H263_MMAL: return "H.263 MMAL";
188 case kCodec_MPEG4_MMAL: return "MPEG4 MMAL";
189 case kCodec_H264_MMAL: return "H.264 MMAL";
190 case kCodec_VC1_MMAL: return "VC1 MMAL";
191 case kCodec_WMV3_MMAL: return "WMV3 MMAL";
192 case kCodec_VP8_MMAL: return "VP8 MMAL";
193 case kCodec_VP9_MMAL: return "VP9 MMAL";
194 case kCodec_HEVC_MMAL: return "HEVC MMAL";
195 case kCodec_AV1_MMAL: return "AV1 MMAL";
196
197 case kCodec_MPEG1_MMAL_DEC: return "MPEG1 MMAL DEC";
198 case kCodec_MPEG2_MMAL_DEC: return "MPEG2 MMAL DEC";
199 case kCodec_H263_MMAL_DEC: return "H.263 MMAL DEC";
200 case kCodec_MPEG4_MMAL_DEC: return "MPEG4 MMAL DEC";
201 case kCodec_H264_MMAL_DEC: return "H.264 MMAL DEC";
202 case kCodec_VC1_MMAL_DEC: return "VC1 MMAL DEC";
203 case kCodec_WMV3_MMAL_DEC: return "WMV3 MMAL DEC";
204 case kCodec_VP8_MMAL_DEC: return "VP8 MMAL DEC";
205 case kCodec_VP9_MMAL_DEC: return "VP9 MMAL DEC";
206 case kCodec_HEVC_MMAL_DEC: return "HEVC MMAL DEC";
207 case kCodec_AV1_MMAL_DEC: return "AV1 MMAL DEC";
208
209 case kCodec_MPEG1_DRMPRIME: return "MPEG1 DRMPRIME";
210 case kCodec_MPEG2_DRMPRIME: return "MPEG2 DRMPRIME";
211 case kCodec_H263_DRMPRIME: return "H.263 DRMPRIME";
212 case kCodec_MPEG4_DRMPRIME: return "MPEG4 DRMPRIME";
213 case kCodec_H264_DRMPRIME: return "H.264 DRMPRIME";
214 case kCodec_VC1_DRMPRIME: return "VC1 DRMPRIME";
215 case kCodec_WMV3_DRMPRIME: return "WMV3 DRMPRIME";
216 case kCodec_VP8_DRMPRIME: return "VP8 DRMPRIME";
217 case kCodec_VP9_DRMPRIME: return "VP9 DRMPRIME";
218 case kCodec_HEVC_DRMPRIME: return "HEVC DRMPRIME";
219 case kCodec_AV1_DRMPRIME: return "AV1 DRMPRIME";
220 default:
221 break;
222 }
223
224 return QString("Unknown(%1)").arg(codecid);
225}
226
227AVCodecID myth2av_codecid(MythCodecID codec_id)
228{
229 switch (codec_id)
230 {
231 case kCodec_NONE:
232 case kCodec_NUV_MPEG4:
233 case kCodec_NUV_RTjpeg: return AV_CODEC_ID_NONE;
234
235 case kCodec_MPEG1:
245 case kCodec_MPEG1_VTB:
251 case kCodec_MPEG1_V4L2_DEC: return AV_CODEC_ID_MPEG1VIDEO;
252
253 case kCodec_MPEG2:
263 case kCodec_MPEG2_VTB:
269 case kCodec_MPEG2_V4L2_DEC: return AV_CODEC_ID_MPEG2VIDEO;
270
271 case kCodec_H263:
281 case kCodec_H263_VTB:
283 case kCodec_H263_MMAL:
285 case kCodec_H263_V4L2:
287 case kCodec_H263_V4L2_DEC: return AV_CODEC_ID_H263;
288
289 case kCodec_MPEG4:
299 case kCodec_MPEG4_VTB:
305 case kCodec_MPEG4_V4L2_DEC: return AV_CODEC_ID_MPEG4;
306
307 case kCodec_H264:
317 case kCodec_H264_VTB:
319 case kCodec_H264_MMAL:
321 case kCodec_H264_V4L2:
323 case kCodec_H264_V4L2_DEC: return AV_CODEC_ID_H264;
324
325 case kCodec_VC1:
326 case kCodec_VC1_VDPAU:
328 case kCodec_VC1_VAAPI:
330 case kCodec_VC1_DXVA2:
333 case kCodec_VC1_NVDEC:
335 case kCodec_VC1_VTB:
337 case kCodec_VC1_MMAL:
339 case kCodec_VC1_V4L2:
341 case kCodec_VC1_V4L2_DEC: return AV_CODEC_ID_VC1;
342
343 case kCodec_WMV3:
353 case kCodec_WMV3_VTB:
355 case kCodec_WMV3_MMAL:
357 case kCodec_WMV3_V4L2:
359 case kCodec_WMV3_V4L2_DEC: return AV_CODEC_ID_WMV3;
360
361 case kCodec_VP8:
362 case kCodec_VP8_VDPAU:
364 case kCodec_VP8_VAAPI:
366 case kCodec_VP8_DXVA2:
369 case kCodec_VP8_NVDEC:
371 case kCodec_VP8_VTB:
373 case kCodec_VP8_MMAL:
375 case kCodec_VP8_V4L2:
377 case kCodec_VP8_V4L2_DEC: return AV_CODEC_ID_VP8;
378
379 case kCodec_VP9:
380 case kCodec_VP9_VDPAU:
382 case kCodec_VP9_VAAPI:
384 case kCodec_VP9_DXVA2:
387 case kCodec_VP9_NVDEC:
389 case kCodec_VP9_VTB:
391 case kCodec_VP9_MMAL:
393 case kCodec_VP9_V4L2:
395 case kCodec_VP9_V4L2_DEC: return AV_CODEC_ID_VP9;
396
397 case kCodec_HEVC:
407 case kCodec_HEVC_VTB:
409 case kCodec_HEVC_MMAL:
411 case kCodec_HEVC_V4L2:
413 case kCodec_HEVC_V4L2_DEC: return AV_CODEC_ID_HEVC;
414
415 case kCodec_AV1:
416 case kCodec_AV1_VDPAU:
418 case kCodec_AV1_VAAPI:
420 case kCodec_AV1_DXVA2:
423 case kCodec_AV1_NVDEC:
425 case kCodec_AV1_VTB:
427 case kCodec_AV1_MMAL:
429 case kCodec_AV1_V4L2:
431 case kCodec_AV1_V4L2_DEC: return AV_CODEC_ID_AV1;
432
434 case kCodec_VDPAU_END:
436 case kCodec_VAAPI_END:
438 case kCodec_DXVA2_END:
441 case kCodec_NVDEC_END:
443 case kCodec_VTB_END:
445 case kCodec_MMAL_END:
447 case kCodec_V4L2_END:
449 case kCodec_V4L2_DEC_END: break;
450 }
451 return AV_CODEC_ID_NONE;
452}
453
454uint mpeg_version(AVCodecID codec_id)
455{
456 switch (codec_id)
457 {
458 case AV_CODEC_ID_MPEG1VIDEO: return 1;
459 case AV_CODEC_ID_MPEG2VIDEO: return 2;
460 case AV_CODEC_ID_H263: return 3;
461 case AV_CODEC_ID_MPEG4: return 4;
462 case AV_CODEC_ID_H264: return 5;
463 case AV_CODEC_ID_VC1: return 6;
464 case AV_CODEC_ID_WMV3: return 7;
465 case AV_CODEC_ID_VP8: return 8;
466 case AV_CODEC_ID_VP9: return 9;
467 case AV_CODEC_ID_HEVC: return 10;
468 case AV_CODEC_ID_AV1: return 11;
469 default: break;
470 }
471 return 0;
472}
473
475{
476 switch (codecid)
477 {
479 return "RTjpeg";
480
481 case kCodec_MPEG1:
491 case kCodec_MPEG1_VTB:
498 case kCodec_MPEG2:
508 case kCodec_MPEG2_VTB:
515 return "MPEG-2";
516
517 case kCodec_H263:
527 case kCodec_H263_VTB:
529 case kCodec_H263_V4L2:
531 case kCodec_H263_MMAL:
534 return "H.263";
535
536 case kCodec_NUV_MPEG4:
537 case kCodec_MPEG4:
547 case kCodec_MPEG4_VTB:
554 return "MPEG-4";
555
556 case kCodec_H264:
566 case kCodec_H264_VTB:
568 case kCodec_H264_V4L2:
570 case kCodec_H264_MMAL:
573 return "H.264";
574
575 case kCodec_VC1:
576 case kCodec_VC1_VDPAU:
578 case kCodec_VC1_VAAPI:
580 case kCodec_VC1_DXVA2:
583 case kCodec_VC1_NVDEC:
585 case kCodec_VC1_VTB:
587 case kCodec_VC1_V4L2:
589 case kCodec_VC1_MMAL:
592 return "VC-1";
593
594 case kCodec_WMV3:
604 case kCodec_WMV3_VTB:
606 case kCodec_WMV3_V4L2:
608 case kCodec_WMV3_MMAL:
611 return "WMV3";
612
613 case kCodec_VP8:
614 case kCodec_VP8_VDPAU:
616 case kCodec_VP8_VAAPI:
618 case kCodec_VP8_DXVA2:
621 case kCodec_VP8_NVDEC:
623 case kCodec_VP8_VTB:
625 case kCodec_VP8_V4L2:
627 case kCodec_VP8_MMAL:
630 return "VP8";
631
632 case kCodec_VP9:
633 case kCodec_VP9_VDPAU:
635 case kCodec_VP9_VAAPI:
637 case kCodec_VP9_DXVA2:
640 case kCodec_VP9_NVDEC:
642 case kCodec_VP9_VTB:
644 case kCodec_VP9_V4L2:
646 case kCodec_VP9_MMAL:
649 return "VP9";
650
651 case kCodec_HEVC:
661 case kCodec_HEVC_VTB:
663 case kCodec_HEVC_V4L2:
665 case kCodec_HEVC_MMAL:
668 return "HEVC";
669
670 case kCodec_AV1:
671 case kCodec_AV1_VDPAU:
673 case kCodec_AV1_VAAPI:
675 case kCodec_AV1_DXVA2:
678 case kCodec_AV1_NVDEC:
680 case kCodec_AV1_VTB:
682 case kCodec_AV1_V4L2:
684 case kCodec_AV1_MMAL:
687 return "AV1";
688
689 case kCodec_NONE:
691 case kCodec_VDPAU_END:
693 case kCodec_VAAPI_END:
695 case kCodec_DXVA2_END:
698 case kCodec_NVDEC_END:
700 case kCodec_VTB_END:
702 case kCodec_V4L2_END:
704 case kCodec_MMAL_END:
707 return {};
708 }
709
710 return {};
711}
712
714{
715 if (codec_is_vdpau(codec_id))
716 return "vdpau";
717 if (codec_is_vdpau_dec(codec_id))
718 return "vdpau-dec";
719 if (codec_is_vaapi(codec_id))
720 return "vaapi";
721 if (codec_is_vaapi_dec(codec_id))
722 return "vaapi-dec";
723 if (codec_is_dxva2(codec_id))
724 return "dxva2";
725 if (codec_is_mediacodec(codec_id))
726 return "mediacodec";
727 if (codec_is_mediacodec_dec(codec_id))
728 return "mediacodec-dec";
729 if (codec_is_nvdec(codec_id))
730 return "nvdec";
731 if (codec_is_nvdec_dec(codec_id))
732 return "nvdec-dec";
733 if (codec_is_vtb(codec_id))
734 return "vtb";
735 if (codec_is_vtb_dec(codec_id))
736 return "vtb-dec";
737 if (codec_is_v4l2(codec_id))
738 return "v4l2";
739 if (codec_is_v4l2_dec(codec_id))
740 return "v4l2-dec";
741 if (codec_is_mmal(codec_id))
742 return "mmal";
743 if (codec_is_mmal_dec(codec_id))
744 return "mmal-dec";
745 if (codec_is_drmprime(codec_id))
746 return "drmprime";
747 return "ffmpeg";
748}
unsigned int uint
Definition: compat.h:68
QString toString(MythCodecID codecid)
Definition: mythcodecid.cpp:8
QString get_decoder_name(MythCodecID codec_id)
uint mpeg_version(AVCodecID codec_id)
AVCodecID myth2av_codecid(MythCodecID codec_id)
QString get_encoding_type(MythCodecID codecid)
static bool codec_is_v4l2_dec(MythCodecID id)
Definition: mythcodecid.h:360
static bool codec_is_mediacodec_dec(MythCodecID id)
Definition: mythcodecid.h:340
MythCodecID
Definition: mythcodecid.h:14
@ kCodec_H264_MEDIACODEC_DEC
Definition: mythcodecid.h:140
@ kCodec_HEVC_VTB
Definition: mythcodecid.h:193
@ kCodec_MPEG1_V4L2
Definition: mythcodecid.h:216
@ kCodec_WMV3_MMAL
Definition: mythcodecid.h:254
@ kCodec_VP9_V4L2
Definition: mythcodecid.h:224
@ kCodec_MPEG2_VTB_DEC
Definition: mythcodecid.h:201
@ kCodec_H263_DXVA2
Definition: mythcodecid.h:106
@ kCodec_VC1_DXVA2
Definition: mythcodecid.h:109
@ kCodec_VP8
Definition: mythcodecid.h:31
@ kCodec_MPEG4_MMAL
Definition: mythcodecid.h:251
@ kCodec_VP9_MMAL
Definition: mythcodecid.h:256
@ kCodec_VP9_VDPAU_DEC
Definition: mythcodecid.h:64
@ kCodec_MPEG2_V4L2_DEC
Definition: mythcodecid.h:233
@ kCodec_NONE
Definition: mythcodecid.h:17
@ kCodec_NVDEC_DEC_END
Definition: mythcodecid.h:180
@ kCodec_AV1_VDPAU_DEC
Definition: mythcodecid.h:66
@ kCodec_H263_VDPAU_DEC
Definition: mythcodecid.h:58
@ kCodec_H263_MMAL_DEC
Definition: mythcodecid.h:266
@ kCodec_VC1_VAAPI_DEC
Definition: mythcodecid.h:93
@ kCodec_WMV3
Definition: mythcodecid.h:30
@ kCodec_WMV3_V4L2_DEC
Definition: mythcodecid.h:238
@ kCodec_NVDEC_END
Definition: mythcodecid.h:164
@ kCodec_MPEG2_MEDIACODEC_DEC
Definition: mythcodecid.h:137
@ kCodec_VTB_DEC_END
Definition: mythcodecid.h:212
@ kCodec_NORMAL_END
Definition: mythcodecid.h:36
@ kCodec_WMV3_NVDEC
Definition: mythcodecid.h:158
@ kCodec_MPEG1_NVDEC
Definition: mythcodecid.h:152
@ kCodec_VC1_V4L2
Definition: mythcodecid.h:221
@ kCodec_H264_V4L2_DEC
Definition: mythcodecid.h:236
@ kCodec_NUV_RTjpeg
Definition: mythcodecid.h:21
@ kCodec_WMV3_NVDEC_DEC
Definition: mythcodecid.h:174
@ kCodec_HEVC_V4L2_DEC
Definition: mythcodecid.h:241
@ kCodec_H264
Definition: mythcodecid.h:28
@ kCodec_VAAPI_DEC_END
Definition: mythcodecid.h:100
@ kCodec_H263_V4L2_DEC
Definition: mythcodecid.h:234
@ kCodec_VP9_MEDIACODEC
Definition: mythcodecid.h:128
@ kCodec_DXVA2_END
Definition: mythcodecid.h:116
@ kCodec_WMV3_VAAPI_DEC
Definition: mythcodecid.h:94
@ kCodec_AV1_V4L2
Definition: mythcodecid.h:226
@ kCodec_MPEG1_NVDEC_DEC
Definition: mythcodecid.h:168
@ kCodec_AV1_VTB_DEC
Definition: mythcodecid.h:210
@ kCodec_HEVC_MEDIACODEC_DEC
Definition: mythcodecid.h:145
@ kCodec_MPEG1_VTB_DEC
Definition: mythcodecid.h:200
@ kCodec_VP9
Definition: mythcodecid.h:32
@ kCodec_MPEG4_NVDEC
Definition: mythcodecid.h:155
@ kCodec_VC1
Definition: mythcodecid.h:29
@ kCodec_VP8_VAAPI_DEC
Definition: mythcodecid.h:95
@ kCodec_HEVC_VDPAU_DEC
Definition: mythcodecid.h:65
@ kCodec_MPEG4
Definition: mythcodecid.h:27
@ kCodec_H264_VAAPI
Definition: mythcodecid.h:76
@ kCodec_VP9_NVDEC_DEC
Definition: mythcodecid.h:176
@ kCodec_MPEG1_MEDIACODEC_DEC
Definition: mythcodecid.h:136
@ kCodec_AV1_NVDEC
Definition: mythcodecid.h:162
@ kCodec_AV1_MEDIACODEC_DEC
Definition: mythcodecid.h:146
@ kCodec_VP9_MMAL_DEC
Definition: mythcodecid.h:272
@ kCodec_NUV_MPEG4
Definition: mythcodecid.h:22
@ kCodec_MPEG1_VAAPI_DEC
Definition: mythcodecid.h:88
@ kCodec_HEVC_VDPAU
Definition: mythcodecid.h:49
@ kCodec_H264_VTB_DEC
Definition: mythcodecid.h:204
@ kCodec_VP9_DRMPRIME
Definition: mythcodecid.h:288
@ kCodec_MPEG1_MMAL
Definition: mythcodecid.h:248
@ kCodec_VP8_NVDEC
Definition: mythcodecid.h:159
@ kCodec_MPEG2_DXVA2
Definition: mythcodecid.h:105
@ kCodec_MMAL_DEC_END
Definition: mythcodecid.h:276
@ kCodec_VDPAU_DEC_END
Definition: mythcodecid.h:68
@ kCodec_H263_MEDIACODEC
Definition: mythcodecid.h:122
@ kCodec_MPEG1_DXVA2
Definition: mythcodecid.h:104
@ kCodec_MPEG4_VDPAU
Definition: mythcodecid.h:43
@ kCodec_MPEG1
Definition: mythcodecid.h:24
@ kCodec_HEVC
Definition: mythcodecid.h:33
@ kCodec_MPEG1_MMAL_DEC
Definition: mythcodecid.h:264
@ kCodec_H264_DXVA2
Definition: mythcodecid.h:108
@ kCodec_VP9_MEDIACODEC_DEC
Definition: mythcodecid.h:144
@ kCodec_VC1_VTB
Definition: mythcodecid.h:189
@ kCodec_VP8_NVDEC_DEC
Definition: mythcodecid.h:175
@ kCodec_MPEG2_VDPAU
Definition: mythcodecid.h:41
@ kCodec_MPEG4_DRMPRIME
Definition: mythcodecid.h:283
@ kCodec_H264_V4L2
Definition: mythcodecid.h:220
@ kCodec_H264_VAAPI_DEC
Definition: mythcodecid.h:92
@ kCodec_VP9_VDPAU
Definition: mythcodecid.h:48
@ kCodec_VP9_VTB
Definition: mythcodecid.h:192
@ kCodec_MPEG2_NVDEC_DEC
Definition: mythcodecid.h:169
@ kCodec_H263
Definition: mythcodecid.h:26
@ kCodec_MPEG4_VTB
Definition: mythcodecid.h:187
@ kCodec_MPEG4_MEDIACODEC
Definition: mythcodecid.h:123
@ kCodec_HEVC_DXVA2
Definition: mythcodecid.h:113
@ kCodec_AV1_MEDIACODEC
Definition: mythcodecid.h:130
@ kCodec_H264_MMAL_DEC
Definition: mythcodecid.h:268
@ kCodec_VC1_MEDIACODEC_DEC
Definition: mythcodecid.h:141
@ kCodec_MPEG1_DRMPRIME
Definition: mythcodecid.h:280
@ kCodec_MPEG4_VDPAU_DEC
Definition: mythcodecid.h:59
@ kCodec_VC1_NVDEC
Definition: mythcodecid.h:157
@ kCodec_H264_NVDEC_DEC
Definition: mythcodecid.h:172
@ kCodec_VTB_END
Definition: mythcodecid.h:196
@ kCodec_MPEG2_NVDEC
Definition: mythcodecid.h:153
@ kCodec_WMV3_DRMPRIME
Definition: mythcodecid.h:286
@ kCodec_AV1_MMAL
Definition: mythcodecid.h:258
@ kCodec_VC1_VDPAU_DEC
Definition: mythcodecid.h:61
@ kCodec_MPEG2_VAAPI
Definition: mythcodecid.h:73
@ kCodec_AV1_VDPAU
Definition: mythcodecid.h:50
@ kCodec_VC1_MMAL
Definition: mythcodecid.h:253
@ kCodec_H264_VDPAU_DEC
Definition: mythcodecid.h:60
@ kCodec_H264_DRMPRIME
Definition: mythcodecid.h:284
@ kCodec_VC1_VTB_DEC
Definition: mythcodecid.h:205
@ kCodec_VC1_MMAL_DEC
Definition: mythcodecid.h:269
@ kCodec_MPEG1_VDPAU
Definition: mythcodecid.h:40
@ kCodec_H263_MEDIACODEC_DEC
Definition: mythcodecid.h:138
@ kCodec_VP9_V4L2_DEC
Definition: mythcodecid.h:240
@ kCodec_H263_VTB
Definition: mythcodecid.h:186
@ kCodec_VP8_MEDIACODEC
Definition: mythcodecid.h:127
@ kCodec_VP8_MMAL
Definition: mythcodecid.h:255
@ kCodec_V4L2_DEC_END
Definition: mythcodecid.h:244
@ kCodec_MPEG1_MEDIACODEC
Definition: mythcodecid.h:120
@ kCodec_H263_DRMPRIME
Definition: mythcodecid.h:282
@ kCodec_MPEG4_MMAL_DEC
Definition: mythcodecid.h:267
@ kCodec_VP9_VAAPI
Definition: mythcodecid.h:80
@ kCodec_MEDIACODEC_DEC_END
Definition: mythcodecid.h:148
@ kCodec_H264_MEDIACODEC
Definition: mythcodecid.h:124
@ kCodec_VC1_DRMPRIME
Definition: mythcodecid.h:285
@ kCodec_AV1_V4L2_DEC
Definition: mythcodecid.h:242
@ kCodec_MPEG4_VAAPI_DEC
Definition: mythcodecid.h:91
@ kCodec_VDPAU_END
Definition: mythcodecid.h:52
@ kCodec_MMAL_END
Definition: mythcodecid.h:260
@ kCodec_HEVC_MEDIACODEC
Definition: mythcodecid.h:129
@ kCodec_VP8_VTB_DEC
Definition: mythcodecid.h:207
@ kCodec_H263_VAAPI_DEC
Definition: mythcodecid.h:90
@ kCodec_WMV3_MMAL_DEC
Definition: mythcodecid.h:270
@ kCodec_VP8_VTB
Definition: mythcodecid.h:191
@ kCodec_MPEG4_VAAPI
Definition: mythcodecid.h:75
@ kCodec_AV1
Definition: mythcodecid.h:34
@ kCodec_H263_VTB_DEC
Definition: mythcodecid.h:202
@ kCodec_H263_MMAL
Definition: mythcodecid.h:250
@ kCodec_MEDIACODEC_END
Definition: mythcodecid.h:132
@ kCodec_VC1_VDPAU
Definition: mythcodecid.h:45
@ kCodec_WMV3_VDPAU_DEC
Definition: mythcodecid.h:62
@ kCodec_MPEG4_MEDIACODEC_DEC
Definition: mythcodecid.h:139
@ kCodec_MPEG4_V4L2_DEC
Definition: mythcodecid.h:235
@ kCodec_MPEG1_VTB
Definition: mythcodecid.h:184
@ kCodec_MPEG1_VAAPI
Definition: mythcodecid.h:72
@ kCodec_VC1_NVDEC_DEC
Definition: mythcodecid.h:173
@ kCodec_MPEG4_DXVA2
Definition: mythcodecid.h:107
@ kCodec_VP8_DRMPRIME
Definition: mythcodecid.h:287
@ kCodec_HEVC_V4L2
Definition: mythcodecid.h:225
@ kCodec_MPEG2_MMAL_DEC
Definition: mythcodecid.h:265
@ kCodec_VP8_MMAL_DEC
Definition: mythcodecid.h:271
@ kCodec_AV1_VTB
Definition: mythcodecid.h:194
@ kCodec_WMV3_VTB
Definition: mythcodecid.h:190
@ kCodec_WMV3_VAAPI
Definition: mythcodecid.h:78
@ kCodec_VP8_VDPAU_DEC
Definition: mythcodecid.h:63
@ kCodec_H264_NVDEC
Definition: mythcodecid.h:156
@ kCodec_MPEG4_NVDEC_DEC
Definition: mythcodecid.h:171
@ kCodec_MPEG1_V4L2_DEC
Definition: mythcodecid.h:232
@ kCodec_MPEG2
Definition: mythcodecid.h:25
@ kCodec_H264_VTB
Definition: mythcodecid.h:188
@ kCodec_AV1_NVDEC_DEC
Definition: mythcodecid.h:178
@ kCodec_AV1_VAAPI_DEC
Definition: mythcodecid.h:98
@ kCodec_MPEG1_VDPAU_DEC
Definition: mythcodecid.h:56
@ kCodec_H264_MMAL
Definition: mythcodecid.h:252
@ kCodec_VP9_NVDEC
Definition: mythcodecid.h:160
@ kCodec_VP8_V4L2
Definition: mythcodecid.h:223
@ kCodec_MPEG2_DRMPRIME
Definition: mythcodecid.h:281
@ kCodec_H263_VDPAU
Definition: mythcodecid.h:42
@ kCodec_V4L2_END
Definition: mythcodecid.h:228
@ kCodec_VP8_VAAPI
Definition: mythcodecid.h:79
@ kCodec_VP8_MEDIACODEC_DEC
Definition: mythcodecid.h:143
@ kCodec_WMV3_VDPAU
Definition: mythcodecid.h:46
@ kCodec_HEVC_NVDEC
Definition: mythcodecid.h:161
@ kCodec_DRMPRIME_END
Definition: mythcodecid.h:292
@ kCodec_VC1_VAAPI
Definition: mythcodecid.h:77
@ kCodec_WMV3_V4L2
Definition: mythcodecid.h:222
@ kCodec_HEVC_DRMPRIME
Definition: mythcodecid.h:289
@ kCodec_VC1_V4L2_DEC
Definition: mythcodecid.h:237
@ kCodec_AV1_MMAL_DEC
Definition: mythcodecid.h:274
@ kCodec_WMV3_DXVA2
Definition: mythcodecid.h:110
@ kCodec_H263_VAAPI
Definition: mythcodecid.h:74
@ kCodec_HEVC_NVDEC_DEC
Definition: mythcodecid.h:177
@ kCodec_MPEG2_VTB
Definition: mythcodecid.h:185
@ kCodec_HEVC_VAAPI_DEC
Definition: mythcodecid.h:97
@ kCodec_VC1_MEDIACODEC
Definition: mythcodecid.h:125
@ kCodec_VP8_V4L2_DEC
Definition: mythcodecid.h:239
@ kCodec_MPEG2_MEDIACODEC
Definition: mythcodecid.h:121
@ kCodec_HEVC_VAAPI
Definition: mythcodecid.h:81
@ kCodec_WMV3_MEDIACODEC_DEC
Definition: mythcodecid.h:142
@ kCodec_AV1_DXVA2
Definition: mythcodecid.h:114
@ kCodec_H264_VDPAU
Definition: mythcodecid.h:44
@ kCodec_VP9_VAAPI_DEC
Definition: mythcodecid.h:96
@ kCodec_HEVC_MMAL
Definition: mythcodecid.h:257
@ kCodec_WMV3_VTB_DEC
Definition: mythcodecid.h:206
@ kCodec_MPEG2_V4L2
Definition: mythcodecid.h:217
@ kCodec_H263_NVDEC_DEC
Definition: mythcodecid.h:170
@ kCodec_MPEG4_VTB_DEC
Definition: mythcodecid.h:203
@ kCodec_VAAPI_END
Definition: mythcodecid.h:84
@ kCodec_MPEG2_VAAPI_DEC
Definition: mythcodecid.h:89
@ kCodec_H263_NVDEC
Definition: mythcodecid.h:154
@ kCodec_VP8_DXVA2
Definition: mythcodecid.h:111
@ kCodec_MPEG2_VDPAU_DEC
Definition: mythcodecid.h:57
@ kCodec_HEVC_VTB_DEC
Definition: mythcodecid.h:209
@ kCodec_MPEG4_V4L2
Definition: mythcodecid.h:219
@ kCodec_HEVC_MMAL_DEC
Definition: mythcodecid.h:273
@ kCodec_AV1_VAAPI
Definition: mythcodecid.h:82
@ kCodec_VP9_DXVA2
Definition: mythcodecid.h:112
@ kCodec_AV1_DRMPRIME
Definition: mythcodecid.h:290
@ kCodec_VP8_VDPAU
Definition: mythcodecid.h:47
@ kCodec_H263_V4L2
Definition: mythcodecid.h:218
@ kCodec_MPEG2_MMAL
Definition: mythcodecid.h:249
@ kCodec_VP9_VTB_DEC
Definition: mythcodecid.h:208
@ kCodec_WMV3_MEDIACODEC
Definition: mythcodecid.h:126
static bool codec_is_vdpau(MythCodecID id)
Definition: mythcodecid.h:304
static bool codec_is_mediacodec(MythCodecID id)
Definition: mythcodecid.h:337
static bool codec_is_vtb_dec(MythCodecID id)
Definition: mythcodecid.h:354
static bool codec_is_dxva2(MythCodecID id)
Definition: mythcodecid.h:328
static bool codec_is_vdpau_dec(MythCodecID id)
Definition: mythcodecid.h:312
static bool codec_is_mmal_dec(MythCodecID id)
Definition: mythcodecid.h:365
static bool codec_is_drmprime(MythCodecID id)
Definition: mythcodecid.h:301
static bool codec_is_mmal(MythCodecID id)
Definition: mythcodecid.h:363
static bool codec_is_nvdec(MythCodecID id)
Definition: mythcodecid.h:344
static bool codec_is_vtb(MythCodecID id)
Definition: mythcodecid.h:351
static bool codec_is_v4l2(MythCodecID id)
Definition: mythcodecid.h:358
static bool codec_is_nvdec_dec(MythCodecID id)
Definition: mythcodecid.h:347
static bool codec_is_vaapi(MythCodecID id)
Definition: mythcodecid.h:321
static bool codec_is_vaapi_dec(MythCodecID id)
Definition: mythcodecid.h:324