Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * check XMM registers for clobbers on Win64
  3.  * Copyright (c) 2012 Ronald S. Bultje <rsbultje@gmail.com>
  4.  *
  5.  * This file is part of FFmpeg.
  6.  *
  7.  * FFmpeg is free software; you can redistribute it and/or
  8.  * modify it under the terms of the GNU Lesser General Public
  9.  * License as published by the Free Software Foundation; either
  10.  * version 2.1 of the License, or (at your option) any later version.
  11.  *
  12.  * FFmpeg is distributed in the hope that it will be useful,
  13.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15.  * Lesser General Public License for more details.
  16.  *
  17.  * You should have received a copy of the GNU Lesser General Public
  18.  * License along with FFmpeg; if not, write to the Free Software
  19.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  20.  */
  21.  
  22. #include "libavcodec/avcodec.h"
  23. #include "libavutil/x86/w64xmmtest.h"
  24.  
  25. wrap(avcodec_open2(AVCodecContext *avctx,
  26.                    AVCodec *codec,
  27.                    AVDictionary **options))
  28. {
  29.     testxmmclobbers(avcodec_open2, avctx, codec, options);
  30. }
  31.  
  32. wrap(avcodec_decode_audio4(AVCodecContext *avctx,
  33.                            AVFrame *frame,
  34.                            int *got_frame_ptr,
  35.                            AVPacket *avpkt))
  36. {
  37.     testxmmclobbers(avcodec_decode_audio4, avctx, frame,
  38.                     got_frame_ptr, avpkt);
  39. }
  40.  
  41. wrap(avcodec_decode_video2(AVCodecContext *avctx,
  42.                            AVFrame *picture,
  43.                            int *got_picture_ptr,
  44.                            AVPacket *avpkt))
  45. {
  46.     testxmmclobbers(avcodec_decode_video2, avctx, picture,
  47.                     got_picture_ptr, avpkt);
  48. }
  49.  
  50. wrap(avcodec_decode_subtitle2(AVCodecContext *avctx,
  51.                               AVSubtitle *sub,
  52.                               int *got_sub_ptr,
  53.                               AVPacket *avpkt))
  54. {
  55.     testxmmclobbers(avcodec_decode_subtitle2, avctx, sub,
  56.                     got_sub_ptr, avpkt);
  57. }
  58.  
  59. wrap(avcodec_encode_audio2(AVCodecContext *avctx,
  60.                            AVPacket *avpkt,
  61.                            const AVFrame *frame,
  62.                            int *got_packet_ptr))
  63. {
  64.     testxmmclobbers(avcodec_encode_audio2, avctx, avpkt, frame,
  65.                     got_packet_ptr);
  66. }
  67.  
  68. wrap(avcodec_encode_video(AVCodecContext *avctx,
  69.                           uint8_t *buf, int buf_size,
  70.                           const AVFrame *pict))
  71. {
  72.     testxmmclobbers(avcodec_encode_video, avctx, buf, buf_size, pict);
  73. }
  74.  
  75. wrap(avcodec_encode_subtitle(AVCodecContext *avctx,
  76.                              uint8_t *buf, int buf_size,
  77.                              const AVSubtitle *sub))
  78. {
  79.     testxmmclobbers(avcodec_encode_subtitle, avctx, buf, buf_size, sub);
  80. }
  81.  
  82. wrap(avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
  83.                            const AVFrame *frame, int *got_packet_ptr))
  84. {
  85.     testxmmclobbers(avcodec_encode_video2, avctx, avpkt, frame, got_packet_ptr);
  86. }
  87.