diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 89362d209b..d14e232640 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 1ba0e95924..9a002142cc 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 14d8f19ef8..bf1471de51 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 f180c3d62b..f321abc6d9 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 eab6792f36..0db7d02e5c 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 0c3893507e..62d99601c7 100644 --- a/libavcodec/vdpau.c +++ b/libavcodec/vdpau.c @@ -32,6 +32,7 @@ #include #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 0000000000..6b4b0865c9 --- /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 + +#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 cc49db8433..6f762e41db 100644 --- a/libavcodec/vdpau_internal.h +++ b/libavcodec/vdpau_internal.h @@ -29,12 +29,10 @@ #if CONFIG_VDPAU #include #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 */