[FFmpeg-devel] [PATCH] avcodec/cuvid: Add support for P010 as an output surface format

Philip Langdale philipl at overt.org
Sun Nov 20 19:56:00 EET 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 20 Nov 2016 14:20:21 +0100
Michael Niedermayer <michael at niedermayer.cc> wrote:

> On Sat, Nov 19, 2016 at 05:18:08PM -0800, Philip Langdale wrote:
> > The nvidia 375.xx driver introduces support for P016 output
> > surfaces, for 10bit and 12bit HEVC content (it's also the first
> > driver to support hardware decoding of 12bit content).
> > 
> > Technically, we don't support P016, but in practice I don't think we
> > zero-out the extra bits in P010 so it can be used to carry the data.
> > 
> > This change introduces cuvid decoder support for P010 output for
> > output to hardware and system memory surfaces. For simplicity, it
> > does not maintain the previous ability to output NV12 for > 8 bit
> > input video - the user will need to update their driver to decode
> > such videos.
> > 
> > After this change, both cuvid and nvenc support P010, but the
> > ffmpeg_cuvid transcoding logic will need more work to connect the
> > two together. Similarly, the scale_npp filter still only works with
> > 8bit surfaces.
> > 
> > Signed-off-by: Philip Langdale <philipl at overt.org>
> > ---
> >  compat/cuda/dynlink_cuviddec.h |  3 ++-
> >  libavcodec/cuvid.c             | 58
> > +++++++++++++++++++++++++++++++-----------
> > libavutil/hwcontext_cuda.c     | 11 +++++++- 3 files changed, 55
> > insertions(+), 17 deletions(-)
> 
> seems git doesnt like applying this:
> Applying: avcodec/cuvid: Add support for P010 as an output surface
> format fatal: sha1 information is lacking or useless
> (libavcodec/cuvid.c). error: could not build fake ancestor
> Patch failed at 0001 avcodec/cuvid: Add support for P010 as an output
> surface format The copy of the patch that failed is found
> in: .git/rebase-apply/patch When you have resolved this problem, run
> "git am --continue". If you prefer to skip this patch, run "git am
> --skip" instead. To restore the original branch and stop patching,
> run "git am --abort".
> 
> 
> [...]

Yes. This is based on top of Timo's dynlink cuda changes. I could
redo it, but I'm hoping he'll push those soon.

Thanks,

- --phil
-----BEGIN PGP SIGNATURE-----

iEYEARECAAYFAlgx47AACgkQ+NaxlGp1aC5evwCdGfRhv7l1wekewMgm9KinSN9a
taAAn302XBZVthqCQ++qAFkmH2zvWX7l
=u1DS
-----END PGP SIGNATURE-----


More information about the ffmpeg-devel mailing list