[FFmpeg-cvslog] Merge commit '74beead9bd596180bcac6108548fc0a86d8eb4ae'

Clément Bœsch git at videolan.org
Tue Jun 21 13:34:15 CEST 2016


ffmpeg | branch: master | Clément Bœsch <clement at stupeflix.com> | Tue Jun 21 13:31:15 2016 +0200| [ba5100ce84644923537f997dea39bf2e7b4b9c20] | committer: Clément Bœsch

Merge commit '74beead9bd596180bcac6108548fc0a86d8eb4ae'

* commit '74beead9bd596180bcac6108548fc0a86d8eb4ae':
  mmaldec: limit internal buffering

See 14a90c9ef09a4b046500dceab5ca1875e330a376

The introduction of the MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS check is
merged.

Merged-by: Clément Bœsch <clement at stupeflix.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ba5100ce84644923537f997dea39bf2e7b4b9c20
---

 configure            |    5 ++---
 libavcodec/mmaldec.c |    2 ++
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index a4dd55b..f9e6ab8 100755
--- a/configure
+++ b/configure
@@ -2009,6 +2009,7 @@ HAVE_LIST="
     libdc1394_2
     makeinfo
     makeinfo_html
+    MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS
     perl
     pod2man
     sdl
@@ -5747,9 +5748,7 @@ enabled mmal              && { check_lib interface/mmal/mmal.h mmal_port_connect
                                     check_lib interface/mmal/mmal.h mmal_port_connect ; }
                                 check_lib interface/mmal/mmal.h mmal_port_connect ; } ||
                                die "ERROR: mmal not found"; }
-enabled mmal &&
-    (check_code cc interface/mmal/mmal.h "MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS" ||
-     die "ERROR: mmal firmware headers too old")
+enabled mmal && check_func_headers interface/mmal/mmal.h "MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS"
 
 enabled netcdf            && require_pkg_config netcdf netcdf.h nc_inq_libvers
 enabled nvenc             && { check_header nvEncodeAPI.h || die "ERROR: nvEncodeAPI.h not found."; } &&
diff --git a/libavcodec/mmaldec.c b/libavcodec/mmaldec.c
index 52232d5..c85fb4e 100644
--- a/libavcodec/mmaldec.c
+++ b/libavcodec/mmaldec.c
@@ -384,10 +384,12 @@ static av_cold int ffmmal_init_decoder(AVCodecContext *avctx)
     av_get_codec_tag_string(tmp, sizeof(tmp), format_in->encoding);
     av_log(avctx, AV_LOG_DEBUG, "Using MMAL %s encoding.\n", tmp);
 
+#if HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS
     if (mmal_port_parameter_set_uint32(decoder->input[0], MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS,
                                        -1 - ctx->extra_decoder_buffers)) {
         av_log(avctx, AV_LOG_WARNING, "Could not set input buffering limit.\n");
     }
+#endif
 
     if ((status = mmal_port_format_commit(decoder->input[0])))
         goto fail;


======================================================================

diff --cc configure
index a4dd55b,e395e38..f9e6ab8
--- a/configure
+++ b/configure
@@@ -2007,13 -1645,9 +2007,14 @@@ HAVE_LIST=
      libc_msvcrt
      libdc1394_1
      libdc1394_2
 +    makeinfo
 +    makeinfo_html
+     MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS
 +    perl
 +    pod2man
      sdl
      section_data_rel_ro
 +    texi2html
      threads
      vaapi_drm
      vaapi_x11
@@@ -5747,32 -4629,7 +5748,30 @@@ enabled mmal              && { check_li
                                      check_lib interface/mmal/mmal.h mmal_port_connect ; }
                                  check_lib interface/mmal/mmal.h mmal_port_connect ; } ||
                                 die "ERROR: mmal not found"; }
- enabled mmal &&
-     (check_code cc interface/mmal/mmal.h "MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS" ||
-      die "ERROR: mmal firmware headers too old")
+ enabled mmal && check_func_headers interface/mmal/mmal.h "MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS"
 +
 +enabled netcdf            && require_pkg_config netcdf netcdf.h nc_inq_libvers
 +enabled nvenc             && { check_header nvEncodeAPI.h || die "ERROR: nvEncodeAPI.h not found."; } &&
 +                             { check_cpp_condition nvEncodeAPI.h "NVENCAPI_MAJOR_VERSION >= 6" ||
 +                               die "ERROR: NVENC API version 5 or older is not supported"; } &&
 +                             { [ $target_os != cygwin ] || die "ERROR: NVENC is not supported on Cygwin currently."; }
 +enabled openal            && { { for al_libs in "${OPENAL_LIBS}" "-lopenal" "-lOpenAL32"; do
 +                               check_lib 'AL/al.h' alGetError "${al_libs}" && break; done } ||
 +                               die "ERROR: openal not found"; } &&
 +                             { check_cpp_condition "AL/al.h" "defined(AL_VERSION_1_1)" ||
 +                               die "ERROR: openal must be installed and version must be 1.1 or compatible"; }
 +enabled opencl            && { check_lib2 OpenCL/cl.h clEnqueueNDRangeKernel -Wl,-framework,OpenCL ||
 +                               check_lib2 CL/cl.h clEnqueueNDRangeKernel -lOpenCL ||
 +                               die "ERROR: opencl not found"; } &&
 +                             { check_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" ||
 +                               check_cpp_condition "CL/cl.h" "defined(CL_VERSION_1_2)" ||
 +                               die "ERROR: opencl must be installed and version must be 1.2 or compatible"; }
 +enabled opengl            && { check_lib GL/glx.h glXGetProcAddress "-lGL" ||
 +                               check_lib2 windows.h wglGetProcAddress "-lopengl32 -lgdi32" ||
 +                               check_lib2 OpenGL/gl3.h glGetError "-Wl,-framework,OpenGL" ||
 +                               check_lib2 ES2/gl.h glGetError "-isysroot=${sysroot} -Wl,-framework,OpenGLES" ||
 +                               die "ERROR: opengl not found."
 +                             }
  enabled omx_rpi && enable omx
  enabled omx               && { check_header OMX_Core.h ||
                                  { ! enabled cross_compile && enabled omx_rpi && {



More information about the ffmpeg-cvslog mailing list