Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/filters/transform/MPCVideoDec/FfmpegContext.cpp6
-rw-r--r--src/filters/transform/MpaDecFilter/MpaDecFilter.cpp4
-rw-r--r--src/thirdparty/ffmpeg/Makefile18
-rw-r--r--src/thirdparty/ffmpeg/config.h3
-rw-r--r--src/thirdparty/ffmpeg/custom_code.txt5
-rw-r--r--src/thirdparty/ffmpeg/libavcodec/amrwbdec.c2
-rw-r--r--src/thirdparty/ffmpeg/libavcodec/h263dec.c6
-rw-r--r--src/thirdparty/ffmpeg/libavcodec/h264_dxva.c2
-rw-r--r--src/thirdparty/ffmpeg/libavcodec/lsp.c2
-rw-r--r--src/thirdparty/ffmpeg/libavcodec/mips/amrwbdec_mips.h62
-rw-r--r--src/thirdparty/ffmpeg/libavcodec/mips/lsp_mips.h108
-rw-r--r--src/thirdparty/ffmpeg/libavcodec/mpeg12.h2
-rw-r--r--src/thirdparty/ffmpeg/libavutil/common.h8
-rw-r--r--src/thirdparty/ffmpeg/libavutil/log.h12
-rw-r--r--src/thirdparty/ffmpeg/libavutil/mem.h12
15 files changed, 195 insertions, 57 deletions
diff --git a/src/filters/transform/MPCVideoDec/FfmpegContext.cpp b/src/filters/transform/MPCVideoDec/FfmpegContext.cpp
index df8261d03..965e47b81 100644
--- a/src/filters/transform/MPCVideoDec/FfmpegContext.cpp
+++ b/src/filters/transform/MPCVideoDec/FfmpegContext.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2007-2012 see Authors.txt
+ * (C) 2007-2013 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,7 +22,9 @@
#include <WinNT.h>
#include <vfwmsgs.h>
#include <sys/timeb.h>
+#if defined(STANDALONE_FILTER) && defined(_WIN64)
#include <time.h> // for the _time64 workaround
+#endif
#include "FfmpegContext.h"
#include "../../../DSUtil/SysVersion.h"
@@ -54,8 +56,10 @@ extern "C" {
#if defined(STANDALONE_FILTER)
void* __imp_toupper = toupper;
+#if defined(_WIN64)
void* __imp_time64 = _time64;
#endif
+#endif
#define CHECK_AVC_L52_SIZE(w, h) ((w) <= 4096 && (h) <= 4096 && (w) * (h) <= 36864 * 16 * 16)
diff --git a/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp b/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp
index 1acbba1dc..583181ffd 100644
--- a/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp
+++ b/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2012 see Authors.txt
+ * (C) 2006-2013 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -33,7 +33,9 @@
#ifdef STANDALONE_FILTER
void* __imp_toupper = toupper;
+#if defined(_WIN64)
void* __imp_time64 = _time64;
+#endif
#include <InitGuid.h>
diff --git a/src/thirdparty/ffmpeg/Makefile b/src/thirdparty/ffmpeg/Makefile
index b1e809bc1..c8d5d6f45 100644
--- a/src/thirdparty/ffmpeg/Makefile
+++ b/src/thirdparty/ffmpeg/Makefile
@@ -16,6 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
CC = gcc.exe
+
ifeq ($(VS2012),yes)
BIN_DIR = ../../../bin12
else
@@ -23,17 +24,18 @@ else
endif
ZLIB_DIR = ../zlib
+ifeq ($(DEBUG),yes)
+ OUT_DIR_PREFIX = Debug
+else
+ OUT_DIR_PREFIX = Release
+endif
+
ifeq ($(64BIT),yes)
MY_ARCH = x64
else
MY_ARCH = Win32
endif
-ifeq ($(DEBUG),yes)
- OUT_DIR_PREFIX = Debug
-else
- OUT_DIR_PREFIX = Release
-endif
OBJ_DIR = $(BIN_DIR)/obj/$(OUT_DIR_PREFIX)_$(MY_ARCH)/ffmpeg/
OUT_LIB_DIR = $(BIN_DIR)/lib/$(OUT_DIR_PREFIX)_$(MY_ARCH)
@@ -41,9 +43,9 @@ OUT_LIB = $(OUT_LIB_DIR)/ffmpeg.lib
# Compiler and yasm flags
-CFLAGS = -I. -I.. -Ilibavcodec -I$(ZLIB_DIR) -DHAVE_AV_CONFIG_H \
- -D_ISOC99_SOURCE -D_XOPEN_SOURCE=600 -D_LARGEFILE_SOURCE \
- -D_FILE_OFFSET_BITS=64 -std=gnu99 -pipe -mthreads
+CFLAGS = -I. -I.. -I$(ZLIB_DIR) -DHAVE_AV_CONFIG_H -D_ISOC99_SOURCE \
+ -D_XOPEN_SOURCE=600 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
+ -std=gnu99 -pipe -mthreads
OPTFLAGS = -O2 -fno-common -fno-tree-vectorize -fomit-frame-pointer
YASMFLAGS = -I. -Pconfig.asm
diff --git a/src/thirdparty/ffmpeg/config.h b/src/thirdparty/ffmpeg/config.h
index a27eb30ff..e2d53b883 100644
--- a/src/thirdparty/ffmpeg/config.h
+++ b/src/thirdparty/ffmpeg/config.h
@@ -300,6 +300,8 @@
#define CONFIG_LIBXVID 0
#define CONFIG_LPC 0
#define CONFIG_MDCT 1
+#define CONFIG_MEMALIGN_HACK 0
+#define CONFIG_MEMORY_POISONING 0
#define CONFIG_MPEGAUDIODSP 1
#define CONFIG_RDFT 1
#define CONFIG_RUNTIME_CPUDETECT 1
@@ -344,6 +346,7 @@ Note: when adding a new codec, you have to:
#define CONFIG_H261_DECODER 0
#define CONFIG_H263_DECODER INTERNAL_DECODER_H263
#define CONFIG_H263I_DECODER INTERNAL_DECODER_H263
+#define CONFIG_H263P_DECODER INTERNAL_DECODER_H263
#define CONFIG_H264_DECODER (INTERNAL_DECODER_H264 || INTERNAL_DECODER_H264_DXVA)
#define CONFIG_HUFFYUV_DECODER 0
#define CONFIG_INDEO2_DECODER 0
diff --git a/src/thirdparty/ffmpeg/custom_code.txt b/src/thirdparty/ffmpeg/custom_code.txt
index 8cede39c8..5198d4995 100644
--- a/src/thirdparty/ffmpeg/custom_code.txt
+++ b/src/thirdparty/ffmpeg/custom_code.txt
@@ -6,10 +6,8 @@ The following files have MPC-HC specific custom code (compared to FFmpeg):
* libavcodec/allcodecs.c
* libavcodec/avcodec.h
-* libavcodec/h263dec.c
* libavcodec/h264.c
* libavcodec/h264.h
-* libavcodec/lsp.c
* libavcodec/mpeg12.c
* libavcodec/mpeg12.h
* libavcodec/mpegvideo.c
@@ -18,10 +16,7 @@ The following files have MPC-HC specific custom code (compared to FFmpeg):
* libavcodec/utils.c
* libavcodec/vc1dec.c
-* libavutil/common.h
-* libavutil/log.h
* libavutil/mem.c
-* libavutil/mem.h
The following files are available only in MPC-HC (compared to FFmpeg):
diff --git a/src/thirdparty/ffmpeg/libavcodec/amrwbdec.c b/src/thirdparty/ffmpeg/libavcodec/amrwbdec.c
index dc13a7e0a..47aad75ad 100644
--- a/src/thirdparty/ffmpeg/libavcodec/amrwbdec.c
+++ b/src/thirdparty/ffmpeg/libavcodec/amrwbdec.c
@@ -42,9 +42,7 @@
#include "amr.h"
#include "amrwbdata.h"
-#if HAVE_MIPSFPU // MPC-HC patch
#include "mips/amrwbdec_mips.h"
-#endif
typedef struct {
AVFrame avframe; ///< AVFrame for decoded samples
diff --git a/src/thirdparty/ffmpeg/libavcodec/h263dec.c b/src/thirdparty/ffmpeg/libavcodec/h263dec.c
index 3586d4ff7..70c5918e5 100644
--- a/src/thirdparty/ffmpeg/libavcodec/h263dec.c
+++ b/src/thirdparty/ffmpeg/libavcodec/h263dec.c
@@ -381,10 +381,8 @@ uint64_t time= rdtsc();
next= ff_mpeg4_find_frame_end(&s->parse_context, buf, buf_size);
}else if(CONFIG_H263_DECODER && s->codec_id==AV_CODEC_ID_H263){
next= ff_h263_find_frame_end(&s->parse_context, buf, buf_size);
-// ==> Start patch MPC
-/* }else if(CONFIG_H263P_DECODER && s->codec_id==AV_CODEC_ID_H263P){
- next= ff_h263_find_frame_end(&s->parse_context, buf, buf_size);*/
-// <== End patch MPC
+ }else if(CONFIG_H263P_DECODER && s->codec_id==AV_CODEC_ID_H263P){
+ next= ff_h263_find_frame_end(&s->parse_context, buf, buf_size);
}else{
av_log(s->avctx, AV_LOG_ERROR, "this codec does not support truncated bitstreams\n");
return AVERROR(EINVAL);
diff --git a/src/thirdparty/ffmpeg/libavcodec/h264_dxva.c b/src/thirdparty/ffmpeg/libavcodec/h264_dxva.c
index c8a10500e..f04bba457 100644
--- a/src/thirdparty/ffmpeg/libavcodec/h264_dxva.c
+++ b/src/thirdparty/ffmpeg/libavcodec/h264_dxva.c
@@ -19,7 +19,7 @@
*/
#include <Windows.h>
-#include "dxva.h"
+#include "libavcodec/dxva.h"
static void fill_dxva_slice_long(H264Context *h)
diff --git a/src/thirdparty/ffmpeg/libavcodec/lsp.c b/src/thirdparty/ffmpeg/libavcodec/lsp.c
index 612415374..527805e56 100644
--- a/src/thirdparty/ffmpeg/libavcodec/lsp.c
+++ b/src/thirdparty/ffmpeg/libavcodec/lsp.c
@@ -27,9 +27,7 @@
#define FRAC_BITS 14
#include "mathops.h"
#include "lsp.h"
-#if HAVE_MIPSFPU // MPC-HC patch
#include "libavcodec/mips/lsp_mips.h"
-#endif
#include "libavutil/avassert.h"
void ff_acelp_reorder_lsf(int16_t* lsfq, int lsfq_min_distance, int lsfq_min, int lsfq_max, int lp_order)
diff --git a/src/thirdparty/ffmpeg/libavcodec/mips/amrwbdec_mips.h b/src/thirdparty/ffmpeg/libavcodec/mips/amrwbdec_mips.h
new file mode 100644
index 000000000..a469918d2
--- /dev/null
+++ b/src/thirdparty/ffmpeg/libavcodec/mips/amrwbdec_mips.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2012
+ * MIPS Technologies, Inc., California.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the MIPS Technologies, Inc., nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE MIPS TECHNOLOGIES, INC. ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE MIPS TECHNOLOGIES, INC. BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Author: Nedeljko Babic (nbabic@mips.com)
+ *
+ * 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
+ */
+
+/**
+ * @file
+ * Reference: libavcodec/amrwbdec.c
+ */
+#ifndef AVCODEC_AMRWBDEC_MIPS_H
+#define AVCODEC_AMRWBDEC_MIPS_H
+#include "config.h"
+
+#if HAVE_MIPSFPU && HAVE_INLINE_ASM
+void hb_fir_filter_mips(float *out, const float fir_coef[],
+ float mem[], const float *in);
+#define hb_fir_filter hb_fir_filter_mips
+#endif
+
+#endif /* AVCODEC_AMRWBDEC_MIPS_H */
diff --git a/src/thirdparty/ffmpeg/libavcodec/mips/lsp_mips.h b/src/thirdparty/ffmpeg/libavcodec/mips/lsp_mips.h
new file mode 100644
index 000000000..749770625
--- /dev/null
+++ b/src/thirdparty/ffmpeg/libavcodec/mips/lsp_mips.h
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2012
+ * MIPS Technologies, Inc., California.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the MIPS Technologies, Inc., nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE MIPS TECHNOLOGIES, INC. ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE MIPS TECHNOLOGIES, INC. BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Author: Nedeljko Babic (nbabic@mips.com)
+ *
+ * LSP routines for ACELP-based codecs optimized for MIPS
+ *
+ * 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
+ */
+
+/**
+ * @file
+ * Reference: libavcodec/lsp.c
+ */
+#ifndef AVCODEC_LSP_MIPS_H
+#define AVCODEC_LSP_MIPS_H
+
+#if HAVE_MIPSFPU && HAVE_INLINE_ASM
+static av_always_inline void ff_lsp2polyf_mips(const double *lsp, double *f, int lp_half_order)
+{
+ int i, j = 0;
+ double * p_fi = f;
+ double * p_f = 0;
+
+ f[0] = 1.0;
+ f[1] = -2 * lsp[0];
+ lsp -= 2;
+
+ for(i=2; i<=lp_half_order; i++)
+ {
+ double tmp, f_j_2, f_j_1, f_j;
+ double val = lsp[2*i];
+
+ __asm__ volatile(
+ "move %[p_f], %[p_fi] \n\t"
+ "add.d %[val], %[val], %[val] \n\t"
+ "addiu %[p_fi], 8 \n\t"
+ "ldc1 %[f_j_1], 0(%[p_f]) \n\t"
+ "ldc1 %[f_j], 8(%[p_f]) \n\t"
+ "neg.d %[val], %[val] \n\t"
+ "add.d %[tmp], %[f_j_1], %[f_j_1] \n\t"
+ "madd.d %[tmp], %[tmp], %[f_j], %[val] \n\t"
+ "addiu %[j], %[i], -2 \n\t"
+ "ldc1 %[f_j_2], -8(%[p_f]) \n\t"
+ "sdc1 %[tmp], 16(%[p_f]) \n\t"
+ "beqz %[j], ff_lsp2polyf_lp_j_end%= \n\t"
+ "ff_lsp2polyf_lp_j%=: \n\t"
+ "add.d %[tmp], %[f_j], %[f_j_2] \n\t"
+ "madd.d %[tmp], %[tmp], %[f_j_1], %[val] \n\t"
+ "mov.d %[f_j], %[f_j_1] \n\t"
+ "addiu %[j], -1 \n\t"
+ "mov.d %[f_j_1], %[f_j_2] \n\t"
+ "ldc1 %[f_j_2], -16(%[p_f]) \n\t"
+ "sdc1 %[tmp], 8(%[p_f]) \n\t"
+ "addiu %[p_f], -8 \n\t"
+ "bgtz %[j], ff_lsp2polyf_lp_j%= \n\t"
+ "ff_lsp2polyf_lp_j_end%=: \n\t"
+
+ : [f_j_2]"=&f"(f_j_2), [f_j_1]"=&f"(f_j_1), [val]"+f"(val),
+ [tmp]"=&f"(tmp), [f_j]"=&f"(f_j), [p_f]"+r"(p_f),
+ [j]"+r"(j), [p_fi]"+r"(p_fi)
+ : [i]"r"(i)
+ );
+ f[1] += val;
+ }
+}
+#define ff_lsp2polyf ff_lsp2polyf_mips
+#endif /* HAVE_MIPSFPU && HAVE_INLINE_ASM */
+#endif /* AVCODEC_LSP_MIPS_H */
diff --git a/src/thirdparty/ffmpeg/libavcodec/mpeg12.h b/src/thirdparty/ffmpeg/libavcodec/mpeg12.h
index 0b49979b8..1e2c432a4 100644
--- a/src/thirdparty/ffmpeg/libavcodec/mpeg12.h
+++ b/src/thirdparty/ffmpeg/libavcodec/mpeg12.h
@@ -26,7 +26,7 @@
// ==> Start patch MPC
#include <windows.h>
-#include "dxva.h"
+#include "libavcodec/dxva.h"
// <== End patch MPC
#define DC_VLC_BITS 9
diff --git a/src/thirdparty/ffmpeg/libavutil/common.h b/src/thirdparty/ffmpeg/libavutil/common.h
index 8668e04ce..0983af4ba 100644
--- a/src/thirdparty/ffmpeg/libavutil/common.h
+++ b/src/thirdparty/ffmpeg/libavutil/common.h
@@ -63,14 +63,6 @@
#define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))
#define FFALIGN(x, a) (((x)+(a)-1)&~((a)-1))
-// ==> Start patch MPC
-#ifdef __cplusplus
- #ifndef UINT64_C
- #define UINT64_C(x) (x ## ULL)
- #endif
-#endif
-// <== End patch MPC
-
/* misc math functions */
/**
diff --git a/src/thirdparty/ffmpeg/libavutil/log.h b/src/thirdparty/ffmpeg/libavutil/log.h
index d865e63bc..c534da441 100644
--- a/src/thirdparty/ffmpeg/libavutil/log.h
+++ b/src/thirdparty/ffmpeg/libavutil/log.h
@@ -179,12 +179,6 @@ typedef struct AVClass {
*/
void av_log(void *avcl, int level, const char *fmt, ...) av_printf_format(3, 4);
-// ==> Start patch MPC
-#ifdef __cplusplus
-extern "C" {
-#endif
-// <== End patch MPC
-
void av_vlog(void *avcl, int level, const char *fmt, va_list);
int av_log_get_level(void);
void av_log_set_level(int);
@@ -193,12 +187,6 @@ void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl);
const char* av_default_item_name(void* ctx);
AVClassCategory av_default_get_category(void *ptr);
-// ==> Start patch MPC
-#ifdef __cplusplus
-}
-#endif
-// <== End patch MPC
-
/**
* Format a line of log the same way as the default callback.
* @param line buffer to receive the formated line
diff --git a/src/thirdparty/ffmpeg/libavutil/mem.h b/src/thirdparty/ffmpeg/libavutil/mem.h
index 64da81402..3f235b62f 100644
--- a/src/thirdparty/ffmpeg/libavutil/mem.h
+++ b/src/thirdparty/ffmpeg/libavutil/mem.h
@@ -72,12 +72,6 @@
#define av_alloc_size(...)
#endif
-// ==> Start patch MPC
-#ifdef __cplusplus
-extern "C" {
-#endif
-// <== End patch MPC
-
/**
* Allocate a block of size bytes with alignment suitable for all
* memory accesses (including vectors if available on the CPU).
@@ -194,12 +188,6 @@ char *av_strdup(const char *s) av_malloc_attrib;
*/
void av_freep(void *ptr);
-// ==> Start patch MPC
-#ifdef __cplusplus
-}
-#endif
-// <== End patch MPC
-
/**
* Add an element to a dynamic array.
*