1. 15 Jun, 2015 1 commit
    • Bryce Harrington's avatar
      vaapi-recorder: Drop redundant license · 73ad676a
      Bryce Harrington authored
      This file was provided under both the Expat and X11 variants of the MIT
      license.  We don't need the latter, so remove it and leave just Expat.
      And reformat the Expat license so it matches our standard boilerplate.
      73ad676a
  2. 28 Nov, 2014 1 commit
  3. 09 May, 2014 1 commit
  4. 07 Apr, 2014 1 commit
    • Andrew Wedgbury's avatar
      Make sure config.h is included before any system headers · 9cd661e7
      Andrew Wedgbury authored
      There was an issue recently in screen-share.c where config.h was not
      being included, resulting in the wrong definition for off_t being used on
      32 bit systems. I checked and I don't think this problem is happening
      elsewhere, but to help avoid this sort of problem in the future, I went
      through and made sure that config.h is included first whenever system
      headers are included.
      
      The config.h header should be included before any system headers, failing
      to do this can result in the wrong type sizes being defined on certain
      systems, e.g. off_t from sys/types.h
      Signed-off-by: default avatarAndrew Wedgbury <andrew.wedgbury@realvnc.com>
      9cd661e7
  5. 10 Oct, 2013 1 commit
  6. 11 Sep, 2013 2 commits
    • Ander Conselvan de Oliveira's avatar
      vaapi-recorder: Don't leak drm fd · a62ef3e0
      Ander Conselvan de Oliveira authored
      Make vaapi_recorder take onwership of the fd and close it at destroy
      time.
      a62ef3e0
    • Ander Conselvan de Oliveira's avatar
      vaapi-recorder: Encode frames in a separate thread · b85ded0c
      Ander Conselvan de Oliveira authored
      Previously, vaapi_recorder_frame() would wait until the encoded
      contents for a frame is written to the output file descriptor. This
      delayed the repainting of the next frame, and affected frame rate
      when capturing with high resolutions. Instead, wait only if there is
      and attempted to encode two frames at the same time.
      
      Increases framerate from 30 to 60 fps when capturing at 1920x1200 on
      my SandryBridge system, although there are periodic slowdowns due to
      disk writes.
      b85ded0c
  7. 30 Aug, 2013 1 commit
    • Ander Conselvan de Oliveira's avatar
      compositor-drm: Add hardware accelerated capture of screen using libva · 6aae4d39
      Ander Conselvan de Oliveira authored
      This patch adds a feature to the DRM backend that uses libva for
      encoding the screen contents in H.264. Screen recording can be
      activated by pressing mod-shift-space q. A file named capture.h264
      will be created in the current directory, which can be muxed into
      an MP4 file with gstreamer using
      
      gst-launch filesrc location=capture.h264 ! h264parse ! mp4mux ! \
                 filesink location=file.mp4
      
      This is limitted to the DRM compositor in order to avoid a copy when
      submitting the front buffer to libva. The code in vaapi-recorder.c
      takes a dma_buf fd referencing it, does a colorspace conversion using
      the video post processing pipeline and then uses that as input to the
      encoder.
      
      I'm sending this now so I get comments, but this is not ready for
      prime time yet. I have a somewhat consistent GPU hang when using
      i915 with SandyBridge. Sometimes a page flip never completes. If you
      want to try this anyway and your system get stuck, you might need to
      run the following:
      
        # echo 1 > /sys/kernel/debug/dri/0/i915_wedged
      
      After that, alt-sysrq [rv] should work.
      
      Once that's fixed it would also be good to make the parameters used by
      the encoder more flexible. For now the QP parameter is hardcoded to 0
      and we have only I and P frames (no B frames), which causes the
      resulting files to be very large.
      6aae4d39