[FFmpeg-devel] [PATCH] avcodec: add missing xmm/neon clobber test wrappers for the new decode API

James Almer jamrial at gmail.com
Sun Jul 3 22:45:13 EEST 2016


Signed-off-by: James Almer <jamrial at gmail.com>
---
Tested on Win64 (xmm), but not arm and aarch64 (neon).

 configure                     |  4 ++++
 libavcodec/aarch64/neontest.c | 10 ++++++++++
 libavcodec/arm/neontest.c     | 10 ++++++++++
 libavcodec/x86/w64xmmtest.c   | 10 ++++++++++
 4 files changed, 34 insertions(+)

diff --git a/configure b/configure
index 007c953..22298df 100755
--- a/configure
+++ b/configure
@@ -6027,6 +6027,8 @@ enabled neon_clobber_test &&
                   -Wl,--wrap,avcodec_decode_subtitle2   \
                   -Wl,--wrap,avcodec_encode_audio2      \
                   -Wl,--wrap,avcodec_encode_video2      \
+                  -Wl,--wrap,avcodec_send_packet        \
+                  -Wl,--wrap,avcodec_receive_frame      \
                   -Wl,--wrap,avcodec_encode_subtitle    \
                   -Wl,--wrap,swr_convert                \
                   -Wl,--wrap,avresample_convert ||
@@ -6040,6 +6042,8 @@ enabled xmm_clobber_test &&
                   -Wl,--wrap,avcodec_encode_audio2      \
                   -Wl,--wrap,avcodec_encode_video2      \
                   -Wl,--wrap,avcodec_encode_subtitle    \
+                  -Wl,--wrap,avcodec_send_packet        \
+                  -Wl,--wrap,avcodec_receive_frame      \
                   -Wl,--wrap,swr_convert                \
                   -Wl,--wrap,avresample_convert         \
                   -Wl,--wrap,sws_scale ||
diff --git a/libavcodec/aarch64/neontest.c b/libavcodec/aarch64/neontest.c
index b1f1a6d..302a322 100644
--- a/libavcodec/aarch64/neontest.c
+++ b/libavcodec/aarch64/neontest.c
@@ -77,3 +77,13 @@ wrap(avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
 {
     testneonclobbers(avcodec_encode_video2, avctx, avpkt, frame, got_packet_ptr);
 }
+
+wrap(avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt))
+{
+    testneonclobbers(avcodec_send_packet, avctx, avpkt);
+}
+
+wrap(avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame))
+{
+    testneonclobbers(avcodec_receive_frame, avctx, frame);
+}
diff --git a/libavcodec/arm/neontest.c b/libavcodec/arm/neontest.c
index a81d14d..51d158b 100644
--- a/libavcodec/arm/neontest.c
+++ b/libavcodec/arm/neontest.c
@@ -77,3 +77,13 @@ wrap(avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
 {
     testneonclobbers(avcodec_encode_video2, avctx, avpkt, frame, got_packet_ptr);
 }
+
+wrap(avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt))
+{
+    testneonclobbers(avcodec_send_packet, avctx, avpkt);
+}
+
+wrap(avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame))
+{
+    testneonclobbers(avcodec_receive_frame, avctx, frame);
+}
diff --git a/libavcodec/x86/w64xmmtest.c b/libavcodec/x86/w64xmmtest.c
index 94b3049..3d466d2 100644
--- a/libavcodec/x86/w64xmmtest.c
+++ b/libavcodec/x86/w64xmmtest.c
@@ -77,3 +77,13 @@ wrap(avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
 {
     testxmmclobbers(avcodec_encode_video2, avctx, avpkt, frame, got_packet_ptr);
 }
+
+wrap(avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt))
+{
+    testxmmclobbers(avcodec_send_packet, avctx, avpkt);
+}
+
+wrap(avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame))
+{
+    testxmmclobbers(avcodec_receive_frame, avctx, frame);
+}
-- 
2.9.0



More information about the ffmpeg-devel mailing list