[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