- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
尝试解码 H.264 视频流的 SDP sprop-parameter-sets 值并发现访问某些值将涉及 Exp-Golomb 编码数据的解析,我的方法包含 base64 解码的 sprop-parameter-在一个字节数组中设置数据,我现在有点走,但已经到了 Exp-Golomb 编码数据的第一部分,并寻找合适的代码提取来解析这些值。
最佳答案
什么阶的 Exp.-Golomb 代码?如果您需要解析 H.264 比特流(我的意思是传输层),您可以编写一个简单的函数来访问无尽比特流中的特定比特。从左到右的位索引。
inline u_dword get_bit(const u_byte * const base, u_dword offset)
{
return ((*(base + (offset >> 0x3))) >> (0x7 - (offset & 0x7))) & 0x1;
}
该函数实现零范围的exp-Golomb码解码(用于H.264)。
u_dword DecodeUGolomb(const u_byte * const base, u_dword * const offset)
{
u_dword zeros = 0;
// calculate zero bits. Will be optimized.
while (0 == get_bit(base, (*offset)++)) zeros++;
// insert first 1 bit
u_dword info = 1 << zeros;
for (s_dword i = zeros - 1; i >= 0; i--)
{
info |= get_bit(base, (*offset)++) << i;
}
return (info - 1);
u_dword 表示无符号 4 字节整数。u_byte 表示无符号 1 字节整数。
请注意,每个 NAL Unit 的第一个字节是具有禁止位、NAL 引用和 NAL 类型的指定结构。
关于c++ - 有没有人有使用 C++ 解析 Exp-Golomb 代码的简单解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2363500/
我正在尝试将 ffmpeg 作为静态库与 android NDK 链接,但我收到如下“多重定义错误”错误。我还包含了我的构建脚本,该脚本可以很好地运行所有内容,但是当我将 Eclipse 中的库与 A
尝试解码 H.264 视频流的 SDP sprop-parameter-sets 值并发现访问某些值将涉及 Exp-Golomb 编码数据的解析,我的方法包含 base64 解码的 sprop-par
我正在使用 ffmpeg 捕获 UDP 多播流并将其保存到文件中,但我遇到了“无效的 UE golomb 代码”的问题 命令: ffmpeg -i "udp://238.0.0.1:1234" -c
或者,也许,我没有得到的是 unary coding : 在 Golomb, or Rice, coding , 你拆分了一个号码 N将其除以另一个数字 M 分成两部分然后用一元编码该除法的整数结果,
我是一名优秀的程序员,十分优秀!