diff mbox series

edid-decode: Report supported SL-HDR versions

Message ID 20200908125844.73317-1-harry.mallon@codex.online (mailing list archive)
State New, archived
Headers show
Series edid-decode: Report supported SL-HDR versions | expand

Commit Message

Harry Mallon Sept. 8, 2020, 12:58 p.m. UTC
Specified in ETSI TS 103 433-1 v1.3.1

Signed-off-by: Harry Mallon <harry.mallon@codex.online>
---
 parse-cta-block.cpp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

Comments

Hans Verkuil Sept. 8, 2020, 10:23 p.m. UTC | #1
Hi Harry,

Thanks for the patch, I missed this change in CTA-861.4.

It's applied and pushed to the git repo.

Regards,

	Hans

On 08/09/2020 14:58, Harry Mallon wrote:
> Specified in ETSI TS 103 433-1 v1.3.1
> 
> Signed-off-by: Harry Mallon <harry.mallon@codex.online>
> ---
>  parse-cta-block.cpp | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/parse-cta-block.cpp b/parse-cta-block.cpp
> index 97924d1..ad1e18b 100644
> --- a/parse-cta-block.cpp
> +++ b/parse-cta-block.cpp
> @@ -1512,11 +1512,21 @@ static void cta_hdr_dyn_metadata_block(const unsigned char *x, unsigned length)
>  		printf("    HDR Dynamic Metadata Type %u\n", type);
>  		switch (type) {
>  		case 1:
> -		case 2:
>  		case 4:
>  			if (type_len > 2)
>  				printf("      Version: %u\n", x[3] & 0xf);
>  			break;
> +		case 2:
> +			if (type_len > 2) {
> +				unsigned version = x[3] & 0xf;
> +				printf("      Version: %u\n", version);
> +				if (version >= 1) {
> +					if (x[3] & 0x10) printf("      Supports SL-HDR1 (ETSI TS 103 433-1)\n");
> +					if (x[3] & 0x20) printf("      Supports SL-HDR2 (ETSI TS 103 433-2)\n");
> +					if (x[3] & 0x40) printf("      Supports SL-HDR3 (ETSI TS 103 433-3)\n");
> +				}
> +			}
> +			break;
>  		default:
>  			break;
>  		}
>
diff mbox series

Patch

diff --git a/parse-cta-block.cpp b/parse-cta-block.cpp
index 97924d1..ad1e18b 100644
--- a/parse-cta-block.cpp
+++ b/parse-cta-block.cpp
@@ -1512,11 +1512,21 @@  static void cta_hdr_dyn_metadata_block(const unsigned char *x, unsigned length)
 		printf("    HDR Dynamic Metadata Type %u\n", type);
 		switch (type) {
 		case 1:
-		case 2:
 		case 4:
 			if (type_len > 2)
 				printf("      Version: %u\n", x[3] & 0xf);
 			break;
+		case 2:
+			if (type_len > 2) {
+				unsigned version = x[3] & 0xf;
+				printf("      Version: %u\n", version);
+				if (version >= 1) {
+					if (x[3] & 0x10) printf("      Supports SL-HDR1 (ETSI TS 103 433-1)\n");
+					if (x[3] & 0x20) printf("      Supports SL-HDR2 (ETSI TS 103 433-2)\n");
+					if (x[3] & 0x40) printf("      Supports SL-HDR3 (ETSI TS 103 433-3)\n");
+				}
+			}
+			break;
 		default:
 			break;
 		}