1. 07 Mar, 2018 4 commits
  2. 06 Mar, 2018 7 commits
  3. 05 Mar, 2018 11 commits
  4. 04 Mar, 2018 3 commits
  5. 03 Mar, 2018 12 commits
  6. 02 Mar, 2018 3 commits
    • Philip Langdale's avatar
      avcodec/nvenc: Declare support for P016 · 6a89cdc4
      Philip Langdale authored
      nvenc doesn't support P016, but we have two problems today:
      
      1) We declare support for YUV444P16 which nvenc also doesn't support.
         We do this because it's the only pix_fmt we have that can
         approximate nvenc's internal format that is YUV444P10 with data in
         MSBs instead of LSBs. Because the declared format is a 16bit one,
         it will be preferrentially chosen when encoding >10bit content,
         but that content will normally be YUV420P12 or P016 which should
         get mapped to P010 and not YUV444P10.
      
      2) Transcoding P016 content with nvenc should be possible in a pure
         hardware pipeline, and that can't be done if nvenc doesn't say it
         accepts P016. By mapping it to P010, we can use it, albeit with
         truncation. I have established that swscale doesn't know how to
         dither to 10bits so we'd get truncation anyway, even if we tried
         to do this 'properly'.
      6a89cdc4
    • Philip Langdale's avatar
      swscale: Add p016 output support and generalise yuv420p1x to p010 · 9d5aff09
      Philip Langdale authored
      To make the best use of existing code, I generalised the wrapper
      that currently does yuv420p10 to p010 to support any mixture of
      input and output sizes between 10 and 16 bits. This had the side
      effect of yielding a working code path for all yuv420p1x formats
      to p01x.
      9d5aff09
    • Philip Langdale's avatar