MythTV  master
Macros | Enumerations | Functions
mythcodecid.h File Reference
#include <QString>
#include "libavcodec/avcodec.h"
Include dependency graph for mythcodecid.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define codec_is_std(id)   (id < kCodec_NORMAL_END)
 
#define codec_is_std_mpeg(id)   (id == kCodec_MPEG1 || id == kCodec_MPEG2)
 
#define codec_is_vdpau(id)
 
#define codec_is_vdpau_hw(id)
 
#define codec_is_vaapi(id)
 
#define codec_is_vaapi_hw(id)
 
#define codec_is_dxva2(id)
 
#define codec_is_dxva2_hw(id)
 
#define codec_is_mediacodec(id)
 
#define codec_is_vaapi2(id)
 
#define codec_is_nvdec(id)
 
#define codec_sw_copy(id)
 
#define CODEC_IS_H264(id)   (mpeg_version(id) == 5)
 
#define CODEC_IS_MPEG(id)   (mpeg_version(id) && mpeg_version(id) <= 2)
 
#define CODEC_IS_FFMPEG_MPEG(id)   (CODEC_IS_MPEG(id))
 
#define CODEC_IS_VDPAU(codec)
 
#define CODEC_IS_VAAPI(codec, enc)   (codec && IS_VAAPI_PIX_FMT(enc->pix_fmt))
 
#define CODEC_IS_DXVA2(codec, enc)   (codec && (enc->pix_fmt == AV_PIX_FMT_DXVA2_VLD))
 
#define CODEC_IS_MEDIACODEC(codec)   (0)
 

Enumerations

enum  MythCodecID {
  kCodec_NONE = 0, kCodec_NORMAL_BEGIN = kCodec_NONE, kCodec_NUV_RTjpeg, kCodec_NUV_MPEG4,
  kCodec_MPEG1, kCodec_MPEG2, kCodec_H263, kCodec_MPEG4,
  kCodec_H264, kCodec_VC1, kCodec_WMV3, kCodec_VP8,
  kCodec_VP9, kCodec_HEVC, kCodec_NORMAL_END, kCodec_VDPAU_BEGIN = kCodec_NORMAL_END,
  kCodec_MPEG1_VDPAU, kCodec_MPEG2_VDPAU, kCodec_H263_VDPAU, kCodec_MPEG4_VDPAU,
  kCodec_H264_VDPAU, kCodec_VC1_VDPAU, kCodec_WMV3_VDPAU, kCodec_VP8_VDPAU,
  kCodec_VP9_VDPAU, kCodec_HEVC_VDPAU, kCodec_VDPAU_END, kCodec_VAAPI_BEGIN = kCodec_VDPAU_END,
  kCodec_MPEG1_VAAPI, kCodec_MPEG2_VAAPI, kCodec_H263_VAAPI, kCodec_MPEG4_VAAPI,
  kCodec_H264_VAAPI, kCodec_VC1_VAAPI, kCodec_WMV3_VAAPI, kCodec_VP8_VAAPI,
  kCodec_VP9_VAAPI, kCodec_HEVC_VAAPI, kCodec_VAAPI_END, kCodec_DXVA2_BEGIN = kCodec_VAAPI_END,
  kCodec_MPEG1_DXVA2, kCodec_MPEG2_DXVA2, kCodec_H263_DXVA2, kCodec_MPEG4_DXVA2,
  kCodec_H264_DXVA2, kCodec_VC1_DXVA2, kCodec_WMV3_DXVA2, kCodec_VP8_DXVA2,
  kCodec_VP9_DXVA2, kCodec_HEVC_DXVA2, kCodec_DXVA2_END, kCodec_MEDIACODEC_BEGIN = kCodec_DXVA2_END,
  kCodec_MPEG1_MEDIACODEC, kCodec_MPEG2_MEDIACODEC, kCodec_H263_MEDIACODEC, kCodec_MPEG4_MEDIACODEC,
  kCodec_H264_MEDIACODEC, kCodec_VC1_MEDIACODEC, kCodec_WMV3_MEDIACODEC, kCodec_VP8_MEDIACODEC,
  kCodec_VP9_MEDIACODEC, kCodec_HEVC_MEDIACODEC, kCodec_MEDIACODEC_END, kCodec_VAAPI2_BEGIN = kCodec_MEDIACODEC_END,
  kCodec_MPEG1_VAAPI2, kCodec_MPEG2_VAAPI2, kCodec_H263_VAAPI2, kCodec_MPEG4_VAAPI2,
  kCodec_H264_VAAPI2, kCodec_VC1_VAAPI2, kCodec_WMV3_VAAPI2, kCodec_VP8_VAAPI2,
  kCodec_VP9_VAAPI2, kCodec_HEVC_VAAPI2, kCodec_VAAPI2_END, kCodec_NVDEC_BEGIN = kCodec_VAAPI2_END,
  kCodec_MPEG1_NVDEC, kCodec_MPEG2_NVDEC, kCodec_H263_NVDEC, kCodec_MPEG4_NVDEC,
  kCodec_H264_NVDEC, kCodec_VC1_NVDEC, kCodec_WMV3_NVDEC, kCodec_VP8_NVDEC,
  kCodec_VP9_NVDEC, kCodec_HEVC_NVDEC, kCodec_NVDEC_END
}
 

Functions

QString get_encoding_type (MythCodecID codecid)
 
QString get_decoder_name (MythCodecID codec_id)
 
QString toString (MythCodecID codecid)
 
AVCodecID myth2av_codecid (MythCodecID codec_id, bool &vdpau)
 
AVCodecID myth2av_codecid (MythCodecID codec_id)
 
int mpeg_version (int codec_id)
 

Macro Definition Documentation

◆ codec_is_std

#define codec_is_std (   id)    (id < kCodec_NORMAL_END)

Definition at line 127 of file mythcodecid.h.

◆ codec_is_std_mpeg

#define codec_is_std_mpeg (   id)    (id == kCodec_MPEG1 || id == kCodec_MPEG2)

Definition at line 128 of file mythcodecid.h.

◆ codec_is_vdpau

#define codec_is_vdpau (   id)
Value:

Definition at line 129 of file mythcodecid.h.

◆ codec_is_vdpau_hw

#define codec_is_vdpau_hw (   id)
Value:
((codec_is_vdpau(id) && \
(id != kCodec_H263_VDPAU) && \
(id != kCodec_VP8_VDPAU)))
#define codec_is_vdpau(id)
Definition: mythcodecid.h:129

Definition at line 131 of file mythcodecid.h.

◆ codec_is_vaapi

#define codec_is_vaapi (   id)
Value:

Definition at line 134 of file mythcodecid.h.

◆ codec_is_vaapi_hw

#define codec_is_vaapi_hw (   id)
Value:
(codec_is_vaapi(id) && \
#define codec_is_vaapi(id)
Definition: mythcodecid.h:134

Definition at line 136 of file mythcodecid.h.

◆ codec_is_dxva2

#define codec_is_dxva2 (   id)
Value:

Definition at line 138 of file mythcodecid.h.

◆ codec_is_dxva2_hw

#define codec_is_dxva2_hw (   id)
Value:

Definition at line 140 of file mythcodecid.h.

◆ codec_is_mediacodec

#define codec_is_mediacodec (   id)

◆ codec_is_vaapi2

#define codec_is_vaapi2 (   id)
Value:

Definition at line 146 of file mythcodecid.h.

◆ codec_is_nvdec

#define codec_is_nvdec (   id)
Value:

Definition at line 148 of file mythcodecid.h.

◆ codec_sw_copy

#define codec_sw_copy (   id)
Value:
#define codec_is_mediacodec(id)
Definition: mythcodecid.h:144
#define codec_is_vaapi2(id)
Definition: mythcodecid.h:146
#define codec_is_nvdec(id)
Definition: mythcodecid.h:148
#define codec_is_std(id)
Definition: mythcodecid.h:127

Definition at line 151 of file mythcodecid.h.

◆ CODEC_IS_H264

#define CODEC_IS_H264 (   id)    (mpeg_version(id) == 5)

Definition at line 166 of file mythcodecid.h.

◆ CODEC_IS_MPEG

#define CODEC_IS_MPEG (   id)    (mpeg_version(id) && mpeg_version(id) <= 2)

Definition at line 167 of file mythcodecid.h.

◆ CODEC_IS_FFMPEG_MPEG

#define CODEC_IS_FFMPEG_MPEG (   id)    (CODEC_IS_MPEG(id))

Definition at line 168 of file mythcodecid.h.

◆ CODEC_IS_VDPAU

#define CODEC_IS_VDPAU (   codec)
Value:
(codec &&\
codec->capabilities & CODEC_CAP_HWACCEL_VDPAU)

Definition at line 170 of file mythcodecid.h.

◆ CODEC_IS_VAAPI

#define CODEC_IS_VAAPI (   codec,
  enc 
)    (codec && IS_VAAPI_PIX_FMT(enc->pix_fmt))

Definition at line 177 of file mythcodecid.h.

◆ CODEC_IS_DXVA2

#define CODEC_IS_DXVA2 (   codec,
  enc 
)    (codec && (enc->pix_fmt == AV_PIX_FMT_DXVA2_VLD))

Definition at line 183 of file mythcodecid.h.

◆ CODEC_IS_MEDIACODEC

#define CODEC_IS_MEDIACODEC (   codec)    (0)

Definition at line 191 of file mythcodecid.h.

Enumeration Type Documentation

◆ MythCodecID

Enumerator
kCodec_NONE 
kCodec_NORMAL_BEGIN 
kCodec_NUV_RTjpeg 
kCodec_NUV_MPEG4 
kCodec_MPEG1 
kCodec_MPEG2 
kCodec_H263 
kCodec_MPEG4 
kCodec_H264 
kCodec_VC1 
kCodec_WMV3 
kCodec_VP8 
kCodec_VP9 
kCodec_HEVC 
kCodec_NORMAL_END 
kCodec_VDPAU_BEGIN 
kCodec_MPEG1_VDPAU 
kCodec_MPEG2_VDPAU 
kCodec_H263_VDPAU 
kCodec_MPEG4_VDPAU 
kCodec_H264_VDPAU 
kCodec_VC1_VDPAU 
kCodec_WMV3_VDPAU 
kCodec_VP8_VDPAU 
kCodec_VP9_VDPAU 
kCodec_HEVC_VDPAU 
kCodec_VDPAU_END 
kCodec_VAAPI_BEGIN 
kCodec_MPEG1_VAAPI 
kCodec_MPEG2_VAAPI 
kCodec_H263_VAAPI 
kCodec_MPEG4_VAAPI 
kCodec_H264_VAAPI 
kCodec_VC1_VAAPI 
kCodec_WMV3_VAAPI 
kCodec_VP8_VAAPI 
kCodec_VP9_VAAPI 
kCodec_HEVC_VAAPI 
kCodec_VAAPI_END 
kCodec_DXVA2_BEGIN 
kCodec_MPEG1_DXVA2 
kCodec_MPEG2_DXVA2 
kCodec_H263_DXVA2 
kCodec_MPEG4_DXVA2 
kCodec_H264_DXVA2 
kCodec_VC1_DXVA2 
kCodec_WMV3_DXVA2 
kCodec_VP8_DXVA2 
kCodec_VP9_DXVA2 
kCodec_HEVC_DXVA2 
kCodec_DXVA2_END 
kCodec_MEDIACODEC_BEGIN 
kCodec_MPEG1_MEDIACODEC 
kCodec_MPEG2_MEDIACODEC 
kCodec_H263_MEDIACODEC 
kCodec_MPEG4_MEDIACODEC 
kCodec_H264_MEDIACODEC 
kCodec_VC1_MEDIACODEC 
kCodec_WMV3_MEDIACODEC 
kCodec_VP8_MEDIACODEC 
kCodec_VP9_MEDIACODEC 
kCodec_HEVC_MEDIACODEC 
kCodec_MEDIACODEC_END 
kCodec_VAAPI2_BEGIN 
kCodec_MPEG1_VAAPI2 
kCodec_MPEG2_VAAPI2 
kCodec_H263_VAAPI2 
kCodec_MPEG4_VAAPI2 
kCodec_H264_VAAPI2 
kCodec_VC1_VAAPI2 
kCodec_WMV3_VAAPI2 
kCodec_VP8_VAAPI2 
kCodec_VP9_VAAPI2 
kCodec_HEVC_VAAPI2 
kCodec_VAAPI2_END 
kCodec_NVDEC_BEGIN 
kCodec_MPEG1_NVDEC 
kCodec_MPEG2_NVDEC 
kCodec_H263_NVDEC 
kCodec_MPEG4_NVDEC 
kCodec_H264_NVDEC 
kCodec_VC1_NVDEC 
kCodec_WMV3_NVDEC 
kCodec_VP8_NVDEC 
kCodec_VP9_NVDEC 
kCodec_HEVC_NVDEC 
kCodec_NVDEC_END 

Definition at line 10 of file mythcodecid.h.

Function Documentation

◆ get_encoding_type()

QString get_encoding_type ( MythCodecID  codecid)

Definition at line 451 of file mythcodecid.cpp.

Referenced by MythPlayer::GetEncodingType().

◆ get_decoder_name()

QString get_decoder_name ( MythCodecID  codec_id)

Definition at line 561 of file mythcodecid.cpp.

Referenced by AvFormatDecoder::GetCodecDecoderName().

◆ toString()

QString toString ( MythCodecID  codecid)

Definition at line 9 of file mythcodecid.cpp.

◆ myth2av_codecid() [1/2]

AVCodecID myth2av_codecid ( MythCodecID  codec_id,
bool vdpau 
)

◆ myth2av_codecid() [2/2]

AVCodecID myth2av_codecid ( MythCodecID  codec_id)
inline

Definition at line 158 of file mythcodecid.h.

◆ mpeg_version()

int mpeg_version ( int  codec_id)

Definition at line 421 of file mythcodecid.cpp.

Referenced by AvFormatDecoder::ScanStreams().