ffmpeg: Remove code to support deprecated versions

See previous commit; now that we're enforcing explicit minimums, any
code to support anything older than those minimums is trivially dead.
This commit is contained in:
Sam Edwards 2018-03-27 13:51:08 -06:00
parent a19e9aea63
commit 148010c5f0
3 changed files with 2 additions and 85 deletions

View File

@ -63,11 +63,7 @@ FfmpegAudioCursor(FfmpegAudio *src) :
_format_ctx = _ffvfile.get_format_context();
nassertv(_format_ctx != NULL);
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 6, 0)
if (avformat_find_stream_info(_format_ctx, NULL) < 0) {
#else
if (av_find_stream_info(_format_ctx) < 0) {
#endif
cleanup();
return;
}
@ -94,31 +90,20 @@ FfmpegAudioCursor(FfmpegAudio *src) :
return;
}
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 8, 0)
AVDictionary *opts = NULL;
av_dict_set(&opts, "request_sample_fmt", "s16", 0);
if (avcodec_open2(_audio_ctx, pAudioCodec, NULL) < 0) {
#else
if (avcodec_open(_audio_ctx, pAudioCodec) < 0) {
#endif
cleanup();
return;
}
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 8, 0)
av_dict_free(&opts);
#endif
// Set up the resample context if necessary.
if (_audio_ctx->sample_fmt != AV_SAMPLE_FMT_S16) {
#ifdef HAVE_SWRESAMPLE
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(53, 25, 0)
ffmpeg_cat.error()
<< "Codec does not use signed 16-bit sample format. Upgrade libavcodec to 53.25.0 or higher.\n";
#else
ffmpeg_cat.debug()
<< "Codec does not use signed 16-bit sample format. Setting up swresample context.\n";
#endif
_resample_ctx = swr_alloc();
av_opt_set_int(_resample_ctx, "in_channel_layout", _audio_ctx->channel_layout, 0);
@ -191,10 +176,8 @@ cleanup() {
if (_frame) {
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101)
av_frame_free(&_frame);
#elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 59, 100)
avcodec_free_frame(&_frame);
#else
av_free(&_frame);
avcodec_free_frame(&_frame);
#endif
_frame = NULL;
}
@ -284,25 +267,6 @@ reload_buffer() {
return true;
} else if (_packet_size > 0) {
int bufsize = _buffer_size * 2;
#if LIBAVCODEC_VERSION_INT < 3349504
int len = avcodec_decode_audio(_audio_ctx, _buffer, &bufsize,
_packet_data, _packet_size);
movies_debug("avcodec_decode_audio returned " << len);
#elif LIBAVCODEC_VERSION_INT < 3414272
int len = avcodec_decode_audio2(_audio_ctx, _buffer, &bufsize,
_packet_data, _packet_size);
movies_debug("avcodec_decode_audio2 returned " << len);
#elif LIBAVCODEC_VERSION_INT < AV_VERSION_INT(53, 25, 0)
// We should technically also consider resampling in this case, but
// whatever. Just upgrade your ffmpeg version if you get garbage.
AVPacket pkt;
av_init_packet(&pkt);
pkt.data = _packet_data;
pkt.size = _packet_size;
int len = avcodec_decode_audio3(_audio_ctx, _buffer, &bufsize, &pkt);
movies_debug("avcodec_decode_audio3 returned " << len);
av_free_packet(&pkt);
#else
int got_frame;
AVPacket pkt;
av_init_packet(&pkt);
@ -332,7 +296,6 @@ reload_buffer() {
}
#if LIBAVUTIL_VERSION_INT > AV_VERSION_INT(52, 19, 100)
av_frame_unref(_frame);
#endif
#endif
if (len < 0) {
@ -376,11 +339,7 @@ seek(double t) {
cleanup();
return;
}
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 8, 0)
if (avcodec_open2(_audio_ctx, pAudioCodec, NULL) < 0) {
#else
if (avcodec_open(_audio_ctx, pAudioCodec) < 0) {
#endif
cleanup();
return;
}

View File

@ -36,21 +36,10 @@ PStatCollector FfmpegVideoCursor::_fetch_buffer_pcollector("*:FFMPEG Video Decod
PStatCollector FfmpegVideoCursor::_seek_pcollector("*:FFMPEG Video Decoding:Seek");
PStatCollector FfmpegVideoCursor::_export_frame_pcollector("*:FFMPEG Convert Video to BGR");
#if LIBAVFORMAT_VERSION_MAJOR < 53
#define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO
#endif
#if LIBAVCODEC_VERSION_MAJOR < 54
#define AV_CODEC_ID_VP8 CODEC_ID_VP8
#endif
#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51, 74, 100)
#define AV_PIX_FMT_NONE PIX_FMT_NONE
#define AV_PIX_FMT_BGR24 PIX_FMT_BGR24
#define AV_PIX_FMT_BGRA PIX_FMT_BGRA
typedef PixelFormat AVPixelFormat;
#endif
#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(52, 32, 100)
#define AV_PIX_FMT_FLAG_ALPHA PIX_FMT_ALPHA
#endif
@ -120,7 +109,6 @@ init_from(FfmpegVideo *source) {
_eof_known = false;
_eof_frame = 0;
#if LIBAVUTIL_VERSION_MAJOR >= 52
// Check if we got an alpha format. Please note that some video codecs
// (eg. libvpx) change the pix_fmt after decoding the first frame, which is
// why we didn't do this earlier.
@ -128,9 +116,7 @@ init_from(FfmpegVideo *source) {
if (desc && (desc->flags & AV_PIX_FMT_FLAG_ALPHA) != 0) {
_num_components = 4;
_pixel_format = (int)AV_PIX_FMT_BGRA;
} else
#endif
{
} else {
_num_components = 3;
_pixel_format = (int)AV_PIX_FMT_BGR24;
}
@ -493,11 +479,7 @@ open_stream() {
_format_ctx = _ffvfile.get_format_context();
nassertr(_format_ctx != NULL, false);
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 6, 0)
if (avformat_find_stream_info(_format_ctx, NULL) < 0) {
#else
if (av_find_stream_info(_format_ctx) < 0) {
#endif
ffmpeg_cat.info()
<< "Couldn't find stream info\n";
close_stream();
@ -539,11 +521,7 @@ open_stream() {
close_stream();
return false;
}
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 8, 0)
if (avcodec_open2(_video_ctx, pVideoCodec, NULL) < 0) {
#else
if (avcodec_open(_video_ctx, pVideoCodec) < 0) {
#endif
ffmpeg_cat.info()
<< "Couldn't open codec\n";
close_stream();
@ -883,12 +861,7 @@ decode_frame(int &finished) {
*/
void FfmpegVideoCursor::
do_decode_frame(int &finished) {
#if LIBAVCODEC_VERSION_INT < 3414272
avcodec_decode_video(_video_ctx, _frame,
&finished, _packet->data, _packet->size);
#else
avcodec_decode_video2(_video_ctx, _frame, &finished, _packet);
#endif
}
/**

View File

@ -107,11 +107,7 @@ open_vfs(const Filename &filename) {
// Now we can open the stream.
int result =
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 4, 0)
avformat_open_input(&_format_context, "", NULL, NULL);
#else
av_open_input_file(&_format_context, "", NULL, 0, NULL);
#endif
if (result < 0) {
close();
return false;
@ -159,11 +155,7 @@ open_subfile(const SubfileInfo &info) {
// Now we can open the stream.
int result =
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 4, 0)
avformat_open_input(&_format_context, fname.c_str(), NULL, NULL);
#else
av_open_input_file(&_format_context, fname.c_str(), NULL, 0, NULL);
#endif
if (result < 0) {
close();
return false;
@ -179,12 +171,7 @@ open_subfile(const SubfileInfo &info) {
void FfmpegVirtualFile::
close() {
if (_format_context != NULL) {
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0)
avformat_close_input(&_format_context);
#else
av_close_input_file(_format_context);
_format_context = NULL;
#endif
}
if (_io_context != NULL) {
@ -218,9 +205,7 @@ register_protocol() {
av_register_all();
// And this one.
#if LIBAVFORMAT_VERSION_INT >= 0x351400
avformat_network_init();
#endif
// Let's also register the logging to Panda's notify callback.
av_log_set_callback(&log_callback);