diff --git a/lib/StreamHandlerLibav.cpp b/lib/StreamHandlerLibav.cpp index 7f04f91..8e7c72f 100644 --- a/lib/StreamHandlerLibav.cpp +++ b/lib/StreamHandlerLibav.cpp @@ -28,6 +28,10 @@ #include "PlaYUVerFramePixelFormats.h" #include +#if( ( LIBAVCODEC_VERSION_MAJOR >= 57 ) && ( LIBAVCODEC_VERSION_MINOR >= 64 ) ) +#define FF_USER_CODEC_PARAM +#endif + std::vector StreamHandlerLibav::supportedReadFormats() { INI_REGIST_PLAYUVER_SUPPORTED_FMT; @@ -113,7 +117,7 @@ Bool StreamHandlerLibav::openHandler( String strFilename, Bool bInput ) /* find decoder for the stream */ -#if( LIBAVCODEC_VERSION_MAJOR >= 57 ) +#ifdef FF_USER_CODEC_PARAM AVCodecParameters* codec_param = m_cStream->codecpar; AVCodec* dec = avcodec_find_decoder( codec_param->codec_id ); #else @@ -134,7 +138,7 @@ Bool StreamHandlerLibav::openHandler( String strFilename, Bool bInput ) return false; } -#if( LIBAVCODEC_VERSION_MAJOR >= 57 ) +#ifdef FF_USER_CODEC_PARAM m_uiFrameBufferSize = av_image_get_buffer_size( AVPixelFormat( codec_param->format ), codec_param->width, codec_param->height, 1 ); #else @@ -223,7 +227,7 @@ Bool StreamHandlerLibav::openHandler( String strFilename, Bool bInput ) return false; } -#if( LIBAVFORMAT_VERSION_MAJOR >= 55 ) +#ifdef FF_USER_CODEC_PARAM m_cFrame = av_frame_alloc(); #else m_cFrame = avcodec_alloc_frame(); @@ -344,7 +348,7 @@ Bool StreamHandlerLibav::read( PlaYUVerFrame* pcFrame ) if( bGotFrame ) { -#if( LIBAVCODEC_VERSION_MAJOR >= 57 ) +#ifdef FF_USER_CODEC_PARAM AVCodecParameters* codec_param = m_cStream->codecpar; av_image_copy_to_buffer( m_pStreamBuffer, m_uiFrameBufferSize, m_cFrame->data, m_cFrame->linesize, AVPixelFormat( codec_param->format ),