@@ -2026,8 +2026,6 @@ typedef struct AVCodecContext {
int (*get_encode_buffer)(struct AVCodecContext *s, AVPacket *pkt, int flags);
} AVCodecContext;
-struct MpegEncContext;
-
/**
* @defgroup lavc_hwaccel AVHWAccel
*
@@ -2154,10 +2152,8 @@ typedef struct AVHWAccel {
* XvMC uses it to replace the ff_mpv_reconstruct_mb().
* Instead of decoding to raw picture, MB parameters are
* stored in an array provided by the video driver.
- *
- * @param s the mpeg context
*/
- void (*decode_mb)(struct MpegEncContext *s);
+ void (*decode_mb)(void *opaque);
/**
* Initialize the hwaccel private data.
@@ -168,8 +168,9 @@ static int ff_xvmc_field_end(AVCodecContext *avctx)
* Synthesize the data needed by XvMC to render one macroblock of data.
* Fill all relevant fields, if necessary do IDCT.
*/
-static void ff_xvmc_decode_mb(struct MpegEncContext *s)
+static void ff_xvmc_decode_mb(void *opaque)
{
+ MpegEncContext *const s = opaque;
XvMCMacroBlock *mv_block;
struct xvmc_pix_fmt *render;
int i, cbp, blocks_per_mb;
Use an opaque pointer to void instead. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/avcodec.h | 6 +----- libavcodec/mpegvideo_xvmc.c | 3 ++- 2 files changed, 3 insertions(+), 6 deletions(-)