gpt4 book ai didi

video - 如何从 scRGB 颜色空间中的 HDR 视频中获取帧?

转载 作者:行者123 更新时间:2023-12-04 23:25:40 30 4
gpt4 key购买 nike

我想创建一个简单的视频播放器,可以在 HDR 电视上显示 HDR 视频。例如,这个“LG Chess HDR”视频。它采用 HEVC 编码,位深为 10 位,像素格式为 YUV420P10LE,具有 BT2020 颜色空间和 PQ 传递函数的元数据。

this NVIDIA article我找到了下一个:

The display driver takes the scRGB back buffer, and converts it to the standard expected by the display presently connected. In general, this means converting the color space from sRGB primaries to BT. 2020 primaries, scaling to an appropriate level, and encoding with a mechanism like PQ. Also, possibly performing conversions like RGB to YCC if that display connection requires it.



这意味着我的播放器应该在 scRGB color space 中渲染像素。 (线性编码,sRGB 原色,全范围为 -0.5 到略小于 +7.5)。所以我需要以某种方式从这个颜色空间中的源视频中获取帧,最好是 FP16 像素格式(半浮点,每个颜色 channel 16 位)。我来到以下简单的管道将视频渲染为 HDR:
source HDR video in BT2020 color space with applied PQ -> [some video library] -> 
-> video frames with colors in scRGB color space -> [my program] ->
-> rendered video on HDR TV with applied conversions by display driver

我正在尝试使用 FFmpeg 作为这个库,但不明白如何从 scRGB 颜色空间中的源 HDR 视频中获取帧 .

我用 sws_scale现在使用 FFmpeg 方法来获取帧并了解过滤器 API。但是我没有找到任何关于如何使用这些功能在不解析所有源视频的元数据并为它们创建自定义视频过滤器的情况下透明地获取 scRGB 帧的信息和帮助。

请告诉我如何使用 FFmpeg 在 scRGB 颜色空间中获取帧。有人可以告诉其他图书馆我可以做到吗?

最佳答案

要么我错了,要么你钻研太多细节。据我所知,对于 UHD HDR 解码,过程与 SDR 相同 + 您应该发送 metadata到电视/显示器。

如果是PC,我相信你应该检查UHD MetadataNVAPI Functions文档的部分。 FP16 的东西可能来自 OpenGL 或 DirectX,可能与游戏和渲染有关,所以除非你重新发明轮子,否则你永远不应该使用这些格式(只有 10+bit yuv)。

希望有帮助。

关于video - 如何从 scRGB 颜色空间中的 HDR 视频中获取帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49082820/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com