summaryrefslogtreecommitdiffstats
path: root/compat
diff options
context:
space:
mode:
authorPhilip Langdale <philipl@overt.org>2016-11-22 08:20:37 -0800
committerPhilip Langdale <philipl@overt.org>2016-11-22 10:09:30 -0800
commit81147b5596ea19f7c5c153f4a534e9314d291fd3 (patch)
treeacc4044417d82630a7791b53a6d0ca727a3be326 /compat
parent8d6c358ea8ece33551c5c3d489a5dce7992f4137 (diff)
downloadffmpeg-streaming-81147b5596ea19f7c5c153f4a534e9314d291fd3.zip
ffmpeg-streaming-81147b5596ea19f7c5c153f4a534e9314d291fd3.tar.gz
avcodec/cuvid: Add support for P010/P016 as an output surface format
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). The cuvid api, as far as I can tell, only declares one output format that they appear to refer to as P016 in the driver strings. Of course, 10bit content in P016 is identical to P010, and it is useful for compatibility purposes to declare the format to be P010 to work with other components that only know how to consume P010 (and to avoid triggering swscale conversions that are lossy when they shouldn't be). For simplicity, this change does not maintain the previous ability to output dithered NV12 for 10/12 bit input video - the user will need to update their driver to decode such videos.
Diffstat (limited to 'compat')
-rw-r--r--compat/cuda/dynlink_cuviddec.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/compat/cuda/dynlink_cuviddec.h b/compat/cuda/dynlink_cuviddec.h
index 17207bc..9ff2741 100644
--- a/compat/cuda/dynlink_cuviddec.h
+++ b/compat/cuda/dynlink_cuviddec.h
@@ -83,7 +83,8 @@ typedef enum cudaVideoCodec_enum {
* Video Surface Formats Enums
*/
typedef enum cudaVideoSurfaceFormat_enum {
- cudaVideoSurfaceFormat_NV12=0 /**< NV12 (currently the only supported output format) */
+ cudaVideoSurfaceFormat_NV12=0, /**< NV12 */
+ cudaVideoSurfaceFormat_P016=1 /**< P016 */
} cudaVideoSurfaceFormat;
/*!
OpenPOWER on IntegriCloud