gstavcodecmap: GStreamer libav 1.0 Plugins Reference Manual

## gstavcodecmap gstavcodecmap |

## Functions

GstCaps * | gst_ffmpeg_codecid_to_caps ()
GstCaps * | gst_ffmpeg_codectype_to_audio_caps ()
GstCaps * | gst_ffmpeg_codectype_to_video_caps ()
enum AVCodecID | gst_ffmpeg_caps_to_codecid ()
void | gst_ffmpeg_caps_with_codecid ()
void | gst_ffmpeg_caps_with_codectype ()
void | gst_ffmpeg_videoinfo_to_context ()
void | gst_ffmpeg_audioinfo_to_context ()
GstVideoFormat | gst_ffmpeg_pixfmt_to_videoformat ()
enum PixelFormat | gst_ffmpeg_videoformat_to_pixfmt ()
GstAudioFormat | gst_ffmpeg_smpfmt_to_audioformat ()
GstCaps * | gst_ffmpeg_formatid_to_caps ()
gboolean | gst_ffmpeg_formatid_get_codecids ()
gboolean | gst_ffmpeg_channel_layout_to_gst ()

## Types and Values

enum | GstFFMpegCompliance
#define | FFMPEG_DEFAULT_COMPLIANCE

## Description

## Functions

### gst_ffmpeg_codecid_to_caps ()

    GstCaps *
    gst_ffmpeg_codecid_to_caps (enum AVCodecID codec_id,
                                AVCodecContext *context,
                                gboolean encode);

### gst_ffmpeg_codectype_to_audio_caps ()

    GstCaps *
    gst_ffmpeg_codectype_to_audio_caps (AVCodecContext *context,
                                        enum AVCodecID codec_id,
                                        gboolean encode,
                                        AVCodec *codec);

### gst_ffmpeg_codectype_to_video_caps ()

    GstCaps *
    gst_ffmpeg_codectype_to_video_caps (AVCodecContext *context,
                                        enum AVCodecID codec_id,
                                        gboolean encode,
                                        AVCodec *codec);

### gst_ffmpeg_caps_to_codecid ()

    enum AVCodecID
    gst_ffmpeg_caps_to_codecid (const GstCaps *caps,
                                AVCodecContext *context);

### gst_ffmpeg_caps_with_codecid ()

    void
    gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id,
                                  enum AVMediaType codec_type,
                                  const GstCaps *caps,
                                  AVCodecContext *context);

### gst_ffmpeg_caps_with_codectype ()

    void
    gst_ffmpeg_caps_with_codectype (enum AVMediaType type,
                                    const GstCaps *caps,
                                    AVCodecContext *context);

### gst_ffmpeg_videoinfo_to_context ()

    void
    gst_ffmpeg_videoinfo_to_context (GstVideoInfo *info,
                                     AVCodecContext *context);

### gst_ffmpeg_audioinfo_to_context ()

    void
    gst_ffmpeg_audioinfo_to_context (GstAudioInfo *info,
                                     AVCodecContext *context);

### gst_ffmpeg_pixfmt_to_videoformat ()

    GstVideoFormat
    gst_ffmpeg_pixfmt_to_videoformat (enum PixelFormat pixfmt);

### gst_ffmpeg_videoformat_to_pixfmt ()

    enum PixelFormat
    gst_ffmpeg_videoformat_to_pixfmt (GstVideoFormat format);

### gst_ffmpeg_smpfmt_to_audioformat ()

    GstAudioFormat
    gst_ffmpeg_smpfmt_to_audioformat (enum AVSampleFormat sample_fmt);

### gst_ffmpeg_formatid_to_caps ()

    GstCaps *
    gst_ffmpeg_formatid_to_caps (const gchar *format_name);

### gst_ffmpeg_formatid_get_codecids ()

    gboolean
    gst_ffmpeg_formatid_get_codecids (const gchar *format_name,
                                      enum AVCodecID **video_codec_list,
                                      enum AVCodecID **audio_codec_list,
                                      AVOutputFormat *plugin);

### gst_ffmpeg_channel_layout_to_gst ()

    gboolean
    gst_ffmpeg_channel_layout_to_gst (guint64 channel_layout,
                                      gint channels,
                                      GstAudioChannelPosition *pos);

## Types and Values

### enum GstFFMpegCompliance

This setting instructs libav on how strictly it should follow the associated standard.

From avcodec.h: Setting this to STRICT or higher means the encoder and decoder will generally do stupid things, whereas setting it to unofficial or lower will mean the encoder might produce output that is not supported by all spec-compliant decoders. Decoders don't differentiate between normal, unofficial and experimental (that is, they always try to decode things when they can) unless they are explicitly asked to behave stupidly (=strictly conform to the specs)

#### Members

GST_FFMPEG_VERY_STRICT | Strictly conform to an older more strict version of the spec or reference software |
GST_FFMPEG_STRICT | Strictly conform to all the things in the spec no matter what consequences. |
GST_FFMPEG_NORMAL |  |
GST_FFMPEG_UNOFFICIAL | Allow unofficial extensions |
GST_FFMPEG_EXPERIMENTAL | Allow nonstandardized experimental things. |

### FFMPEG_DEFAULT_COMPLIANCE

    #define FFMPEG_DEFAULT_COMPLIANCE GST_FFMPEG_NORMAL