[FFmpeg-devel] [PATCH 1/2] lavc: put remaining bits of vdpau-in-decoder under FF_API_CAP_VDPAU.

Michael Niedermayer michael at niedermayer.cc
Mon Aug 17 14:55:25 CEST 2015


On Mon, Aug 17, 2015 at 08:19:31AM -0400, Ronald S. Bultje wrote:
> Hi,
> 
> On Mon, Aug 17, 2015 at 8:16 AM, Michael Niedermayer <michael at niedermayer.cc
> > wrote:
> 
> > On Mon, Aug 17, 2015 at 07:10:44AM -0400, Ronald S. Bultje wrote:
> > > ---
> > >  libavcodec/error_resilience.c |  2 ++
> > >  libavcodec/h263dec.c          |  2 ++
> > >  libavcodec/h264.c             |  4 ++++
> > >  libavcodec/h264_picture.c     |  4 ++++
> > >  libavcodec/h264_slice.c       | 16 ++++++++++++----
> > >  libavcodec/mpeg12dec.c        | 20 +++++++++++++++++---
> > >  libavcodec/mpegpicture.c      |  6 +++++-
> > >  libavcodec/mpegvideo.c        | 11 +++++++++--
> > >  libavcodec/utils.c            |  2 ++
> > >  libavcodec/vc1dec.c           | 28 +++++++++++++++++++++-------
> > >  10 files changed, 78 insertions(+), 17 deletions(-)
> >
> > with:
> > @@ -88,7 +88,7 @@
> >  #define FF_API_LOWRES            (LIBAVCODEC_VERSION_MAJOR < 57)
> >  #endif
> >  #ifndef FF_API_CAP_VDPAU
> > -#define FF_API_CAP_VDPAU         (LIBAVCODEC_VERSION_MAJOR < 57)
> > +#define FF_API_CAP_VDPAU         (LIBAVCODEC_VERSION_MAJOR < 1)
> >  #endif
> >  #ifndef FF_API_BUFS_VDPAU
> >  #define FF_API_BUFS_VDPAU        (LIBAVCODEC_VERSION_MAJOR < 57)
> 
> 
> Change FF_API_VDPAU also. I don't think anything works if you disable only
> one or the other, and it's not useful anyway. They're meant to be bumped
> together.

this patch with:

diff --git a/libavcodec/version.h b/libavcodec/version.h
index 262334f..2998cb5 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -88,7 +88,7 @@
 #define FF_API_LOWRES            (LIBAVCODEC_VERSION_MAJOR < 57)
 #endif
 #ifndef FF_API_CAP_VDPAU
-#define FF_API_CAP_VDPAU         (LIBAVCODEC_VERSION_MAJOR < 57)
+#define FF_API_CAP_VDPAU         (LIBAVCODEC_VERSION_MAJOR < 1)
 #endif
 #ifndef FF_API_BUFS_VDPAU
 #define FF_API_BUFS_VDPAU        (LIBAVCODEC_VERSION_MAJOR < 57)
diff --git a/libavutil/version.h b/libavutil/version.h
index 653f530..e5a74e3 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -108,7 +108,7 @@
 #define FF_API_AVFRAME_LAVC             (LIBAVUTIL_VERSION_MAJOR < 55)
 #endif
 #ifndef FF_API_VDPAU
-#define FF_API_VDPAU                    (LIBAVUTIL_VERSION_MAJOR < 55)
+#define FF_API_VDPAU                    (LIBAVUTIL_VERSION_MAJOR < 1)
 #endif
 #ifndef FF_API_GET_CHANNEL_LAYOUT_COMPAT
 #define FF_API_GET_CHANNEL_LAYOUT_COMPAT (LIBAVUTIL_VERSION_MAJOR < 55)

still fails to build:

CC      libavcodec/h264.o
libavcodec/h264.c:2016:43: error: ‘AV_CODEC_CAP_HWACCEL_VDPAU’ undeclared here (not in a function)
libavcodec/h264.c:2018:48: error: ‘AV_PIX_FMT_VDPAU_H264’ undeclared here (not in a function)
make: *** [libavcodec/h264.o] Error 1
CC      libavcodec/mpeg12dec.o
libavcodec/mpeg12dec.c:1190:5: error: ‘AV_PIX_FMT_VDPAU_MPEG1’ undeclared here (not in a function)
libavcodec/mpeg12dec.c:1204:5: error: ‘AV_PIX_FMT_VDPAU_MPEG2’ undeclared here (not in a function)
libavcodec/mpeg12dec.c:1204:5: error: initializer element is not constant
libavcodec/mpeg12dec.c:1204:5: error: (near initialization for ‘mpeg2_hwaccel_pixfmt_list_420[0]’)
libavcodec/mpeg12dec.c: In function ‘setup_hwaccel_for_pixfmt’:
libavcodec/mpeg12dec.c:1279:9: warning: ‘xvmc_acceleration’ is deprecated (declared at libavcodec/avcodec.h:2045) [-Wdeprecated-declarations]
libavcodec/mpeg12dec.c: At top level:
libavcodec/mpeg12dec.c:2968:23: error: ‘AV_CODEC_CAP_HWACCEL_VDPAU’ undeclared here (not in a function)
libavcodec/mpeg12dec.c:2967:41: error: invalid operands to binary | (have ‘int’ and ‘const enum AVPixelFormat *’)
libavcodec/mpeg12dec.c:2968:50: error: invalid operands to binary | (have ‘const enum AVPixelFormat *’ and ‘int’)
libavcodec/mpeg12dec.c:2968:23: error: initializer element is not constant
libavcodec/mpeg12dec.c:2968:23: error: (near initialization for ‘ff_mpeg_vdpau_decoder.capabilities’)
libavcodec/mpeg12dec.c:2983:41: error: invalid operands to binary | (have ‘int’ and ‘const enum AVPixelFormat *’)
libavcodec/mpeg12dec.c:2984:50: error: invalid operands to binary | (have ‘const enum AVPixelFormat *’ and ‘int’)
libavcodec/mpeg12dec.c:2984:23: error: initializer element is not constant
libavcodec/mpeg12dec.c:2984:23: error: (near initialization for ‘ff_mpeg1_vdpau_decoder.capabilities’)
make: *** [libavcodec/mpeg12dec.o] Error 1
CC      libavcodec/mpeg4videodec.o
libavcodec/mpeg4videodec.c:2811:23: error: ‘AV_CODEC_CAP_HWACCEL_VDPAU’ undeclared here (not in a function)
libavcodec/mpeg4videodec.c:2812:48: error: ‘AV_PIX_FMT_VDPAU_MPEG4’ undeclared here (not in a function)
make: *** [libavcodec/mpeg4videodec.o] Error 1
CC      libavcodec/vc1dec.o
libavcodec/vc1dec.c:1169:43: error: ‘AV_CODEC_CAP_HWACCEL_VDPAU’ undeclared here (not in a function)
libavcodec/vc1dec.c:1170:47: error: ‘AV_PIX_FMT_VDPAU_WMV3’ undeclared here (not in a function)
libavcodec/vc1dec.c:1186:47: error: ‘AV_PIX_FMT_VDPAU_VC1’ undeclared here (not in a function)
make: *** [libavcodec/vc1dec.o] Error 1
CC      libavcodec/vdpau.o
libavcodec/vdpau.c: In function ‘ff_vdpau_h264_set_reference_frames’:
libavcodec/vdpau.c:371:17: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:387:26: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:390:48: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:403:30: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:403:72: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:403:117: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:406:37: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:418:24: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:418:66: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:418:111: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c: In function ‘ff_vdpau_add_data_chunk’:
libavcodec/vdpau.c:434:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:435:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:436:16: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:437:23: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:437:51: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:440:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:440:37: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:441:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:441:37: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:442:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:442:37: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:443:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c: In function ‘ff_vdpau_h264_picture_start’:
libavcodec/vdpau.c:459:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:462:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c: In function ‘ff_vdpau_h264_picture_complete’:
libavcodec/vdpau.c:472:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:473:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:476:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:477:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:478:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:479:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:480:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:480:78: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:481:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:482:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:483:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:484:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:485:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:486:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:487:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:488:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:489:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:490:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:491:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:492:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:493:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:494:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:495:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:496:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:497:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:498:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:499:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:500:18: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:500:86: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:501:18: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:501:92: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:502:18: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:502:92: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:505:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c: In function ‘ff_vdpau_mpeg_picture_complete’:
libavcodec/vdpau.c:522:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:523:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:524:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:525:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:526:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:527:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:528:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:529:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:530:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:531:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:532:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:533:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:534:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:535:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:536:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:538:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:539:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:542:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:543:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:549:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:549:52: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:555:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:555:51: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:560:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:564:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c: In function ‘ff_vdpau_vc1_decode_picture’:
libavcodec/vdpau.c:579:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:580:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:581:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:582:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:583:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:584:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:585:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:586:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:587:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:588:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:589:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:590:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:591:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:592:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:593:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:594:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:595:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:596:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:597:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:598:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:599:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:601:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:602:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:603:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:604:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:606:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:607:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:609:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:610:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:613:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:615:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:621:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:621:51: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:627:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:627:50: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:632:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:635:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c: In function ‘ff_vdpau_mpeg4_decode_picture’:
libavcodec/vdpau.c:653:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:654:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:655:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:656:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:657:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:658:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:659:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:660:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:661:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:662:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:663:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:664:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:665:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:666:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:667:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:668:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:670:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:671:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:673:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:674:11: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:680:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:680:53: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:681:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:686:15: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:686:52: error: dereferencing pointer to incomplete type
libavcodec/vdpau.c:692:11: error: dereferencing pointer to incomplete type
make: *** [libavcodec/vdpau.o] Error 1
make: Target `all' not remade because of errors.


[..]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Democracy is the form of government in which you can choose your dictator
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150817/6043cd86/attachment.sig>


More information about the ffmpeg-devel mailing list