问题标签 [h.265]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
video - 修改 HEVC HM 参考代码
我对 HEVC 编解码器领域非常陌生。我正在使用 HM 参考代码版本 10.1。我的任务是将他的 CU 大小限制为 16x16。因此,我尝试的是在配置文件中将参数MaxCUWidth、MaxCUHeight分别设置为 16 和 16。这可确保最大 CU 大小限制为 16x16。但是,下一个参数是QuadtreeTULog2MaxSize 和 QuadtreeTULog2MinSize。为了确保 CU 不被细分,即使 MinCUSize 为 16x16,我必须将 QuadtreeTULog2MaxSize 和 QuadtreeTULog2MinSize 分别设置为 4 和 4(我使用文档部分中的软件手册确定了这个值)。因此,当我给出 4 和 4 作为它们的值时,代码会因错误而崩溃:
所以现在我必须在解析输入配置文件的函数中修改HM参考源代码。即TAppEncCfg::xCheckParameter()函数。我的问题是我无法弄清楚代码需要在哪里以及如何更改,以免影响其他参数。任何与此相关的帮助对我来说都是非常有价值的。请帮忙。提前致谢。
video - HM 参考代码中的 HEVC 禁用率失真优化
我正在使用 HEVC HM 参考代码版本 10。我的任务是禁用 HEVC 参考编码器的 RDO。为此,我尝试在配置文件中将RDOQ和RDOQTS设置为 0,但这并没有帮助,因为执行更改前后的 PSNR 和文件大小保持不变。任何提示/答案都对我很有帮助。因此,如果可以,请提供帮助。提前致谢。
ffmpeg - 如何将 HEVC 文件解码为 YUV?
我想将 HEVC 编码文件解码为 YUV 文件。
有什么简单的方法可以做到这一点吗?一个可执行文件会很好,但我会使用易于编译的源代码。
video - FFMPEG 支持 HEVC 解码
FFMPEG v2.1 及更高版本提供对 HEVC 解码的支持。我尝试了一个基本的输入 bin 流作为它的输入,是的,我得到了一个相应的 YUV 文件。
现在我的问题是,由于我只是将基本流作为输入传递,解码器如何解析它?
我已经完成了/libavformat/hevcdec.c
应该是HEVC
. 我知道它检测文件是否可以被 HEVC 解码器解码的hevc_probe()
功能。hevcdec.c
hevc_probe() 函数的定义如下:
根据我读过的任何内容,只有当这个函数返回一个类型的常量时AVPROBE_SCORE_EXTENSION
,解码才会继续。然而它正在返回AVPROBE_SCORE_EXTENSION+1
为什么呢?
同样如上面在代码中所见,它们正在type
从获得的输入位代码中确定一些变量,并在诸如 sps、pps 等常量中执行增量。是需要由可以解码基本的解析器执行的正常操作吗?溪流?
如果有人能够简要介绍可以解码基本流的解码器的解析器,那将对每个人都非常有帮助。
请帮忙。提前致谢。
video - HEVC:从输入 bin 流中获取输入宽度和高度
我使用HM-12.0
参考代码创建了一个基本的 bin 流。所以输出是一个 HEVC 编码的 bin 流(比如 input.bin)。
我有一个任务涉及读取这个基本流的标题。那就是我需要从文件中获取诸如流宽度、高度等信息input.bin
。
在看到很多流之后,我可以得出结论,所有这些 bin 流都是从序列开始的:
所以每当我在任何 bin 流中看到这个序列时,我可以说这个流必须由 HEVC 解码器解码。
此外,如果我想从 input.bin 中获取宽度、高度、fps 等(如 ffmpeg 中的 ff_raw_video_read_header 函数),那么需要执行哪些步骤来获取此信息?
我已经浏览了 HEVC 草案的解析部分,但对于我在视频领域的水平来说,它非常复杂。谁能建议一种从编码的 bin 文件中获取所需信息的简单方法?
任何建议都会对我很有帮助。提前致谢。
ffmpeg - FFMPEG:HEVC 解码器中的帧参数初始化
我正在浏览集成在 FFMPEG 中的 HEVC 解码器。我实际上是在尝试了解它的流程和工作方式。
通过流,我的意思是代码中读取输入 .bin 文件的各种参数的部分。比如它在哪里读取分辨率,它在哪里决定它需要播放的 fps,输出显示格式是 yuv420p 等。
最初我怀疑是位于/libavformat/hevcdec.c
In this file 的 hevc 的 demuxer 执行输入文件读取工作。有一个探测函数,用于检测在解码输入 bin 流时选择哪个解码器。此外,我们有一个FF_DEF_RAWVIDEO_DEMUXER
. 从输入文件中读取的分辨率和其他参数是否在此函数中?
其次,我怀疑hevc解析器位于:/libavcodec/hevc_parser.c
但在这里我认为它只是解析帧数据,即找到帧尾。那么,我的这个假设对吗?
任何建议或任何预测都会对我很有帮助。请提出您宝贵的建议。提前致谢。
video - 在编码比特流中查找帧大小
我正在使用 HM 12.1 参考代码。我必须从编码的 h.265 位流中找到以字节或 KB 为单位的帧大小。我对视频处理很陌生,我陷入了困境。请帮忙!
c++ - ffmpeg hevc (x265) 编码
我正在尝试在 ffmpeg 库中使用 h265 编码器,但给我这个错误:
这是我的代码:
此代码适用于 h264 编码器,有人知道为什么不适用于 hevc 吗?
video - 在 HM 12.1 参考代码中查找 PU 尺寸
我正在使用 HM 12.1 参考代码。我的任务是从编码的 h.265 比特流中找到 PU 尺寸(对称和非对称)。
在 TLibDecoder > TDecEntropy.cpp > decodePUWise 函数中,我插入了一个 printf 语句来打印尺寸,但它似乎没有给出正确的答案。请帮忙!
for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset )
{
printf("%d X %d\n", pcCU->getHeight(uiSubPartIdx), pcCU->getWidth(uiSubPartIdx)); /* I put this code */
video - 如何从 h.265 编码比特流中获取 cpb 丰满度信息?
我的工作是绘制 cpb 丰满度与时间的关系图。但我无法获得 cpb 丰满度信息。谁能建议我在 HM 参考代码中的哪里寻找它?