[FFmpeg-cvslog] avutil/cuda_check: avoid pointlessly exporting same symbol from two libraries

Timo Rothenpieler git at videolan.org
Thu Feb 14 14:39:22 EET 2019


ffmpeg | branch: master | Timo Rothenpieler <timo at rothenpieler.org> | Fri Feb  8 22:47:01 2019 +0100| [15c6390139096b7e7634bf0f6aaab1cd8b3aa509] | committer: Timo Rothenpieler

avutil/cuda_check: avoid pointlessly exporting same symbol from two libraries

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

 libavcodec/Makefile     |  6 +++---
 libavcodec/cuda_check.c |  1 -
 libavutil/Makefile      |  2 +-
 libavutil/cuda_check.c  | 45 ---------------------------------------------
 libavutil/cuda_check.h  | 24 +++++++++++++++++++++---
 tests/ref/fate/source   |  2 --
 6 files changed, 25 insertions(+), 55 deletions(-)

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 21c39281e4..15c43a8a6a 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -124,7 +124,7 @@ OBJS-$(CONFIG_MPEGVIDEOENC)            += mpegvideo_enc.o mpeg12data.o  \
                                           motion_est.o ratecontrol.o    \
                                           mpegvideoencdsp.o
 OBJS-$(CONFIG_MSS34DSP)                += mss34dsp.o
-OBJS-$(CONFIG_NVENC)                   += nvenc.o cuda_check.o
+OBJS-$(CONFIG_NVENC)                   += nvenc.o
 OBJS-$(CONFIG_PIXBLOCKDSP)             += pixblockdsp.o
 OBJS-$(CONFIG_QPELDSP)                 += qpeldsp.o
 OBJS-$(CONFIG_QSV)                     += qsv.o
@@ -347,7 +347,7 @@ OBJS-$(CONFIG_H264_DECODER)            += h264dec.o h264_cabac.o h264_cavlc.o \
                                           h264_refs.o h264_sei.o \
                                           h264_slice.o h264data.o
 OBJS-$(CONFIG_H264_AMF_ENCODER)        += amfenc_h264.o
-OBJS-$(CONFIG_H264_CUVID_DECODER)      += cuviddec.o cuda_check.o
+OBJS-$(CONFIG_H264_CUVID_DECODER)      += cuviddec.o
 OBJS-$(CONFIG_H264_MEDIACODEC_DECODER) += mediacodecdec.o
 OBJS-$(CONFIG_H264_MMAL_DECODER)       += mmaldec.o
 OBJS-$(CONFIG_H264_NVENC_ENCODER)      += nvenc_h264.o
@@ -856,7 +856,7 @@ OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER)       += adpcmenc.o adpcm_data.o
 # hardware accelerators
 OBJS-$(CONFIG_D3D11VA)                    += dxva2.o
 OBJS-$(CONFIG_DXVA2)                      += dxva2.o
-OBJS-$(CONFIG_NVDEC)                      += nvdec.o cuda_check.o
+OBJS-$(CONFIG_NVDEC)                      += nvdec.o
 OBJS-$(CONFIG_VAAPI)                      += vaapi_decode.o
 OBJS-$(CONFIG_VIDEOTOOLBOX)               += videotoolbox.o
 OBJS-$(CONFIG_VDPAU)                      += vdpau.o
diff --git a/libavcodec/cuda_check.c b/libavcodec/cuda_check.c
deleted file mode 100644
index a1ebb88882..0000000000
--- a/libavcodec/cuda_check.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "libavutil/cuda_check.c"
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 7dcb92b06b..53208fc587 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -160,7 +160,7 @@ OBJS = adler32.o                                                        \
        xtea.o                                                           \
        tea.o                                                            \
 
-OBJS-$(CONFIG_CUDA)                     += hwcontext_cuda.o cuda_check.o
+OBJS-$(CONFIG_CUDA)                     += hwcontext_cuda.o
 OBJS-$(CONFIG_D3D11VA)                  += hwcontext_d3d11va.o
 OBJS-$(CONFIG_DXVA2)                    += hwcontext_dxva2.o
 OBJS-$(CONFIG_LIBDRM)                   += hwcontext_drm.o
diff --git a/libavutil/cuda_check.c b/libavutil/cuda_check.c
deleted file mode 100644
index 95c0256d12..0000000000
--- a/libavutil/cuda_check.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of FFmpeg.
- *
- * FFmpeg is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * FFmpeg is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "compat/cuda/dynlink_loader.h"
-#include "libavutil/cuda_check.h"
-
-int ff_cuda_check(void *avctx,
-                  void *cuGetErrorName_fn,
-                  void *cuGetErrorString_fn,
-                  CUresult err, const char *func)
-{
-    const char *err_name;
-    const char *err_string;
-
-    av_log(avctx, AV_LOG_TRACE, "Calling %s\n", func);
-
-    if (err == CUDA_SUCCESS)
-        return 0;
-
-    ((tcuGetErrorName *)cuGetErrorName_fn)(err, &err_name);
-    ((tcuGetErrorString *)cuGetErrorString_fn)(err, &err_string);
-
-    av_log(avctx, AV_LOG_ERROR, "%s failed", func);
-    if (err_name && err_string)
-        av_log(avctx, AV_LOG_ERROR, " -> %s: %s", err_name, err_string);
-    av_log(avctx, AV_LOG_ERROR, "\n");
-
-    return AVERROR_EXTERNAL;
-}
-
diff --git a/libavutil/cuda_check.h b/libavutil/cuda_check.h
index b8e5f65cbb..ec1705b000 100644
--- a/libavutil/cuda_check.h
+++ b/libavutil/cuda_check.h
@@ -23,10 +23,28 @@
 /**
  * Wrap a CUDA function call and print error information if it fails.
  */
+static inline int ff_cuda_check(void *avctx,
+                                void *cuGetErrorName_fn, void *cuGetErrorString_fn,
+                                CUresult err, const char *func)
+{
+    const char *err_name;
+    const char *err_string;
 
-int ff_cuda_check(void *avctx,
-                  void *cuGetErrorName_fn, void *cuGetErrorString_fn,
-                  CUresult err, const char *func);
+    av_log(avctx, AV_LOG_TRACE, "Calling %s\n", func);
+
+    if (err == CUDA_SUCCESS)
+        return 0;
+
+    ((tcuGetErrorName *)cuGetErrorName_fn)(err, &err_name);
+    ((tcuGetErrorString *)cuGetErrorString_fn)(err, &err_string);
+
+    av_log(avctx, AV_LOG_ERROR, "%s failed", func);
+    if (err_name && err_string)
+        av_log(avctx, AV_LOG_ERROR, " -> %s: %s", err_name, err_string);
+    av_log(avctx, AV_LOG_ERROR, "\n");
+
+    return AVERROR_EXTERNAL;
+}
 
 /**
  * Convenience wrapper for ff_cuda_check when directly linking libcuda.
diff --git a/tests/ref/fate/source b/tests/ref/fate/source
index 0c98a0638a..8e12582ce8 100644
--- a/tests/ref/fate/source
+++ b/tests/ref/fate/source
@@ -1,7 +1,6 @@
 Files without standard license headers:
 compat/avisynth/windowsPorts/basicDataTypeConversions.h
 compat/avisynth/windowsPorts/windows2linux.h
-libavcodec/cuda_check.c
 libavcodec/file_open.c
 libavcodec/ilbcdata.h
 libavcodec/ilbcdec.c
@@ -10,7 +9,6 @@ libavcodec/log2_tab.c
 libavcodec/reverse.c
 libavdevice/file_open.c
 libavdevice/reverse.c
-libavfilter/cuda_check.c
 libavfilter/log2_tab.c
 libavformat/file_open.c
 libavformat/golomb_tab.c



More information about the ffmpeg-cvslog mailing list