nvdec: Specify supported profiles of h264/h265 codec
authorSeungha Yang <seungha.yang@navercorp.com>
Wed, 24 Jul 2019 09:06:41 +0000 (18:06 +0900)
committerSebastian Dröge <slomo@coaxion.net>
Thu, 25 Jul 2019 08:06:26 +0000 (08:06 +0000)
See more details about supported formats at
nvidia codec sdk document "NVDEC_VideoDecoder_API_ProgGuide.pdf"
Table 1. Hardware Video Decoder Capabilities.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/926
sys/nvcodec/gstnvdec.c

index c0ec8986d9bc40695670b9ef3c5740f4165bbd56..3ef52f7b1fcd8281c4e7c03df1e884a06576fef8 100644 (file)
@@ -1203,9 +1203,13 @@ const GstNvCodecMap codec_map[] = {
   /* FIXME: need verification */
   {cudaVideoCodec_VC1, "vc1"},
 #endif
+  /* NOTE: common supported h264 profiles for all GPU architecture
+   * 4:2:0, baseline, main, and high profiles
+   */
   {cudaVideoCodec_H264, "h264",
       "video/x-h264, stream-format = (string) byte-stream"
-        ", alignment = (string) au"},
+        ", alignment = (string) au"
+        ", profile = (string) { constrained-baseline, baseline, main, high }"},
   {cudaVideoCodec_JPEG, "jpeg", "image/jpeg"},
 #if 0
   /* FIXME: need verification */
@@ -1214,7 +1218,7 @@ const GstNvCodecMap codec_map[] = {
 #endif
   {cudaVideoCodec_HEVC, "h265",
       "video/x-h265, stream-format = (string) byte-stream"
-        ", alignment = (string) au"},
+        ", alignment = (string) au, profile = (string) { main }"},
   {cudaVideoCodec_VP8, "vp8", "video/x-vp8"},
   {cudaVideoCodec_VP9, "vp9", "video/x-vp9"}
 };