* Re: [FFmpeg-devel] [PATCH 2/9] avcodec/dynamic_hdr_vivid: fix three spline params
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 2/9] avcodec/dynamic_hdr_vivid: fix three spline params Zhao Zhili
@ 2023-02-24 13:33 ` James Almer
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 1/9] libavutil/hdr_dynamic_vivid_metadata: " Zhao Zhili
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
0 siblings, 2 replies; 19+ messages in thread
From: James Almer @ 2023-02-24 13:33 UTC (permalink / raw)
To: ffmpeg-devel
On 2/24/2023 6:08 PM, Zhao Zhili wrote:
> From: Zhao Zhili <zhilizhao@tencent.com>
>
> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
> ---
> libavcodec/dynamic_hdr_vivid.c | 34 +++++++++++++++++++++++-----------
> 1 file changed, 23 insertions(+), 11 deletions(-)
>
> diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
> index d689669dec..35be6f5e2b 100644
> --- a/libavcodec/dynamic_hdr_vivid.c
> +++ b/libavcodec/dynamic_hdr_vivid.c
> @@ -98,26 +98,38 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
> return AVERROR_INVALIDDATA;
> tm_params->three_Spline_enable_flag = get_bits(gb, 1);
> if (tm_params->three_Spline_enable_flag) {
> + AVHDRVivid3SplineParams *three_spline;
> +
> if (get_bits_left(gb) < 1 + tm_params->three_Spline_num * (2 + 12 + 28 + 1))
> return AVERROR_INVALIDDATA;
> tm_params->three_Spline_num = get_bits(gb, 1) + 1;
> + if (tm_params->three_Spline_num > FF_ARRAY_ELEMS(tm_params->three_spline))
> + return AVERROR_INVALIDDATA;
> for (int j = 0; j < tm_params->three_Spline_num; j++) {
> - tm_params->three_Spline_TH_mode = get_bits(gb, 2);
> - if (tm_params->three_Spline_TH_mode == 0 || tm_params->three_Spline_TH_mode == 2) {
> + three_spline = tm_params->three_spline + j;
Preferably do:
three_spline = &tm_params->three_spline[j];
> + three_spline->th_mode = get_bits(gb, 2);
> + if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
> if (get_bits_left(gb) < 8)
> return AVERROR_INVALIDDATA;
> - tm_params->three_Spline_TH_enable_MB = (AVRational){get_bits(gb, 8), 255};
> + three_spline->th_enable_mb = (AVRational){get_bits(gb, 8), 255};
> }
> - tm_params->three_Spline_TH_enable = (AVRational){get_bits(gb, 12), 4095};
> - tm_params->three_Spline_TH_Delta1 = (AVRational){get_bits(gb, 10), 1023};
> - tm_params->three_Spline_TH_Delta2 = (AVRational){get_bits(gb, 10), 1023};
> - tm_params->three_Spline_enable_Strength = (AVRational){get_bits(gb, 8), 255};
> + three_spline->th_enable = (AVRational){get_bits(gb, 12), 4095};
> + three_spline->th_delta1 = (AVRational){get_bits(gb, 10), 1023};
> + three_spline->th_delta2 = (AVRational){get_bits(gb, 10), 1023};
> + three_spline->enable_strength = (AVRational){get_bits(gb, 8), 255};
> }
> - } else {
> - tm_params->three_Spline_num = 1;
> - tm_params->three_Spline_TH_mode = 0;
> +#if FF_API_HDR_VIVID_THREE_SPLINE
> + three_spline = tm_params->three_spline;
Also here:
three_spline = &tm_params->three_spline[0];
Same in every other case in this patchset.
> + AV_NOWARN_DEPRECATED(
This is an internal file, so use the FF_DISABLE_DEPRECATION_WARNINGS and
FF_ENABLE_DEPRECATION_WARNINGS wrappers instead of the public one.
> + tm_params->three_Spline_TH_mode = three_spline->th_mode;
> + tm_params->three_Spline_TH_enable_MB = three_spline->th_enable_mb;
> + tm_params->three_Spline_TH_enable = three_spline->th_enable;
> + tm_params->three_Spline_TH_Delta1 = three_spline->th_delta1;
> + tm_params->three_Spline_TH_Delta2 = three_spline->th_delta2;
> + tm_params->three_Spline_enable_Strength = three_spline->enable_strength;
> + )
> +#endif
> }
> -
> }
> }
> }
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH v2 1/9] libavutil/hdr_dynamic_vivid_metadata: fix three spline params
2023-02-24 13:33 ` James Almer
@ 2023-02-24 15:52 ` Zhao Zhili
2023-03-17 3:16 ` "zhilizhao(赵志立)"
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
1 sibling, 1 reply; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 15:52 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
There are two group of three_Spline params.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
doc/APIchanges | 4 ++
libavutil/hdr_dynamic_vivid_metadata.h | 63 +++++++++++++++++++++++++-
libavutil/version.h | 3 +-
3 files changed, 68 insertions(+), 2 deletions(-)
diff --git a/doc/APIchanges b/doc/APIchanges
index 0ba18e8609..4739ef47e9 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09
API changes, most recent first:
+2023-02-24 - xxxxxxxxxx - lavu 58.4.100 - hdr_dynamic_vivid_metadata.h
+ Add two group of three spline params.
+ Deprecate previous define which only supports one group of params.
+
-------- 8< --------- FFmpeg 6.0 was cut here -------- 8< ---------
2023-02-16 - 927042b409 - lavf 60.2.100 - avformat.h
diff --git a/libavutil/hdr_dynamic_vivid_metadata.h b/libavutil/hdr_dynamic_vivid_metadata.h
index a34f83072c..4524a81557 100644
--- a/libavutil/hdr_dynamic_vivid_metadata.h
+++ b/libavutil/hdr_dynamic_vivid_metadata.h
@@ -24,6 +24,52 @@
#include "frame.h"
#include "rational.h"
+/**
+ * HDR Vivid three spline params.
+ */
+typedef struct AVHDRVivid3SplineParams {
+ /**
+ * The mode of three Spline. the value shall be in the range
+ * of 0 to 3, inclusive.
+ */
+ int th_mode;
+
+ /**
+ * three_Spline_TH_enable_MB is in the range of 0.0 to 1.0, inclusive
+ * and in multiples of 1.0/255.
+ *
+ */
+ AVRational th_enable_mb;
+
+ /**
+ * 3Spline_TH_enable of three Spline.
+ * The value shall be in the range of 0.0 to 1.0, inclusive.
+ * and in multiples of 1.0/4095.
+ */
+ AVRational th_enable;
+
+ /**
+ * 3Spline_TH_Delta1 of three Spline.
+ * The value shall be in the range of 0.0 to 0.25, inclusive,
+ * and in multiples of 0.25/1023.
+ */
+ AVRational th_delta1;
+
+ /**
+ * 3Spline_TH_Delta2 of three Spline.
+ * The value shall be in the range of 0.0 to 0.25, inclusive,
+ * and in multiples of 0.25/1023.
+ */
+ AVRational th_delta2;
+
+ /**
+ * 3Spline_enable_Strength of three Spline.
+ * The value shall be in the range of 0.0 to 1.0, inclusive,
+ * and in multiples of 1.0/255.
+ */
+ AVRational enable_strength;
+} AVHDRVivid3SplineParams;
+
/**
* Color tone mapping parameters at a processing window in a dynamic metadata for
* CUVA 005.1:2021.
@@ -122,46 +168,61 @@ typedef struct AVHDRVividColorToneMappingParams {
*/
int three_Spline_num;
+#if FF_API_HDR_VIVID_THREE_SPLINE
/**
* The mode of three Spline. the value shall be in the range
* of 0 to 3, inclusive.
+ * @deprecated Use three_spline instead
*/
+ attribute_deprecated
int three_Spline_TH_mode;
/**
* three_Spline_TH_enable_MB is in the range of 0.0 to 1.0, inclusive
* and in multiples of 1.0/255.
- *
+ * @deprecated Use three_spline instead
*/
+ attribute_deprecated
AVRational three_Spline_TH_enable_MB;
/**
* 3Spline_TH_enable of three Spline.
* The value shall be in the range of 0.0 to 1.0, inclusive.
* and in multiples of 1.0/4095.
+ * @deprecated Use three_spline instead
*/
+ attribute_deprecated
AVRational three_Spline_TH_enable;
/**
* 3Spline_TH_Delta1 of three Spline.
* The value shall be in the range of 0.0 to 0.25, inclusive,
* and in multiples of 0.25/1023.
+ * @deprecated Use three_spline instead
*/
+ attribute_deprecated
AVRational three_Spline_TH_Delta1;
/**
* 3Spline_TH_Delta2 of three Spline.
* The value shall be in the range of 0.0 to 0.25, inclusive,
* and in multiples of 0.25/1023.
+ * @deprecated Use three_spline instead
*/
+ attribute_deprecated
AVRational three_Spline_TH_Delta2;
/**
* 3Spline_enable_Strength of three Spline.
* The value shall be in the range of 0.0 to 1.0, inclusive,
* and in multiples of 1.0/255.
+ * @deprecated Use three_spline instead
*/
+ attribute_deprecated
AVRational three_Spline_enable_Strength;
+#endif
+
+ AVHDRVivid3SplineParams three_spline[2];
} AVHDRVividColorToneMappingParams;
diff --git a/libavutil/version.h b/libavutil/version.h
index 900b798971..a89a0d406f 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 58
-#define LIBAVUTIL_VERSION_MINOR 3
+#define LIBAVUTIL_VERSION_MINOR 4
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
@@ -113,6 +113,7 @@
#define FF_API_PKT_DURATION (LIBAVUTIL_VERSION_MAJOR < 59)
#define FF_API_REORDERED_OPAQUE (LIBAVUTIL_VERSION_MAJOR < 59)
#define FF_API_FRAME_PICTURE_NUMBER (LIBAVUTIL_VERSION_MAJOR < 59)
+#define FF_API_HDR_VIVID_THREE_SPLINE (LIBAVUTIL_VERSION_MAJOR < 59)
/**
* @}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH v2 2/9] avcodec/dynamic_hdr_vivid: fix three spline params
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
@ 2023-02-24 15:52 ` Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 3/9] avfilter/vf_showinfo: fix HDR vivid info Zhao Zhili
` (6 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 15:52 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 34 +++++++++++++++++++++++-----------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index d689669dec..f2bc0c9059 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -98,26 +98,38 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
return AVERROR_INVALIDDATA;
tm_params->three_Spline_enable_flag = get_bits(gb, 1);
if (tm_params->three_Spline_enable_flag) {
+ AVHDRVivid3SplineParams *three_spline;
+
if (get_bits_left(gb) < 1 + tm_params->three_Spline_num * (2 + 12 + 28 + 1))
return AVERROR_INVALIDDATA;
tm_params->three_Spline_num = get_bits(gb, 1) + 1;
+ if (tm_params->three_Spline_num > FF_ARRAY_ELEMS(tm_params->three_spline))
+ return AVERROR_INVALIDDATA;
for (int j = 0; j < tm_params->three_Spline_num; j++) {
- tm_params->three_Spline_TH_mode = get_bits(gb, 2);
- if (tm_params->three_Spline_TH_mode == 0 || tm_params->three_Spline_TH_mode == 2) {
+ three_spline = &tm_params->three_spline[j];
+ three_spline->th_mode = get_bits(gb, 2);
+ if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
if (get_bits_left(gb) < 8)
return AVERROR_INVALIDDATA;
- tm_params->three_Spline_TH_enable_MB = (AVRational){get_bits(gb, 8), 255};
+ three_spline->th_enable_mb = (AVRational){get_bits(gb, 8), 255};
}
- tm_params->three_Spline_TH_enable = (AVRational){get_bits(gb, 12), 4095};
- tm_params->three_Spline_TH_Delta1 = (AVRational){get_bits(gb, 10), 1023};
- tm_params->three_Spline_TH_Delta2 = (AVRational){get_bits(gb, 10), 1023};
- tm_params->three_Spline_enable_Strength = (AVRational){get_bits(gb, 8), 255};
+ three_spline->th_enable = (AVRational){get_bits(gb, 12), 4095};
+ three_spline->th_delta1 = (AVRational){get_bits(gb, 10), 1023};
+ three_spline->th_delta2 = (AVRational){get_bits(gb, 10), 1023};
+ three_spline->enable_strength = (AVRational){get_bits(gb, 8), 255};
}
- } else {
- tm_params->three_Spline_num = 1;
- tm_params->three_Spline_TH_mode = 0;
+#if FF_API_HDR_VIVID_THREE_SPLINE
+ three_spline = &tm_params->three_spline[0];
+FF_DISABLE_DEPRECATION_WARNINGS
+ tm_params->three_Spline_TH_mode = three_spline->th_mode;
+ tm_params->three_Spline_TH_enable_MB = three_spline->th_enable_mb;
+ tm_params->three_Spline_TH_enable = three_spline->th_enable;
+ tm_params->three_Spline_TH_Delta1 = three_spline->th_delta1;
+ tm_params->three_Spline_TH_Delta2 = three_spline->th_delta2;
+ tm_params->three_Spline_enable_Strength = three_spline->enable_strength;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
}
-
}
}
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH v2 3/9] avfilter/vf_showinfo: fix HDR vivid info
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 2/9] avcodec/dynamic_hdr_vivid: " Zhao Zhili
@ 2023-02-24 15:52 ` Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 4/9] fftools/ffprobe: " Zhao Zhili
` (5 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 15:52 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavfilter/vf_showinfo.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c
index e55625b338..7cf71fe40c 100644
--- a/libavfilter/vf_showinfo.c
+++ b/libavfilter/vf_showinfo.c
@@ -354,19 +354,21 @@ static void dump_dynamic_hdr_vivid(AVFilterContext *ctx, AVFrameSideData *sd)
av_log(ctx, AV_LOG_INFO, "3Spline_enable_flag[%d][%d]: %d, ",
w, i, tm_params->three_Spline_enable_flag);
if (tm_params->three_Spline_enable_flag) {
- av_log(ctx, AV_LOG_INFO, "3Spline_TH_mode[%d][%d]: %d, ", w, i, tm_params->three_Spline_TH_mode);
-
for (int j = 0; j < tm_params->three_Spline_num; j++) {
- av_log(ctx, AV_LOG_INFO, "3Spline_TH_enable_MB[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_TH_enable_MB));
+ const AVHDRVivid3SplineParams *three_spline = &tm_params->three_spline[j];
+ av_log(ctx, AV_LOG_INFO, "3Spline_TH_mode[%d][%d]: %d, ", w, i, three_spline->th_mode);
+ if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
+ av_log(ctx, AV_LOG_INFO, "3Spline_TH_enable_MB[%d][%d][%d]: %.4f, ",
+ w, i, j, av_q2d(three_spline->th_enable_mb));
+ }
av_log(ctx, AV_LOG_INFO, "3Spline_TH_enable[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_TH_enable));
+ w, i, j, av_q2d(three_spline->th_enable));
av_log(ctx, AV_LOG_INFO, "3Spline_TH_Delta1[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_TH_Delta1));
+ w, i, j, av_q2d(three_spline->th_delta1));
av_log(ctx, AV_LOG_INFO, "3Spline_TH_Delta2[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_TH_Delta2));
+ w, i, j, av_q2d(three_spline->th_delta2));
av_log(ctx, AV_LOG_INFO, "3Spline_enable_Strength[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_enable_Strength));
+ w, i, j, av_q2d(three_spline->enable_strength));
}
}
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH v2 4/9] fftools/ffprobe: fix HDR vivid info
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 2/9] avcodec/dynamic_hdr_vivid: " Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 3/9] avfilter/vf_showinfo: fix HDR vivid info Zhao Zhili
@ 2023-02-24 15:52 ` Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 5/9] libavcodec/dynamic_hdr_vivid: fix start code check Zhao Zhili
` (4 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 15:52 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
fftools/ffprobe.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index af927cb084..64883321be 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2246,14 +2246,17 @@ static void print_dynamic_hdr_vivid(WriterContext *w, const AVDynamicHDRVivid *m
print_int("3Spline_enable_flag", tm_params->three_Spline_enable_flag);
if (tm_params->three_Spline_enable_flag) {
print_int("3Spline_num", tm_params->three_Spline_num);
- print_int("3Spline_TH_mode", tm_params->three_Spline_TH_mode);
for (int j = 0; j < tm_params->three_Spline_num; j++) {
- print_q("3Spline_TH_enable_MB", tm_params->three_Spline_TH_enable_MB, '/');
- print_q("3Spline_TH_enable", tm_params->three_Spline_TH_enable, '/');
- print_q("3Spline_TH_Delta1", tm_params->three_Spline_TH_Delta1, '/');
- print_q("3Spline_TH_Delta2", tm_params->three_Spline_TH_Delta2, '/');
- print_q("3Spline_enable_Strength", tm_params->three_Spline_enable_Strength, '/');
+ const AVHDRVivid3SplineParams *three_spline = &tm_params->three_spline[j];
+ print_int("3Spline_TH_mode", three_spline->th_mode);
+ if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
+ print_q("3Spline_TH_enable_MB", three_spline->th_enable_mb, '/');
+ }
+ print_q("3Spline_TH_enable", three_spline->th_enable, '/');
+ print_q("3Spline_TH_Delta1", three_spline->th_delta1, '/');
+ print_q("3Spline_TH_Delta2", three_spline->th_delta2, '/');
+ print_q("3Spline_enable_Strength", three_spline->enable_strength, '/');
}
}
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH v2 5/9] libavcodec/dynamic_hdr_vivid: fix start code check
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
` (2 preceding siblings ...)
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 4/9] fftools/ffprobe: " Zhao Zhili
@ 2023-02-24 15:52 ` Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 6/9] avcodec/dynamic_hdr_vivid: fix base_param_Delta Zhao Zhili
` (3 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 15:52 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index f2bc0c9059..9847b88e61 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -46,7 +46,8 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
return AVERROR_INVALIDDATA;
s->system_start_code = get_bits(gb, 8);
- if (s->system_start_code == 0x01) {
+ // T/UWA 005.1-2022, table 11
+ if (s->system_start_code >= 0x01 && s->system_start_code <= 0x07) {
s->num_windows = 1;
if (get_bits_left(gb) < 12 * 4 * s->num_windows)
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH v2 6/9] avcodec/dynamic_hdr_vivid: fix base_param_Delta
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
` (3 preceding siblings ...)
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 5/9] libavcodec/dynamic_hdr_vivid: fix start code check Zhao Zhili
@ 2023-02-24 15:52 ` Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 7/9] avcodec/dynamic_hdr_vivid: fix base_enable_flag control Zhao Zhili
` (2 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 15:52 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
It conflicts the comments. The operation based on Delta_enable_mode
can be applied by user during tone mapping.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index 9847b88e61..30f7dfc71f 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -90,10 +90,7 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
tm_params->base_param_k2 = get_bits(gb, 2);
tm_params->base_param_k3 = get_bits(gb, 4);
tm_params->base_param_Delta_enable_mode = get_bits(gb, 3);
- if (tm_params->base_param_Delta_enable_mode == 2 || tm_params->base_param_Delta_enable_mode == 6)
- tm_params->base_param_Delta = (AVRational){get_bits(gb, 7) * -1, base_param_Delta_den};
- else
- tm_params->base_param_Delta = (AVRational){get_bits(gb, 7), base_param_Delta_den};
+ tm_params->base_param_Delta = (AVRational){get_bits(gb, 7), base_param_Delta_den};
if (get_bits_left(gb) < 1)
return AVERROR_INVALIDDATA;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH v2 7/9] avcodec/dynamic_hdr_vivid: fix base_enable_flag control
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
` (4 preceding siblings ...)
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 6/9] avcodec/dynamic_hdr_vivid: fix base_param_Delta Zhao Zhili
@ 2023-02-24 15:52 ` Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 8/9] avcodec/dynamic_hdr_vivid: reindent after the previous commit Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 9/9] fftools/ffprobe: fix print_dynamic_hdr_vivid Zhao Zhili
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 15:52 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
The base_enable_flag is parallel to three_Spline_enable_flag. The
typesetting of the specification is very misleading.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index 30f7dfc71f..7cb13cbf32 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -91,7 +91,7 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
tm_params->base_param_k3 = get_bits(gb, 4);
tm_params->base_param_Delta_enable_mode = get_bits(gb, 3);
tm_params->base_param_Delta = (AVRational){get_bits(gb, 7), base_param_Delta_den};
-
+ }
if (get_bits_left(gb) < 1)
return AVERROR_INVALIDDATA;
tm_params->three_Spline_enable_flag = get_bits(gb, 1);
@@ -128,7 +128,6 @@ FF_DISABLE_DEPRECATION_WARNINGS
FF_ENABLE_DEPRECATION_WARNINGS
#endif
}
- }
}
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH v2 8/9] avcodec/dynamic_hdr_vivid: reindent after the previous commit
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
` (5 preceding siblings ...)
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 7/9] avcodec/dynamic_hdr_vivid: fix base_enable_flag control Zhao Zhili
@ 2023-02-24 15:52 ` Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 9/9] fftools/ffprobe: fix print_dynamic_hdr_vivid Zhao Zhili
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 15:52 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 60 +++++++++++++++++-----------------
1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index 7cb13cbf32..a9b6910798 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -92,42 +92,42 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
tm_params->base_param_Delta_enable_mode = get_bits(gb, 3);
tm_params->base_param_Delta = (AVRational){get_bits(gb, 7), base_param_Delta_den};
}
- if (get_bits_left(gb) < 1)
+ if (get_bits_left(gb) < 1)
+ return AVERROR_INVALIDDATA;
+ tm_params->three_Spline_enable_flag = get_bits(gb, 1);
+ if (tm_params->three_Spline_enable_flag) {
+ AVHDRVivid3SplineParams *three_spline;
+
+ if (get_bits_left(gb) < 1 + tm_params->three_Spline_num * (2 + 12 + 28 + 1))
+ return AVERROR_INVALIDDATA;
+ tm_params->three_Spline_num = get_bits(gb, 1) + 1;
+ if (tm_params->three_Spline_num > FF_ARRAY_ELEMS(tm_params->three_spline))
return AVERROR_INVALIDDATA;
- tm_params->three_Spline_enable_flag = get_bits(gb, 1);
- if (tm_params->three_Spline_enable_flag) {
- AVHDRVivid3SplineParams *three_spline;
-
- if (get_bits_left(gb) < 1 + tm_params->three_Spline_num * (2 + 12 + 28 + 1))
- return AVERROR_INVALIDDATA;
- tm_params->three_Spline_num = get_bits(gb, 1) + 1;
- if (tm_params->three_Spline_num > FF_ARRAY_ELEMS(tm_params->three_spline))
- return AVERROR_INVALIDDATA;
- for (int j = 0; j < tm_params->three_Spline_num; j++) {
- three_spline = &tm_params->three_spline[j];
- three_spline->th_mode = get_bits(gb, 2);
- if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
- if (get_bits_left(gb) < 8)
- return AVERROR_INVALIDDATA;
- three_spline->th_enable_mb = (AVRational){get_bits(gb, 8), 255};
- }
- three_spline->th_enable = (AVRational){get_bits(gb, 12), 4095};
- three_spline->th_delta1 = (AVRational){get_bits(gb, 10), 1023};
- three_spline->th_delta2 = (AVRational){get_bits(gb, 10), 1023};
- three_spline->enable_strength = (AVRational){get_bits(gb, 8), 255};
+ for (int j = 0; j < tm_params->three_Spline_num; j++) {
+ three_spline = &tm_params->three_spline[j];
+ three_spline->th_mode = get_bits(gb, 2);
+ if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
+ if (get_bits_left(gb) < 8)
+ return AVERROR_INVALIDDATA;
+ three_spline->th_enable_mb = (AVRational){get_bits(gb, 8), 255};
}
+ three_spline->th_enable = (AVRational){get_bits(gb, 12), 4095};
+ three_spline->th_delta1 = (AVRational){get_bits(gb, 10), 1023};
+ three_spline->th_delta2 = (AVRational){get_bits(gb, 10), 1023};
+ three_spline->enable_strength = (AVRational){get_bits(gb, 8), 255};
+ }
#if FF_API_HDR_VIVID_THREE_SPLINE
- three_spline = &tm_params->three_spline[0];
+ three_spline = &tm_params->three_spline[0];
FF_DISABLE_DEPRECATION_WARNINGS
- tm_params->three_Spline_TH_mode = three_spline->th_mode;
- tm_params->three_Spline_TH_enable_MB = three_spline->th_enable_mb;
- tm_params->three_Spline_TH_enable = three_spline->th_enable;
- tm_params->three_Spline_TH_Delta1 = three_spline->th_delta1;
- tm_params->three_Spline_TH_Delta2 = three_spline->th_delta2;
- tm_params->three_Spline_enable_Strength = three_spline->enable_strength;
+ tm_params->three_Spline_TH_mode = three_spline->th_mode;
+ tm_params->three_Spline_TH_enable_MB = three_spline->th_enable_mb;
+ tm_params->three_Spline_TH_enable = three_spline->th_enable;
+ tm_params->three_Spline_TH_Delta1 = three_spline->th_delta1;
+ tm_params->three_Spline_TH_Delta2 = three_spline->th_delta2;
+ tm_params->three_Spline_enable_Strength = three_spline->enable_strength;
FF_ENABLE_DEPRECATION_WARNINGS
#endif
- }
+ }
}
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH v2 9/9] fftools/ffprobe: fix print_dynamic_hdr_vivid
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
` (6 preceding siblings ...)
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 8/9] avcodec/dynamic_hdr_vivid: reindent after the previous commit Zhao Zhili
@ 2023-02-24 15:52 ` Zhao Zhili
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 15:52 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Don't print tone_mapping_param_num if tone_mapping_mode_flag is
disabled.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
fftools/ffprobe.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index 64883321be..fa3e4db6fd 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2221,8 +2221,8 @@ static void print_dynamic_hdr_vivid(WriterContext *w, const AVDynamicHDRVivid *m
const AVHDRVividColorTransformParams *params = &metadata->params[n];
print_int("tone_mapping_mode_flag", params->tone_mapping_mode_flag);
- print_int("tone_mapping_param_num", params->tone_mapping_param_num);
if (params->tone_mapping_mode_flag) {
+ print_int("tone_mapping_param_num", params->tone_mapping_param_num);
for (int i = 0; i < params->tone_mapping_param_num; i++) {
const AVHDRVividColorToneMappingParams *tm_params = ¶ms->tm_params[i];
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH 2/9] avcodec/dynamic_hdr_vivid: fix three spline params
[not found] <20230224210848.535436-1-quinkblack@foxmail.com>
@ 2023-02-24 21:08 ` Zhao Zhili
2023-02-24 13:33 ` James Almer
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 3/9] avfilter/vf_showinfo: fix HDR vivid info Zhao Zhili
` (6 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 21:08 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 34 +++++++++++++++++++++++-----------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index d689669dec..35be6f5e2b 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -98,26 +98,38 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
return AVERROR_INVALIDDATA;
tm_params->three_Spline_enable_flag = get_bits(gb, 1);
if (tm_params->three_Spline_enable_flag) {
+ AVHDRVivid3SplineParams *three_spline;
+
if (get_bits_left(gb) < 1 + tm_params->three_Spline_num * (2 + 12 + 28 + 1))
return AVERROR_INVALIDDATA;
tm_params->three_Spline_num = get_bits(gb, 1) + 1;
+ if (tm_params->three_Spline_num > FF_ARRAY_ELEMS(tm_params->three_spline))
+ return AVERROR_INVALIDDATA;
for (int j = 0; j < tm_params->three_Spline_num; j++) {
- tm_params->three_Spline_TH_mode = get_bits(gb, 2);
- if (tm_params->three_Spline_TH_mode == 0 || tm_params->three_Spline_TH_mode == 2) {
+ three_spline = tm_params->three_spline + j;
+ three_spline->th_mode = get_bits(gb, 2);
+ if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
if (get_bits_left(gb) < 8)
return AVERROR_INVALIDDATA;
- tm_params->three_Spline_TH_enable_MB = (AVRational){get_bits(gb, 8), 255};
+ three_spline->th_enable_mb = (AVRational){get_bits(gb, 8), 255};
}
- tm_params->three_Spline_TH_enable = (AVRational){get_bits(gb, 12), 4095};
- tm_params->three_Spline_TH_Delta1 = (AVRational){get_bits(gb, 10), 1023};
- tm_params->three_Spline_TH_Delta2 = (AVRational){get_bits(gb, 10), 1023};
- tm_params->three_Spline_enable_Strength = (AVRational){get_bits(gb, 8), 255};
+ three_spline->th_enable = (AVRational){get_bits(gb, 12), 4095};
+ three_spline->th_delta1 = (AVRational){get_bits(gb, 10), 1023};
+ three_spline->th_delta2 = (AVRational){get_bits(gb, 10), 1023};
+ three_spline->enable_strength = (AVRational){get_bits(gb, 8), 255};
}
- } else {
- tm_params->three_Spline_num = 1;
- tm_params->three_Spline_TH_mode = 0;
+#if FF_API_HDR_VIVID_THREE_SPLINE
+ three_spline = tm_params->three_spline;
+ AV_NOWARN_DEPRECATED(
+ tm_params->three_Spline_TH_mode = three_spline->th_mode;
+ tm_params->three_Spline_TH_enable_MB = three_spline->th_enable_mb;
+ tm_params->three_Spline_TH_enable = three_spline->th_enable;
+ tm_params->three_Spline_TH_Delta1 = three_spline->th_delta1;
+ tm_params->three_Spline_TH_Delta2 = three_spline->th_delta2;
+ tm_params->three_Spline_enable_Strength = three_spline->enable_strength;
+ )
+#endif
}
-
}
}
}
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH 3/9] avfilter/vf_showinfo: fix HDR vivid info
[not found] <20230224210848.535436-1-quinkblack@foxmail.com>
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 2/9] avcodec/dynamic_hdr_vivid: fix three spline params Zhao Zhili
@ 2023-02-24 21:08 ` Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 4/9] fftools/ffprobe: " Zhao Zhili
` (5 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 21:08 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
---
libavfilter/vf_showinfo.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c
index e55625b338..74d57e75e7 100644
--- a/libavfilter/vf_showinfo.c
+++ b/libavfilter/vf_showinfo.c
@@ -354,19 +354,21 @@ static void dump_dynamic_hdr_vivid(AVFilterContext *ctx, AVFrameSideData *sd)
av_log(ctx, AV_LOG_INFO, "3Spline_enable_flag[%d][%d]: %d, ",
w, i, tm_params->three_Spline_enable_flag);
if (tm_params->three_Spline_enable_flag) {
- av_log(ctx, AV_LOG_INFO, "3Spline_TH_mode[%d][%d]: %d, ", w, i, tm_params->three_Spline_TH_mode);
-
for (int j = 0; j < tm_params->three_Spline_num; j++) {
- av_log(ctx, AV_LOG_INFO, "3Spline_TH_enable_MB[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_TH_enable_MB));
+ const AVHDRVivid3SplineParams *three_spline = tm_params->three_spline + j;
+ av_log(ctx, AV_LOG_INFO, "3Spline_TH_mode[%d][%d]: %d, ", w, i, three_spline->th_mode);
+ if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
+ av_log(ctx, AV_LOG_INFO, "3Spline_TH_enable_MB[%d][%d][%d]: %.4f, ",
+ w, i, j, av_q2d(three_spline->th_enable_mb));
+ }
av_log(ctx, AV_LOG_INFO, "3Spline_TH_enable[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_TH_enable));
+ w, i, j, av_q2d(three_spline->th_enable));
av_log(ctx, AV_LOG_INFO, "3Spline_TH_Delta1[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_TH_Delta1));
+ w, i, j, av_q2d(three_spline->th_delta1));
av_log(ctx, AV_LOG_INFO, "3Spline_TH_Delta2[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_TH_Delta2));
+ w, i, j, av_q2d(three_spline->th_delta2));
av_log(ctx, AV_LOG_INFO, "3Spline_enable_Strength[%d][%d][%d]: %.4f, ",
- w, i, j, av_q2d(tm_params->three_Spline_enable_Strength));
+ w, i, j, av_q2d(three_spline->enable_strength));
}
}
}
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH 4/9] fftools/ffprobe: fix HDR vivid info
[not found] <20230224210848.535436-1-quinkblack@foxmail.com>
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 2/9] avcodec/dynamic_hdr_vivid: fix three spline params Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 3/9] avfilter/vf_showinfo: fix HDR vivid info Zhao Zhili
@ 2023-02-24 21:08 ` Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 5/9] libavcodec/dynamic_hdr_vivid: fix start code check Zhao Zhili
` (4 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 21:08 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
---
fftools/ffprobe.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index af927cb084..1d051a5545 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2246,14 +2246,17 @@ static void print_dynamic_hdr_vivid(WriterContext *w, const AVDynamicHDRVivid *m
print_int("3Spline_enable_flag", tm_params->three_Spline_enable_flag);
if (tm_params->three_Spline_enable_flag) {
print_int("3Spline_num", tm_params->three_Spline_num);
- print_int("3Spline_TH_mode", tm_params->three_Spline_TH_mode);
for (int j = 0; j < tm_params->three_Spline_num; j++) {
- print_q("3Spline_TH_enable_MB", tm_params->three_Spline_TH_enable_MB, '/');
- print_q("3Spline_TH_enable", tm_params->three_Spline_TH_enable, '/');
- print_q("3Spline_TH_Delta1", tm_params->three_Spline_TH_Delta1, '/');
- print_q("3Spline_TH_Delta2", tm_params->three_Spline_TH_Delta2, '/');
- print_q("3Spline_enable_Strength", tm_params->three_Spline_enable_Strength, '/');
+ const AVHDRVivid3SplineParams *three_spline = tm_params->three_spline + j;
+ print_int("3Spline_TH_mode", three_spline->th_mode);
+ if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
+ print_q("3Spline_TH_enable_MB", three_spline->th_enable_mb, '/');
+ }
+ print_q("3Spline_TH_enable", three_spline->th_enable, '/');
+ print_q("3Spline_TH_Delta1", three_spline->th_delta1, '/');
+ print_q("3Spline_TH_Delta2", three_spline->th_delta2, '/');
+ print_q("3Spline_enable_Strength", three_spline->enable_strength, '/');
}
}
}
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH 5/9] libavcodec/dynamic_hdr_vivid: fix start code check
[not found] <20230224210848.535436-1-quinkblack@foxmail.com>
` (2 preceding siblings ...)
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 4/9] fftools/ffprobe: " Zhao Zhili
@ 2023-02-24 21:08 ` Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 6/9] avcodec/dynamic_hdr_vivid: fix base_param_Delta Zhao Zhili
` (3 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 21:08 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index 35be6f5e2b..091963146e 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -46,7 +46,8 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
return AVERROR_INVALIDDATA;
s->system_start_code = get_bits(gb, 8);
- if (s->system_start_code == 0x01) {
+ // T/UWA 005.1-2022, table 11
+ if (s->system_start_code >= 0x01 && s->system_start_code <= 0x07) {
s->num_windows = 1;
if (get_bits_left(gb) < 12 * 4 * s->num_windows)
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH 6/9] avcodec/dynamic_hdr_vivid: fix base_param_Delta
[not found] <20230224210848.535436-1-quinkblack@foxmail.com>
` (3 preceding siblings ...)
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 5/9] libavcodec/dynamic_hdr_vivid: fix start code check Zhao Zhili
@ 2023-02-24 21:08 ` Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 7/9] avcodec/dynamic_hdr_vivid: fix base_enable_flag control Zhao Zhili
` (2 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 21:08 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
It conflicts the comments. The operation based on Delta_enable_mode
can be applied by user during tone mapping.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index 091963146e..f0580c498a 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -90,10 +90,7 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
tm_params->base_param_k2 = get_bits(gb, 2);
tm_params->base_param_k3 = get_bits(gb, 4);
tm_params->base_param_Delta_enable_mode = get_bits(gb, 3);
- if (tm_params->base_param_Delta_enable_mode == 2 || tm_params->base_param_Delta_enable_mode == 6)
- tm_params->base_param_Delta = (AVRational){get_bits(gb, 7) * -1, base_param_Delta_den};
- else
- tm_params->base_param_Delta = (AVRational){get_bits(gb, 7), base_param_Delta_den};
+ tm_params->base_param_Delta = (AVRational){get_bits(gb, 7), base_param_Delta_den};
if (get_bits_left(gb) < 1)
return AVERROR_INVALIDDATA;
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH 7/9] avcodec/dynamic_hdr_vivid: fix base_enable_flag control
[not found] <20230224210848.535436-1-quinkblack@foxmail.com>
` (4 preceding siblings ...)
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 6/9] avcodec/dynamic_hdr_vivid: fix base_param_Delta Zhao Zhili
@ 2023-02-24 21:08 ` Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 8/9] avcodec/dynamic_hdr_vivid: reindent after the previous commit Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 9/9] fftools/ffprobe: fix print_dynamic_hdr_vivid Zhao Zhili
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 21:08 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
The base_enable_flag is parallel to three_Spline_enable_flag. The
typesetting of the specification is very misleading.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index f0580c498a..8fa69d87b5 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -91,7 +91,7 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
tm_params->base_param_k3 = get_bits(gb, 4);
tm_params->base_param_Delta_enable_mode = get_bits(gb, 3);
tm_params->base_param_Delta = (AVRational){get_bits(gb, 7), base_param_Delta_den};
-
+ }
if (get_bits_left(gb) < 1)
return AVERROR_INVALIDDATA;
tm_params->three_Spline_enable_flag = get_bits(gb, 1);
@@ -128,7 +128,6 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
)
#endif
}
- }
}
}
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH 8/9] avcodec/dynamic_hdr_vivid: reindent after the previous commit
[not found] <20230224210848.535436-1-quinkblack@foxmail.com>
` (5 preceding siblings ...)
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 7/9] avcodec/dynamic_hdr_vivid: fix base_enable_flag control Zhao Zhili
@ 2023-02-24 21:08 ` Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 9/9] fftools/ffprobe: fix print_dynamic_hdr_vivid Zhao Zhili
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 21:08 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
libavcodec/dynamic_hdr_vivid.c | 64 +++++++++++++++++-----------------
1 file changed, 32 insertions(+), 32 deletions(-)
diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c
index 8fa69d87b5..8b5105ea12 100644
--- a/libavcodec/dynamic_hdr_vivid.c
+++ b/libavcodec/dynamic_hdr_vivid.c
@@ -92,42 +92,42 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t
tm_params->base_param_Delta_enable_mode = get_bits(gb, 3);
tm_params->base_param_Delta = (AVRational){get_bits(gb, 7), base_param_Delta_den};
}
- if (get_bits_left(gb) < 1)
+ if (get_bits_left(gb) < 1)
+ return AVERROR_INVALIDDATA;
+ tm_params->three_Spline_enable_flag = get_bits(gb, 1);
+ if (tm_params->three_Spline_enable_flag) {
+ AVHDRVivid3SplineParams *three_spline;
+
+ if (get_bits_left(gb) < 1 + tm_params->three_Spline_num * (2 + 12 + 28 + 1))
+ return AVERROR_INVALIDDATA;
+ tm_params->three_Spline_num = get_bits(gb, 1) + 1;
+ if (tm_params->three_Spline_num > FF_ARRAY_ELEMS(tm_params->three_spline))
return AVERROR_INVALIDDATA;
- tm_params->three_Spline_enable_flag = get_bits(gb, 1);
- if (tm_params->three_Spline_enable_flag) {
- AVHDRVivid3SplineParams *three_spline;
-
- if (get_bits_left(gb) < 1 + tm_params->three_Spline_num * (2 + 12 + 28 + 1))
- return AVERROR_INVALIDDATA;
- tm_params->three_Spline_num = get_bits(gb, 1) + 1;
- if (tm_params->three_Spline_num > FF_ARRAY_ELEMS(tm_params->three_spline))
- return AVERROR_INVALIDDATA;
- for (int j = 0; j < tm_params->three_Spline_num; j++) {
- three_spline = tm_params->three_spline + j;
- three_spline->th_mode = get_bits(gb, 2);
- if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
- if (get_bits_left(gb) < 8)
- return AVERROR_INVALIDDATA;
- three_spline->th_enable_mb = (AVRational){get_bits(gb, 8), 255};
- }
- three_spline->th_enable = (AVRational){get_bits(gb, 12), 4095};
- three_spline->th_delta1 = (AVRational){get_bits(gb, 10), 1023};
- three_spline->th_delta2 = (AVRational){get_bits(gb, 10), 1023};
- three_spline->enable_strength = (AVRational){get_bits(gb, 8), 255};
+ for (int j = 0; j < tm_params->three_Spline_num; j++) {
+ three_spline = tm_params->three_spline + j;
+ three_spline->th_mode = get_bits(gb, 2);
+ if (three_spline->th_mode == 0 || three_spline->th_mode == 2) {
+ if (get_bits_left(gb) < 8)
+ return AVERROR_INVALIDDATA;
+ three_spline->th_enable_mb = (AVRational){get_bits(gb, 8), 255};
}
+ three_spline->th_enable = (AVRational){get_bits(gb, 12), 4095};
+ three_spline->th_delta1 = (AVRational){get_bits(gb, 10), 1023};
+ three_spline->th_delta2 = (AVRational){get_bits(gb, 10), 1023};
+ three_spline->enable_strength = (AVRational){get_bits(gb, 8), 255};
+ }
#if FF_API_HDR_VIVID_THREE_SPLINE
- three_spline = tm_params->three_spline;
- AV_NOWARN_DEPRECATED(
- tm_params->three_Spline_TH_mode = three_spline->th_mode;
- tm_params->three_Spline_TH_enable_MB = three_spline->th_enable_mb;
- tm_params->three_Spline_TH_enable = three_spline->th_enable;
- tm_params->three_Spline_TH_Delta1 = three_spline->th_delta1;
- tm_params->three_Spline_TH_Delta2 = three_spline->th_delta2;
- tm_params->three_Spline_enable_Strength = three_spline->enable_strength;
- )
+ three_spline = tm_params->three_spline;
+ AV_NOWARN_DEPRECATED(
+ tm_params->three_Spline_TH_mode = three_spline->th_mode;
+ tm_params->three_Spline_TH_enable_MB = three_spline->th_enable_mb;
+ tm_params->three_Spline_TH_enable = three_spline->th_enable;
+ tm_params->three_Spline_TH_Delta1 = three_spline->th_delta1;
+ tm_params->three_Spline_TH_Delta2 = three_spline->th_delta2;
+ tm_params->three_Spline_enable_Strength = three_spline->enable_strength;
+ )
#endif
- }
+ }
}
}
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* [FFmpeg-devel] [PATCH 9/9] fftools/ffprobe: fix print_dynamic_hdr_vivid
[not found] <20230224210848.535436-1-quinkblack@foxmail.com>
` (6 preceding siblings ...)
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 8/9] avcodec/dynamic_hdr_vivid: reindent after the previous commit Zhao Zhili
@ 2023-02-24 21:08 ` Zhao Zhili
7 siblings, 0 replies; 19+ messages in thread
From: Zhao Zhili @ 2023-02-24 21:08 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
From: Zhao Zhili <zhilizhao@tencent.com>
Don't print tone_mapping_param_num if tone_mapping_mode_flag is
disabled.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
fftools/ffprobe.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index 1d051a5545..df463a0ed3 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2221,8 +2221,8 @@ static void print_dynamic_hdr_vivid(WriterContext *w, const AVDynamicHDRVivid *m
const AVHDRVividColorTransformParams *params = &metadata->params[n];
print_int("tone_mapping_mode_flag", params->tone_mapping_mode_flag);
- print_int("tone_mapping_param_num", params->tone_mapping_param_num);
if (params->tone_mapping_mode_flag) {
+ print_int("tone_mapping_param_num", params->tone_mapping_param_num);
for (int i = 0; i < params->tone_mapping_param_num; i++) {
const AVHDRVividColorToneMappingParams *tm_params = ¶ms->tm_params[i];
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [FFmpeg-devel] [PATCH v2 1/9] libavutil/hdr_dynamic_vivid_metadata: fix three spline params
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 1/9] libavutil/hdr_dynamic_vivid_metadata: " Zhao Zhili
@ 2023-03-17 3:16 ` "zhilizhao(赵志立)"
0 siblings, 0 replies; 19+ messages in thread
From: "zhilizhao(赵志立)" @ 2023-03-17 3:16 UTC (permalink / raw)
To: FFmpeg development discussions and patches
> On Feb 24, 2023, at 23:52, Zhao Zhili <quinkblack@foxmail.com> wrote:
>
> From: Zhao Zhili <zhilizhao@tencent.com>
>
> There are two group of three_Spline params.
>
> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
> ---
> doc/APIchanges | 4 ++
> libavutil/hdr_dynamic_vivid_metadata.h | 63 +++++++++++++++++++++++++-
> libavutil/version.h | 3 +-
> 3 files changed, 68 insertions(+), 2 deletions(-)
>
Applied with minor coding style changes.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2023-03-17 3:16 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20230224210848.535436-1-quinkblack@foxmail.com>
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 2/9] avcodec/dynamic_hdr_vivid: fix three spline params Zhao Zhili
2023-02-24 13:33 ` James Almer
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 1/9] libavutil/hdr_dynamic_vivid_metadata: " Zhao Zhili
2023-03-17 3:16 ` "zhilizhao(赵志立)"
[not found] ` <20230224155222.194400-1-quinkblack@foxmail.com>
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 2/9] avcodec/dynamic_hdr_vivid: " Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 3/9] avfilter/vf_showinfo: fix HDR vivid info Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 4/9] fftools/ffprobe: " Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 5/9] libavcodec/dynamic_hdr_vivid: fix start code check Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 6/9] avcodec/dynamic_hdr_vivid: fix base_param_Delta Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 7/9] avcodec/dynamic_hdr_vivid: fix base_enable_flag control Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 8/9] avcodec/dynamic_hdr_vivid: reindent after the previous commit Zhao Zhili
2023-02-24 15:52 ` [FFmpeg-devel] [PATCH v2 9/9] fftools/ffprobe: fix print_dynamic_hdr_vivid Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 3/9] avfilter/vf_showinfo: fix HDR vivid info Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 4/9] fftools/ffprobe: " Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 5/9] libavcodec/dynamic_hdr_vivid: fix start code check Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 6/9] avcodec/dynamic_hdr_vivid: fix base_param_Delta Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 7/9] avcodec/dynamic_hdr_vivid: fix base_enable_flag control Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 8/9] avcodec/dynamic_hdr_vivid: reindent after the previous commit Zhao Zhili
2023-02-24 21:08 ` [FFmpeg-devel] [PATCH 9/9] fftools/ffprobe: fix print_dynamic_hdr_vivid Zhao Zhili
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git