--- cinelerra/ffmpeg.C +++ cinelerra/ffmpeg.C @@ -23,7 +23,6 @@ int FFMPEG::init(char *codec_string) { - avcodec_init(); avcodec_register_all(); CodecID id = codec_id(codec_string); --- cinelerra/fileac3.C +++ cinelerra/fileac3.C @@ -84,7 +84,6 @@ if(wr) { - avcodec_init(); avcodec_register_all(); codec = avcodec_find_encoder(CODEC_ID_AC3); if(!codec) --- configure.ac +++ configure.ac @@ -497,7 +497,7 @@ AC_ARG_WITH([external-ffmpeg], AC_HELP_STRING([--with-external-ffmpeg], [use external ffmpeg library])) if test "x$with_external_ffmpeg" = "xyes"; then - PKG_CHECK_MODULES([FFMPEG_TEMP], [libavcodec libpostproc]) + PKG_CHECK_MODULES([FFMPEG_TEMP], [libavcodec libpostproc libavutil]) FFMPEG_FOLDER="" FFMPEG_EXTERNALTEXT="External ffmpeg" @@ -515,10 +515,10 @@ AC_MSG_RESULT($enable_ffmpeg_swscale) if test x"$enable_ffmpeg_swscale" = xyes; then dnl AC_DEFINE(HAVE_SWSCALER) - PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc libswscale]) + PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc libswscale libavutil]) FFMPEG_CFLAGS="$FFMPEG_CFLAGS -I/usr/include/libavcodec -I/usr/include/libswscale -DHAVE_SWSCALER" else - PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc]) + PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc libavutil]) fi FFMPEG_EXTERNALTEXT="External ffmpeg" else --- quicktime/mpeg4.c +++ quicktime/mpeg4.c @@ -624,12 +624,12 @@ else // ffmpeg section { + AVDictionary ** opts = NULL; static char *video_rc_eq="tex^qComp"; codec->encode_initialized[current_field] = 1; if(!ffmpeg_initialized) { ffmpeg_initialized = 1; - avcodec_init(); avcodec_register_all(); } @@ -673,8 +673,10 @@ context->b_quant_offset = 1.25; #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) context->error_resilience = FF_ER_CAREFUL; -#else +#elif LIBAVCODEC_VERSION_INT < ((54<<16)+(0<<8)+0) context->error_recognition = FF_ER_CAREFUL; +#else + context->err_recognition |= AV_EF_CAREFUL; #endif context->error_concealment = 3; context->frame_skip_cmp = FF_CMP_DCTMAX; @@ -699,7 +701,7 @@ context->profile= FF_PROFILE_UNKNOWN; context->rc_buffer_aggressivity = 1.0; context->level= FF_LEVEL_UNKNOWN; - context->flags |= CODEC_FLAG_H263P_UMV; + av_dict_set(opts, "umv", "1", 0); context->flags |= CODEC_FLAG_AC_PRED; // All the forbidden settings can be extracted from libavcodec/mpegvideo.c of ffmpeg... @@ -717,10 +719,8 @@ (codec->ffmpeg_id == CODEC_ID_MPEG4 || codec->ffmpeg_id == CODEC_ID_MPEG1VIDEO || codec->ffmpeg_id == CODEC_ID_MPEG2VIDEO || - codec->ffmpeg_id == CODEC_ID_H263P || - codec->ffmpeg_id == CODEC_FLAG_H263P_SLICE_STRUCT)) + codec->ffmpeg_id == CODEC_ID_H263P )) { - avcodec_thread_init(context, file->cpus); context->thread_count = file->cpus; } @@ -740,7 +740,7 @@ * codec->fix_bitrate, * codec->quantizer); */ - avcodec_open(context, codec->encoder[current_field]); + avcodec_open2(context, codec->encoder[current_field], opts); avcodec_get_frame_defaults(&codec->picture[current_field]); --- quicktime/qtffmpeg.c +++ quicktime/qtffmpeg.c @@ -54,7 +54,6 @@ if(!ffmpeg_initialized) { ffmpeg_initialized = 1; - avcodec_init(); avcodec_register_all(); } @@ -90,10 +89,8 @@ (ffmpeg_id == CODEC_ID_MPEG4 || ffmpeg_id == CODEC_ID_MPEG1VIDEO || ffmpeg_id == CODEC_ID_MPEG2VIDEO || - ffmpeg_id == CODEC_ID_H263P || - ffmpeg_id == CODEC_FLAG_H263P_SLICE_STRUCT)) + ffmpeg_id == CODEC_ID_H263P )) { - avcodec_thread_init(context, cpus); context->thread_count = cpus; } if(avcodec_open(context, --- quicktime/wma.c +++ quicktime/wma.c @@ -67,7 +67,6 @@ if(!ffmpeg_initialized) { ffmpeg_initialized = 1; - avcodec_init(); avcodec_register_all(); }