From 05f04384a10cb673abea7749cd319971c0017769 Mon Sep 17 00:00:00 2001 From: Anton Mitrofanov Date: Tue, 8 Oct 2013 23:20:40 +0400 Subject: [PATCH 1/1] Update to current libav/ffmpeg API --- configure | 6 +++--- filters/video/resize.c | 30 +++++++++++++++--------------- input/avs.c | 8 ++++---- input/ffms.c | 6 +++--- input/lavf.c | 10 +++++----- x264.c | 4 ++-- 6 files changed, 32 insertions(+), 32 deletions(-) diff --git a/configure b/configure index d35561cf..132e9e2a 100755 --- a/configure +++ b/configure @@ -858,10 +858,10 @@ if [ "$swscale" = "auto" ] ; then [ -z "$SWSCALE_LIBS" ] && SWSCALE_LIBS="-lswscale -lavutil" if cc_check "libswscale/swscale.h" "$SWSCALE_CFLAGS $SWSCALE_LIBS" "sws_init_context(0,0,0);" ; then - if cpp_check "libavutil/pixdesc.h" "$SWSCALE_CFLAGS $SWSCALE_LIBS" "defined(PIX_FMT_RGB)" ; then + if cpp_check "libavutil/pixdesc.h" "$SWSCALE_CFLAGS $SWSCALE_LIBS" "defined(AV_PIX_FMT_FLAG_RGB)" ; then swscale="yes" else - echo "Warning: PIX_FMT_RGB is missing from libavutil, update for swscale support" + echo "Warning: AV_PIX_FMT_FLAG_RGB is missing from libavutil, update for swscale support" fi fi fi @@ -874,7 +874,7 @@ if [ "$lavf" = "auto" ] ; then fi if [ -z "$LAVF_LIBS" -a -z "$LAVF_CFLAGS" ]; then LAVF_LIBS="-lavformat" - for lib in -lpostproc -lavcodec -lavcore -lswscale -lavutil -lm -lz -lbz2 $libpthread -lavifil32; do + for lib in -lpostproc -lavcodec -lavcore -lswscale -lavutil -lm -lz -lbz2 $libpthread -lavifil32 -lws2_32; do cc_check "" $lib && LAVF_LIBS="$LAVF_LIBS $lib" done fi diff --git a/filters/video/resize.c b/filters/video/resize.c index 19747105..5d8a4890 100644 --- a/filters/video/resize.c +++ b/filters/video/resize.c @@ -45,8 +45,8 @@ static int full_check( video_info_t *info, x264_param_t *param ) #include #include -#ifndef PIX_FMT_BGRA64 -#define PIX_FMT_BGRA64 PIX_FMT_NONE +#ifndef AV_PIX_FMT_BGRA64 +#define AV_PIX_FMT_BGRA64 AV_PIX_FMT_NONE #endif typedef struct @@ -143,19 +143,19 @@ static int convert_csp_to_pix_fmt( int csp ) switch( csp&X264_CSP_MASK ) { case X264_CSP_YV12: /* specially handled via swapping chroma */ - case X264_CSP_I420: return csp&X264_CSP_HIGH_DEPTH ? PIX_FMT_YUV420P16 : PIX_FMT_YUV420P; + case X264_CSP_I420: return csp&X264_CSP_HIGH_DEPTH ? AV_PIX_FMT_YUV420P16 : AV_PIX_FMT_YUV420P; case X264_CSP_YV16: /* specially handled via swapping chroma */ - case X264_CSP_I422: return csp&X264_CSP_HIGH_DEPTH ? PIX_FMT_YUV422P16 : PIX_FMT_YUV422P; + case X264_CSP_I422: return csp&X264_CSP_HIGH_DEPTH ? AV_PIX_FMT_YUV422P16 : AV_PIX_FMT_YUV422P; case X264_CSP_YV24: /* specially handled via swapping chroma */ - case X264_CSP_I444: return csp&X264_CSP_HIGH_DEPTH ? PIX_FMT_YUV444P16 : PIX_FMT_YUV444P; - case X264_CSP_RGB: return csp&X264_CSP_HIGH_DEPTH ? PIX_FMT_RGB48 : PIX_FMT_RGB24; - case X264_CSP_BGR: return csp&X264_CSP_HIGH_DEPTH ? PIX_FMT_BGR48 : PIX_FMT_BGR24; - case X264_CSP_BGRA: return csp&X264_CSP_HIGH_DEPTH ? PIX_FMT_BGRA64 : PIX_FMT_BGRA; + case X264_CSP_I444: return csp&X264_CSP_HIGH_DEPTH ? AV_PIX_FMT_YUV444P16 : AV_PIX_FMT_YUV444P; + case X264_CSP_RGB: return csp&X264_CSP_HIGH_DEPTH ? AV_PIX_FMT_RGB48 : AV_PIX_FMT_RGB24; + case X264_CSP_BGR: return csp&X264_CSP_HIGH_DEPTH ? AV_PIX_FMT_BGR48 : AV_PIX_FMT_BGR24; + case X264_CSP_BGRA: return csp&X264_CSP_HIGH_DEPTH ? AV_PIX_FMT_BGRA64 : AV_PIX_FMT_BGRA; /* the next csp has no equivalent 16bit depth in swscale */ - case X264_CSP_NV12: return csp&X264_CSP_HIGH_DEPTH ? PIX_FMT_NONE : PIX_FMT_NV12; + case X264_CSP_NV12: return csp&X264_CSP_HIGH_DEPTH ? AV_PIX_FMT_NONE : AV_PIX_FMT_NV12; /* the next csp is no supported by swscale at all */ case X264_CSP_NV16: - default: return PIX_FMT_NONE; + default: return AV_PIX_FMT_NONE; } } @@ -175,12 +175,12 @@ static int pick_closest_supported_csp( int csp ) int pix_fmt = convert_csp_to_pix_fmt( csp ); // first determine the base csp int ret = X264_CSP_NONE; - const AVPixFmtDescriptor *pix_desc = av_pix_fmt_descriptors+pix_fmt; - if( (unsigned)pix_fmt >= PIX_FMT_NB || !pix_desc->name ) + const AVPixFmtDescriptor *pix_desc = av_pix_fmt_desc_get( pix_fmt ); + if( !pix_desc || !pix_desc->name ) return ret; const char *pix_fmt_name = pix_desc->name; - int is_rgb = pix_desc->flags & (PIX_FMT_RGB | PIX_FMT_PAL); + int is_rgb = pix_desc->flags & (AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PAL); int is_bgr = !!strstr( pix_fmt_name, "bgr" ); if( is_bgr || is_rgb ) { @@ -462,11 +462,11 @@ static int init( hnd_t *handle, cli_vid_filter_t *filter, video_info_t *info, x2 int dst_pix_fmt_inv = convert_csp_to_pix_fmt( h->dst_csp ^ X264_CSP_HIGH_DEPTH ); /* confirm swscale can support this conversion */ - FAIL_IF_ERROR( src_pix_fmt == PIX_FMT_NONE && src_pix_fmt_inv != PIX_FMT_NONE, + FAIL_IF_ERROR( src_pix_fmt == AV_PIX_FMT_NONE && src_pix_fmt_inv != AV_PIX_FMT_NONE, "input colorspace %s with bit depth %d is not supported\n", av_get_pix_fmt_name( src_pix_fmt_inv ), info->csp & X264_CSP_HIGH_DEPTH ? 16 : 8 ); FAIL_IF_ERROR( !sws_isSupportedInput( src_pix_fmt ), "input colorspace %s is not supported\n", av_get_pix_fmt_name( src_pix_fmt ) ) - FAIL_IF_ERROR( h->dst.pix_fmt == PIX_FMT_NONE && dst_pix_fmt_inv != PIX_FMT_NONE, + FAIL_IF_ERROR( h->dst.pix_fmt == AV_PIX_FMT_NONE && dst_pix_fmt_inv != AV_PIX_FMT_NONE, "input colorspace %s with bit depth %d is not supported\n", av_get_pix_fmt_name( dst_pix_fmt_inv ), h->dst_csp & X264_CSP_HIGH_DEPTH ? 16 : 8 ); FAIL_IF_ERROR( !sws_isSupportedOutput( h->dst.pix_fmt ), "output colorspace %s is not supported\n", av_get_pix_fmt_name( h->dst.pix_fmt ) ) diff --git a/input/avs.c b/input/avs.c index 6e8801c2..3c1f23b2 100644 --- a/input/avs.c +++ b/input/avs.c @@ -338,11 +338,11 @@ static int open_file( char *psz_filename, hnd_t *p_handle, video_info_t *info, c info->csp = X264_CSP_I420; #if HAVE_SWSCALE else if( avs_is_yuy2( vi ) ) - info->csp = PIX_FMT_YUYV422 | X264_CSP_OTHER; + info->csp = AV_PIX_FMT_YUYV422 | X264_CSP_OTHER; else if( avs_is_yv411( vi ) ) - info->csp = PIX_FMT_YUV411P | X264_CSP_OTHER; + info->csp = AV_PIX_FMT_YUV411P | X264_CSP_OTHER; else if( avs_is_y8( vi ) ) - info->csp = PIX_FMT_GRAY8 | X264_CSP_OTHER; + info->csp = AV_PIX_FMT_GRAY8 | X264_CSP_OTHER; #endif else info->csp = X264_CSP_NONE; @@ -361,7 +361,7 @@ static int picture_alloc( cli_pic_t *pic, int csp, int width, int height ) if( cli_csp ) pic->img.planes = cli_csp->planes; #if HAVE_SWSCALE - else if( csp == (PIX_FMT_YUV411P | X264_CSP_OTHER) ) + else if( csp == (AV_PIX_FMT_YUV411P | X264_CSP_OTHER) ) pic->img.planes = 3; else pic->img.planes = 1; //y8 and yuy2 are one plane diff --git a/input/ffms.c b/input/ffms.c index 5c80fd9d..c52ed03f 100644 --- a/input/ffms.c +++ b/input/ffms.c @@ -69,9 +69,9 @@ static int handle_jpeg( int csp, int *fullrange ) { switch( csp ) { - case PIX_FMT_YUVJ420P: *fullrange = 1; return PIX_FMT_YUV420P; - case PIX_FMT_YUVJ422P: *fullrange = 1; return PIX_FMT_YUV422P; - case PIX_FMT_YUVJ444P: *fullrange = 1; return PIX_FMT_YUV444P; + case AV_PIX_FMT_YUVJ420P: *fullrange = 1; return AV_PIX_FMT_YUV420P; + case AV_PIX_FMT_YUVJ422P: *fullrange = 1; return AV_PIX_FMT_YUV422P; + case AV_PIX_FMT_YUVJ444P: *fullrange = 1; return AV_PIX_FMT_YUV444P; default: return csp; } } diff --git a/input/lavf.c b/input/lavf.c index c4289c8d..1cc592a2 100644 --- a/input/lavf.c +++ b/input/lavf.c @@ -53,9 +53,9 @@ static int handle_jpeg( int csp, int *fullrange ) { switch( csp ) { - case PIX_FMT_YUVJ420P: *fullrange = 1; return PIX_FMT_YUV420P; - case PIX_FMT_YUVJ422P: *fullrange = 1; return PIX_FMT_YUV422P; - case PIX_FMT_YUVJ444P: *fullrange = 1; return PIX_FMT_YUV444P; + case AV_PIX_FMT_YUVJ420P: *fullrange = 1; return AV_PIX_FMT_YUV420P; + case AV_PIX_FMT_YUVJ422P: *fullrange = 1; return AV_PIX_FMT_YUV422P; + case AV_PIX_FMT_YUVJ444P: *fullrange = 1; return AV_PIX_FMT_YUV444P; default: return csp; } } @@ -162,7 +162,7 @@ static int open_file( char *psz_filename, hnd_t *p_handle, video_info_t *info, c if( opt->resolution ) { av_dict_set( &options, "video_size", opt->resolution, 0 ); - const char *csp = opt->colorspace ? opt->colorspace : av_get_pix_fmt_name( PIX_FMT_YUV420P ); + const char *csp = opt->colorspace ? opt->colorspace : av_get_pix_fmt_name( AV_PIX_FMT_YUV420P ); av_dict_set( &options, "pixel_format", csp, 0 ); } @@ -210,7 +210,7 @@ static int open_file( char *psz_filename, hnd_t *p_handle, video_info_t *info, c /* avisynth stores rgb data vertically flipped. */ if( !strcasecmp( get_filename_extension( psz_filename ), "avs" ) && - (c->pix_fmt == PIX_FMT_BGRA || c->pix_fmt == PIX_FMT_BGR24) ) + (c->pix_fmt == AV_PIX_FMT_BGRA || c->pix_fmt == AV_PIX_FMT_BGR24) ) info->csp |= X264_CSP_VFLIP; *p_handle = h; diff --git a/x264.c b/x264.c index 3415cd65..8a0a3320 100644 --- a/x264.c +++ b/x264.c @@ -437,7 +437,7 @@ static void print_csp_names( int longhelp ) printf( " - valid csps for `lavf' demuxer:\n" ); printf( INDENT ); size_t line_len = strlen( INDENT ); - for( enum PixelFormat i = PIX_FMT_NONE+1; i < PIX_FMT_NB; i++ ) + for( enum PixelFormat i = AV_PIX_FMT_NONE+1; i < AV_PIX_FMT_NB; i++ ) { const char *pfname = av_get_pix_fmt_name( i ); if( pfname ) @@ -450,7 +450,7 @@ static void print_csp_names( int longhelp ) } printf( "%s", pfname ); line_len += name_len; - if( i+1 < PIX_FMT_NB ) + if( i+1 < AV_PIX_FMT_NB ) { printf( ", " ); line_len += 2; -- 2.39.2