From 017dbeb28c18cfb99a6b6c780ad8f7ec76027e72 Mon Sep 17 00:00:00 2001 From: Frankenstone Date: Fri, 1 Mar 2019 18:08:35 +0100 Subject: [PATCH] armhardware reduce ffmpeg warnings part 1 - thx DbO Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/7a60eae701a298f590096f6f9afe56b356d0c4e6 Author: Frankenstone Date: 2019-03-01 (Fri, 01 Mar 2019) ------------------ This commit was generated by Migit --- libarmbox/video.cpp | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/libarmbox/video.cpp b/libarmbox/video.cpp index 20b8509..46dc683 100644 --- a/libarmbox/video.cpp +++ b/libarmbox/video.cpp @@ -257,13 +257,17 @@ int decode_frame(AVCodecContext *codecContext,AVPacket &packet, int fd) AVCodecContext* open_codec(AVMediaType mediaType, AVFormatContext* formatContext) { - int stream_index = av_find_best_stream(formatContext, mediaType, -1, -1, NULL, 0); - if (stream_index >=0 ){ - AVCodecContext * codecContext = formatContext->streams[stream_index]->codec; - if(codecContext){ - AVCodec *codec = avcodec_find_decoder(codecContext->codec_id); - if(codec){ - if ((avcodec_open2(codecContext, codec, NULL)) != 0){ + AVCodec * codec = NULL; + AVCodecContext * codecContext = NULL; + int stream_index; +#if (LIBAVFORMAT_VERSION_INT < AV_VERSION_INT( 57,25,101 )) + stream_index = av_find_best_stream(formatContext, mediaType, -1, -1, NULL, 0); + if (stream_index >= 0) { + codecContext = formatContext->streams[stream_index]->codec; + if (codecContext) { + codec = avcodec_find_decoder(codecContext->codec_id); + if (codec) { + if ((avcodec_open2(codecContext, codec, NULL)) != 0) { return NULL; } } @@ -271,6 +275,22 @@ AVCodecContext* open_codec(AVMediaType mediaType, AVFormatContext* formatContext } } return NULL; +#else + stream_index = av_find_best_stream(formatContext, mediaType, -1, -1, &codec, 0); + if (stream_index >= 0) { + codec = avcodec_find_decoder(formatContext->streams[stream_index]->codecpar->codec_id); + if (codec) { + codecContext = avcodec_alloc_context3(codec); + } + if (codecContext) { + if ((avcodec_open2(codecContext, codec, NULL)) != 0) { + return NULL; + } + return codecContext; + } + } + return NULL; +#endif } int image_to_mpeg2(const char *image_name, int fd)