37#ifndef LAVC_COMMON_H_C9D57362_067F_45AD_A491_A8084A39E675
38#define LAVC_COMMON_H_C9D57362_067F_45AD_A491_A8084A39E675
47#include <libavcodec/avcodec.h>
48#include <libavutil/imgutils.h>
49#include <libavutil/mem.h>
50#include <libavutil/opt.h>
51#include <libavutil/pixfmt.h>
52#include <libavutil/samplefmt.h>
53#include <libavutil/version.h>
62#define __attribute__(a)
72#define LIBAV_ERRBUF_LEN 1024
77#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 26, 0)
78#define AV_CODEC_ID_AV1 AV_CODEC_ID_NONE
81#define Y210_PRESENT LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(56, 42, 100)
82#define X2RGB10LE_PRESENT LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(56, 55, 100)
83#define P210_PRESENT LIBAVUTIL_VERSION_INT > AV_VERSION_INT(57, 9, 101)
84#define VUYX_PRESENT LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 34, 100)
85#define XV3X_PRESENT LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 36, 100)
87#if defined FF_API_OLD_CHANNEL_LAYOUT || (LIBAVUTIL_VERSION_MAJOR >= 58)
88#define AVCODECCTX_CHANNELS(context) (context)->ch_layout.nb_channels
89#define FF_API_NEW_CHANNEL_LAYOUT 1
91#define AVCODECCTX_CHANNELS(context) (context)->channels
94#ifndef AV_CODEC_CAP_OTHER_THREADS
95#define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
99#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(56, 39, 100)
100#define AV_PIX_FMT_VULKAN AV_PIX_FMT_NONE
This file contains definition of some common audio types.
void printf_libav_error(int verbosity, int rc, const char *msg,...) __attribute__((format(printf
codec_t get_av_to_ug_codec(enum AVCodecID av_codec)
enum AVSampleFormat audio_bps_to_av_sample_fmt(int bps, bool planar)
const char * lavc_thread_type_to_str(int thread_type)
void ug_set_av_logging(void)
Sets specified log level either given explicitly or from UG-wide log_level.
int av_pixfmt_get_subsampling(enum AVPixelFormat fmt) __attribute__((const))
struct audio_desc audio_desc_from_av_frame(const AVFrame *frm)
void print_decoder_error(const char *mod_name, int rc)
struct pixfmt_desc av_pixfmt_get_desc(enum AVPixelFormat pixfmt)
enum AVCodecID get_ug_to_av_codec(codec_t ug_codec)
void lavd_flush(AVCodecContext *codec_ctx)
const char * get_avpixfmts_names(const enum AVPixelFormat *pixfmts)
void bool libav_codec_has_extradata(codec_t codec)
void print_libav_error(int verbosity, const char *msg, int rc)
This file contains some common data types.