From 4a8001ccac4bff3422b52d07f7a605ea58a17ade Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <randrianasulu@gmail.com>
Date: Mon, 4 Apr 2022 02:33:54 +0300
Subject: [PATCH 65/71] More libavcodec versionkng in ffmpeg

---
 cinelerra-5.1/cinelerra/ffmpeg.C |  4 ++++
 cinelerra-5.1/cinelerra/ffmpeg.h | 12 ++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/ffmpeg.C
index ec776578..d4f63ebf 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.C
+++ b/cinelerra-5.1/cinelerra/ffmpeg.C
@@ -3907,7 +3907,11 @@ AVCodecContext *FFMPEG::activate_decoder(AVStream *st)
 	AVDictionary *copts = 0;
 	av_dict_copy(&copts, opts, 0);
 	AVCodecID codec_id = st->codecpar->codec_id;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59,16,100)
 	const AVCodec *decoder = 0;
+#else
+	AVCodec *decoder = 0;
+#endif
 	switch( st->codecpar->codec_type ) {
 	case AVMEDIA_TYPE_VIDEO:
 		if( opt_video_decoder )
diff --git a/cinelerra-5.1/cinelerra/ffmpeg.h b/cinelerra-5.1/cinelerra/ffmpeg.h
index d2b4ac7f..1b46160a 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.h
+++ b/cinelerra-5.1/cinelerra/ffmpeg.h
@@ -89,7 +89,11 @@ public:
 	virtual int encode_activate();
 	virtual int decode_activate();
 	virtual AVHWDeviceType decode_hw_activate();
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59,16,100)
 	virtual int decode_hw_format(const AVCodec *decoder, AVHWDeviceType type);
+#else
+	virtual int decode_hw_format(AVCodec *decoder, AVHWDeviceType type);
+#endif
 	virtual int write_packet(FFPacket &pkt);
 	int read_packet();
 	int seek(int64_t no, double rate);
@@ -293,7 +297,11 @@ class FFCodecRemaps : public ArrayList<FFCodecRemap>
 public:
 	FFCodecRemaps() {}
 	int add(const char *val);
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59,16,100)
 	int update(AVCodecID &codec_id, const AVCodec *&decoder);
+#else
+	int update(AVCodecID &codec_id, AVCodec *&decoder);
+#endif
 };
 
 // for get_initial_timecode auto deletes
@@ -334,7 +342,11 @@ public:
 	static void ff_lock(const char *cp=0) { fflock.lock(cp); }
 	static void ff_unlock() { fflock.unlock(); }
 
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59,16,100)
 	int check_sample_rate(const AVCodec *codec, int sample_rate);
+#else
+	int check_sample_rate(AVCodec *codec, int sample_rate);
+#endif
 	AVRational check_frame_rate(const AVRational *p, double frame_rate);
 	AVRational to_sample_aspect_ratio(Asset *asset);
 	AVRational to_time_base(int sample_rate);
-- 
2.35.1

