From: Niklas Haas <ffmpeg@haasn.xyz>
To: ffmpeg-devel@ffmpeg.org
Cc: Niklas Haas <git@haasn.dev>
Subject: [FFmpeg-devel] [PATCH v4 05/13] avcodec/h2645_sei: signal new AVFilmGrainParams members
Date: Mon, 18 Mar 2024 17:54:13 +0100
Message-ID: <20240318165651.75520-6-ffmpeg@haasn.xyz> (raw)
In-Reply-To: <20240318165651.75520-1-ffmpeg@haasn.xyz>
From: Niklas Haas <git@haasn.dev>
H.274 specifies that film grain parameters are signalled as intended for
4:4:4 frames, so we always signal this, regardless of the frame's actual
subsampling.
---
libavcodec/h2645_sei.c | 46 +++++++++++++++++++++++++-----------------
1 file changed, 28 insertions(+), 18 deletions(-)
diff --git a/libavcodec/h2645_sei.c b/libavcodec/h2645_sei.c
index e60606f43f9..73f894436fd 100644
--- a/libavcodec/h2645_sei.c
+++ b/libavcodec/h2645_sei.c
@@ -641,35 +641,45 @@ int ff_h2645_sei_to_frame(AVFrame *frame, H2645SEI *sei,
h274 = &fgp->codec.h274;
fgp->seed = seed;
+ fgp->width = frame->width;
+ fgp->height = frame->height;
+
+ /* H.274 mandates film grain be applied to 4:4:4 frames */
+ fgp->subsampling_x = fgp->subsampling_y = 0;
h274->model_id = fgc->model_id;
if (fgc->separate_colour_description_present_flag) {
- h274->bit_depth_luma = fgc->bit_depth_luma;
- h274->bit_depth_chroma = fgc->bit_depth_chroma;
- h274->color_range = fgc->full_range + 1;
- h274->color_primaries = fgc->color_primaries;
- h274->color_trc = fgc->transfer_characteristics;
- h274->color_space = fgc->matrix_coeffs;
+ fgp->bit_depth_luma = fgc->bit_depth_luma;
+ fgp->bit_depth_chroma = fgc->bit_depth_chroma;
+ fgp->color_range = fgc->full_range + 1;
+ fgp->color_primaries = fgc->color_primaries;
+ fgp->color_trc = fgc->transfer_characteristics;
+ fgp->color_space = fgc->matrix_coeffs;
} else {
- h274->bit_depth_luma = bit_depth_luma;
- h274->bit_depth_chroma = bit_depth_chroma;
+ fgp->bit_depth_luma = bit_depth_luma;
+ fgp->bit_depth_chroma = bit_depth_chroma;
if (vui->video_signal_type_present_flag)
- h274->color_range = vui->video_full_range_flag + 1;
- else
- h274->color_range = AVCOL_RANGE_UNSPECIFIED;
+ fgp->color_range = vui->video_full_range_flag + 1;
if (vui->colour_description_present_flag) {
- h274->color_primaries = vui->colour_primaries;
- h274->color_trc = vui->transfer_characteristics;
- h274->color_space = vui->matrix_coeffs;
- } else {
- h274->color_primaries = AVCOL_PRI_UNSPECIFIED;
- h274->color_trc = AVCOL_TRC_UNSPECIFIED;
- h274->color_space = AVCOL_SPC_UNSPECIFIED;
+ fgp->color_primaries = vui->colour_primaries;
+ fgp->color_trc = vui->transfer_characteristics;
+ fgp->color_space = vui->matrix_coeffs;
}
}
h274->blending_mode_id = fgc->blending_mode_id;
h274->log2_scale_factor = fgc->log2_scale_factor;
+#if FF_API_H274_FILM_GRAIN_VCS
+FF_DISABLE_DEPRECATION_WARNINGS
+ h274->bit_depth_luma = fgp->bit_depth_luma;
+ h274->bit_depth_chroma = fgp->bit_depth_chroma;
+ h274->color_range = fgp->color_range;
+ h274->color_primaries = fgp->color_primaries;
+ h274->color_trc = fgp->color_trc;
+ h274->color_space = fgp->color_space;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
+
memcpy(&h274->component_model_present, &fgc->comp_model_present_flag,
sizeof(h274->component_model_present));
memcpy(&h274->num_intensity_intervals, &fgc->num_intensity_intervals,
--
2.44.0
_______________________________________________
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".
next prev parent reply other threads:[~2024-03-18 16:58 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-18 16:54 [FFmpeg-devel] [PATCH v4 00/13] AFGS1 film grain support Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 01/13] avutil/film_grain_params: add metadata to common struct Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 02/13] avutil/film_grain_params: initialize VCS to UNSPECIFIED Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 03/13] avfilter/vf_showinfo: adapt to new AVFilmGrainParams Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 04/13] ffprobe: " Niklas Haas
2024-03-18 16:54 ` Niklas Haas [this message]
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 06/13] avcodec/av1dec: signal new AVFilmGrainParams members Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 07/13] avcodec/libdavv1d: " Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 08/13] avutil/frame: clarify AV_FRAME_DATA_FILM_GRAIN_PARAMS usage Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 09/13] avutil/film_grain_params: add av_film_grain_params_select() Niklas Haas
2024-03-22 9:56 ` Anton Khirnov
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 10/13] avcodec/aom_film_grain: add AOM film grain synthesis Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 11/13] avcodec/aom_film_grain: implement AFGS1 parsing Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 12/13] avcodec/h2645_sei: decode AFGS1 T.35 SEI Niklas Haas
2024-03-18 16:54 ` [FFmpeg-devel] [PATCH v4 13/13] avcodec/hevcdec: apply AOM film grain synthesis Niklas Haas
2024-03-21 12:12 ` [FFmpeg-devel] [PATCH v4 00/13] AFGS1 film grain support Niklas Haas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240318165651.75520-6-ffmpeg@haasn.xyz \
--to=ffmpeg@haasn.xyz \
--cc=ffmpeg-devel@ffmpeg.org \
--cc=git@haasn.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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