1. 08 Oct, 2017 3 commits
  2. 19 Sep, 2017 1 commit
  3. 14 Sep, 2017 1 commit
  4. 13 Sep, 2017 1 commit
  5. 14 Jun, 2017 1 commit
    • Mark Thompson's avatar
      hwcontext_vaapi: Try to support the VDPAU wrapper · f2e4fb61
      Mark Thompson authored
      The driver is somewhat bitrotten (not updated for years) but is still
      usable for decoding with this change.  To support it, this adds a new
      driver quirk to indicate no support at all for surface attributes.
      
      Based on a patch by wm4 <nfxjfg@googlemail.com>.
      
      (cherry picked from commit e791b915)
      f2e4fb61
  6. 29 May, 2017 1 commit
  7. 02 Mar, 2017 1 commit
  8. 13 Feb, 2017 1 commit
    • Mark Thompson's avatar
      hwcontext_vaapi: Try to support the VDPAU wrapper · e791b915
      Mark Thompson authored
      The driver is somewhat bitrotten (not updated for years) but is still
      usable for decoding with this change.  To support it, this adds a new
      driver quirk to indicate no support at all for surface attributes.
      
      Based on a patch by wm4 <nfxjfg@googlemail.com>.
      e791b915
  9. 05 Feb, 2017 1 commit
    • Mark Thompson's avatar
      Revert "avutil/hwcontext_vaapi: fix SEGV in vaTerminate when vaInitialize fails" · 3420b34a
      Mark Thompson authored
      The original code is correctly following the API - vaTerminate() must
      be called to free the resources of a VADisplay after it is created by
      any of the vaGetDisplay*() calls; it is not necessary to have
      successfully called vaInitialize() on it.  The segfaults which
      prompted this change must therefore be bugs in libva or the driver it
      loads.
      
      This reverts commit 3606602f.
      3420b34a
  10. 02 Feb, 2017 1 commit
    • Aman Gupta's avatar
      avutil/hwcontext_vaapi: fix SEGV in vaTerminate when vaInitialize fails · 3606602f
      Aman Gupta authored
      Program terminated with signal SIGSEGV, Segmentation fault.
        #0  0x0000000000aff8a4 in vaTerminate ()
        #1  0x0000000000ae50ce in vaapi_device_free (ctx=<optimized out>) at libavutil/hwcontext_vaapi.c:882
        #2  0x0000000000ae1f9e in hwdevice_ctx_free (opaque=<optimized out>, data=<optimized out>) at libavutil/hwcontext.c:66
        #3  0x0000000000ad856f in buffer_replace (src=0x0, dst=0x7fffa26ef1b8) at libavutil/buffer.c:119
        #4  av_buffer_unref (buf=buf@entry=0x7fffa26ef1f8) at libavutil/buffer.c:129
        #5  0x0000000000ae299f in av_hwdevice_ctx_create (pdevice_ref=0x170ac50 <hw_device_ctx>, type=type@entry=AV_HWDEVICE_TYPE_VAAPI, device=<optimized out>,
            opts=opts@entry=0x0, flags=flags@entry=0) at libavutil/hwcontext.c:494
        #6  0x0000000000400968 in vaapi_device_init (device=<optimized out>) at ffmpeg_vaapi.c:223
      Signed-off-by: 's avatarMark Thompson <sw@jkqxz.net>
      3606602f
  11. 01 Feb, 2017 1 commit
  12. 26 Nov, 2016 1 commit
  13. 13 Nov, 2016 3 commits
    • Anton Khirnov's avatar
      hwcontext_vaapi: add a quirk for the missing MemoryType attribute · 775a8477
      Anton Khirnov authored
      The Intel binary iHD driver does not support the
      VASurfaceAttribMemoryType, so surface allocation will fail when using
      it.
      
      (cherry picked from commit 2124711b)
      775a8477
    • Mark Thompson's avatar
      hwcontext_vaapi: Try the first render node as the default DRM device · 8d47d840
      Mark Thompson authored
      If no string argument is supplied when av_hwdevice_ctx_create() is
      called to create a VAAPI device, we currently only try the default
      X11 display (that is, $DISPLAY) to find a device, and will therefore
      fail in the absence of an X server to connect to.  Change the logic
      to also look for a device via the first DRM render node (that is,
      "/dev/dri/renderD128"), which is probably the right thing to use in
      most simple configurations which only have one DRM device.
      
      (cherry picked from commit 121f34d5)
      8d47d840
    • Mark Thompson's avatar
      hwcontext_vaapi: Add driver quirks to the hwdevice · a8d51bb4
      Mark Thompson authored
      The driver being used is detected inside av_hwdevice_ctx_init() and
      the quirks field then set from a table of known device.  If this
      behaviour is unwanted, the user can also set the quirks field
      manually.
      
      Also adds the Intel i965 driver quirk (it does not destroy parameter
      buffers used in a call to vaRenderPicture()) and detects that driver
      to set it.
      
      (cherry picked from commit 4926fa9a)
      a8d51bb4
  14. 03 Nov, 2016 1 commit
  15. 02 Oct, 2016 2 commits
  16. 13 Aug, 2016 1 commit
    • Mark Thompson's avatar
      hwcontext_vaapi: Try the first render node as the default DRM device · 121f34d5
      Mark Thompson authored
      If no string argument is supplied when av_hwdevice_ctx_create() is
      called to create a VAAPI device, we currently only try the default
      X11 display (that is, $DISPLAY) to find a device, and will therefore
      fail in the absence of an X server to connect to.  Change the logic
      to also look for a device via the first DRM render node (that is,
      "/dev/dri/renderD128"), which is probably the right thing to use in
      most simple configurations which only have one DRM device.
      121f34d5
  17. 02 Aug, 2016 1 commit
  18. 02 Jul, 2016 1 commit
    • Mark Thompson's avatar
      hwcontext_vaapi: Add driver quirks to the hwdevice · 4926fa9a
      Mark Thompson authored
      The driver being used is detected inside av_hwdevice_ctx_init() and
      the quirks field then set from a table of known device.  If this
      behaviour is unwanted, the user can also set the quirks field
      manually.
      
      Also adds the Intel i965 driver quirk (it does not destroy parameter
      buffers used in a call to vaRenderPicture()) and detects that driver
      to set it.
      4926fa9a
  19. 28 Jun, 2016 1 commit
  20. 21 Jun, 2016 1 commit
    • Mark Thompson's avatar
      hwcontext_vaapi: Return all formats for constraints without config · fe498ef5
      Mark Thompson authored
      No longer make a dummy device configuration to query.  Instead, just
      return everything we recognise from the whole format list.  Also
      change the device setup code to query that list only, rather than
      intersecting it with the constraint output.
      
      This makes hwupload more usable on mesa/gallium where the video
      processor only declares support for RGB formats, making it unable to
      deal with YUV formats before this patch.  It might introduce some
      different trickier failures in the internal upload/download code
      because the set of allowed formats there has changed, though I didn't
      find any obvious regressions with i965.
      fe498ef5
  21. 01 Jun, 2016 1 commit
  22. 26 May, 2016 1 commit
  23. 19 Mar, 2016 1 commit