diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 89362d209b24e7aac74a41d468180ba232fe1e7c..d14e23264010e1915885d537bfa967363bda44c3 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -40,7 +40,7 @@ #include "mpegvideo.h" #include "msmpeg4.h" #include "qpeldsp.h" -#include "vdpau_internal.h" +#include "vdpau_compat.h" #include "thread.h" static enum AVPixelFormat h263_get_format(AVCodecContext *avctx) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 1ba0e959241e2c22c43b72ae68af49824a03f37b..9a002142ccf4942cfd8c9f76761fda9a82749d27 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -49,7 +49,7 @@ #include "rectangle.h" #include "svq3.h" #include "thread.h" -#include "vdpau_internal.h" +#include "vdpau_compat.h" const uint16_t ff_h264_mb_sizes[4] = { 256, 384, 512, 768 }; diff --git a/libavcodec/h264_picture.c b/libavcodec/h264_picture.c index 14d8f19ef83f1e9ed435c15b07a4690d3c6d5e8d..bf1471de514b91eadc088a0a4f3d82ed5aaf1be4 100644 --- a/libavcodec/h264_picture.c +++ b/libavcodec/h264_picture.c @@ -42,7 +42,7 @@ #include "mpegutils.h" #include "rectangle.h" #include "thread.h" -#include "vdpau_internal.h" +#include "vdpau_compat.h" void ff_h264_unref_picture(H264Context *h, H264Picture *pic) { diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index f180c3d62b2674526ab90e21e3777a0e7ea62c7f..f321abc6d91003824a22e0be109de654190e261e 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -45,7 +45,7 @@ #include "mpegvideo.h" #include "thread.h" #include "version.h" -#include "vdpau_internal.h" +#include "vdpau_compat.h" #include "xvmc_internal.h" typedef struct Mpeg1Context { diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index eab6792f3627149aa5d1edc88d115550b9aad65e..0db7d02e5c71cabf976c5da41a6d488c7286f4c6 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -35,7 +35,7 @@ #include "msmpeg4data.h" #include "vc1.h" #include "vc1data.h" -#include "vdpau_internal.h" +#include "vdpau_compat.h" #include "libavutil/avassert.h" diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c index 0c3893507e5a7d04202c2a2e4bfb23f98af7c04d..62d99601c75595a0ffaa2d11f8c30b1a5203100d 100644 --- a/libavcodec/vdpau.c +++ b/libavcodec/vdpau.c @@ -32,6 +32,7 @@ #include <assert.h> #include "vdpau.h" +#include "vdpau_compat.h" #include "vdpau_internal.h" /** diff --git a/libavcodec/vdpau_compat.h b/libavcodec/vdpau_compat.h new file mode 100644 index 0000000000000000000000000000000000000000..6b4b0865c982fc944e157fdc30065f130e60eae2 --- /dev/null +++ b/libavcodec/vdpau_compat.h @@ -0,0 +1,48 @@ +/* + * Video Decode and Presentation API for UNIX (VDPAU) is used for + * HW decode acceleration for MPEG-1/2, H.264 and VC-1. + * + * Copyright (C) 2008 NVIDIA + * + * 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 + */ + +#ifndef AVCODEC_VDPAU_COMPAT_H +#define AVCODEC_VDPAU_COMPAT_H + +#include <stdint.h> + +#include "h264.h" +#include "mpeg4video.h" + +void ff_vdpau_add_data_chunk(uint8_t *data, const uint8_t *buf, + int buf_size); + +void ff_vdpau_mpeg_picture_complete(MpegEncContext *s, const uint8_t *buf, + int buf_size, int slice_count); + +void ff_vdpau_h264_picture_start(H264Context *h); +void ff_vdpau_h264_set_reference_frames(H264Context *h); +void ff_vdpau_h264_picture_complete(H264Context *h); + +void ff_vdpau_vc1_decode_picture(MpegEncContext *s, const uint8_t *buf, + int buf_size); + +void ff_vdpau_mpeg4_decode_picture(Mpeg4DecContext *s, const uint8_t *buf, + int buf_size); + +#endif /* AVCODEC_VDPAU_COMPAT_H */ diff --git a/libavcodec/vdpau_internal.h b/libavcodec/vdpau_internal.h index cc49db8433a2af05883f10bce1aa2a2df6b338a9..6f762e41db3619bff4980358b89209272c917419 100644 --- a/libavcodec/vdpau_internal.h +++ b/libavcodec/vdpau_internal.h @@ -29,12 +29,10 @@ #if CONFIG_VDPAU #include <vdpau/vdpau.h> #endif -#include "h264.h" #include "libavutil/frame.h" #include "avcodec.h" -#include "mpeg4video.h" /** Extract VdpVideoSurface from an AVFrame */ static inline uintptr_t ff_vdpau_get_surface_id(AVFrame *pic) @@ -125,21 +123,4 @@ int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx); int ff_vdpau_add_buffer(struct vdpau_picture_context *pic, const uint8_t *buf, uint32_t buf_size); - -void ff_vdpau_add_data_chunk(uint8_t *data, const uint8_t *buf, - int buf_size); - -void ff_vdpau_mpeg_picture_complete(MpegEncContext *s, const uint8_t *buf, - int buf_size, int slice_count); - -void ff_vdpau_h264_picture_start(H264Context *h); -void ff_vdpau_h264_set_reference_frames(H264Context *h); -void ff_vdpau_h264_picture_complete(H264Context *h); - -void ff_vdpau_vc1_decode_picture(MpegEncContext *s, const uint8_t *buf, - int buf_size); - -void ff_vdpau_mpeg4_decode_picture(Mpeg4DecContext *s, const uint8_t *buf, - int buf_size); - #endif /* AVCODEC_VDPAU_INTERNAL_H */