我是否应该在数据流的最开始处期待 JPEG SOI 标记?

2024-03-30

...或者我应该深入数据流寻找0xFF 0xD8顺序?

From this Q https://stackoverflow.com/questions/5413022/is-the-2nd-and-3rd-byte-of-a-jpeg-image-always-the-app0-or-app1-marker,我了解到APPn不必立即遵循SOI。是否存在符合规范的 JPEG 情况,其中 SOI 位置!= 流的开头?


引用规范(附录 B,第 1.1.2 节):

标记用于识别不同的结构部分 压缩数据格式。大多数标记开始标记段包含 一组相关参数;有些标记是独立的。所有标记 分配了两字节代码:一个 X'FF' 字节,后跟一个字节,该字节是 不等于 0 或 X’FF’(见表 B.1)。任何标记都可以可选地 前面有任意数量的填充字节,这些字节是分配代码的字节 X'FF'。


libjpegSOI 之前不允许有垃圾:

/* Like next_marker, but used to obtain the initial SOI marker. */
/* For this marker, we do not allow preceding garbage or fill; otherwise,
* we might well scan an entire input file before realizing it ain't JPEG.
* If an application wants to process non-JFIF files, it must seek to the
* SOI before calling the JPEG library.
*/

From: 随机libjpeg镜像 https://github.com/LuaDist/libjpeg/blob/b1dc50aefb40e62d4bb08356e414e785b23a3a5c/jdmarker.c#L957-L964.

例如。这go执行 http://golang.org/src/pkg/image/jpeg/reader.go?s=10732:10777#L238也不允许前面的垃圾。

然而,如果有疑问,请遵循波斯特尔定律:

接受的内容要自由,发送的内容要保守

不过,您不想太自由,否则您可能最终不会从流中提取实际的 JPEG,而是提取嵌入的 EXIF 缩略图或类似的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我是否应该在数据流的最开始处期待 JPEG SOI 标记? 的相关文章

  • Android 中的离屏绘图

    android 中是否可以像 Objective C 中的 imageContext 那样进行离屏绘图 如果有的话 请告诉我链接或某种提示 多谢 我相信您正在寻找Canvas http developer android com refer
  • 将图像添加到可通过私人存储库中的 github 查看的 jupyter 笔记本

    我发现通过一个简单的例子嵌入 jupyter 标记中的图像 img myimage png 当存储库是私有的时 不会显示在 github 笔记本查看器中 我尝试了很多黑客行为 显然 4 x x 中有将图像嵌入为 Base64 元数据的功能
  • 图像缩放会导致 Firefox/Internet Explorer 质量较差,但 Chrome 不会

    See http jsfiddle net aJ333 1 http jsfiddle net aJ333 1 在 Chrome 中 然后在 Firefox 或 Internet Explorer 中 图像最初是 120 像素 我缩小到 2
  • 当我使用 ctx.drawImage() 在画布中放置另一个图像时,无法将画布另存为图像

    我正在尝试制作绘图应用程序 您可以在画布上绘制一些内容 并通过单击 保存 按钮将结果保存为服务器上的图像 您还可以放置另一张图像作为绘图的背景 问题是 当我使用 ctx drawImage 将图像放入画布时 我无法将画布保存为图像 因为什么
  • 如何在Android中将图像文件转换为pdf文件

    我正在尝试在 Android 应用程序中将图像文件 jpg 转换为 pdf 文件 我用过itextpdf罐子和机器人文本罐 都不适合我 下面是使用时的代码itextpdf Document document new Document Str
  • 如何获取javafx imageView中显示图像的宽度/高度?

    我需要获取 imegView 中显示图像的宽度 高度 并将其与 imageView getImage getWidth getHeight 中的原始图像大小进行比较 并在用户从应用程序 GUI 中调整其大小时监听更改 I get this
  • 将二进制文件转换为图像

    我需要找到一种将二进制文件转换为图像的快速方法 二进制文件由 N 个NN 矩阵 我想将 0 与一种颜色关联 将 1 与另一种颜色关联 我需要对超过 1000 个二进制文件执行此操作 如果可能的话 我想避免使用 MatLab 有没有任何工具
  • Facebook Stream.publish 带有来自 Base64 的图像附件

    我正在尝试让 facebook 的stream publish 制作一个墙贴 其中包含一些自定义文本和从该网站动态生成的图像 该图像仅以 Base64 形式提供 因为它是由用户在启动发布操作之前绘制的 Facebook 似乎不喜欢 src
  • 将图像转换为二进制流

    我的应用程序有两个方面 一方面我使用 C 来使用 Pleora 的 EBUS SDK 从相机读取帧 当第一次接收到该流时 在将缓冲区转换为图像之前 我能够一次读取 16 位流 以便对每个像素执行一些计算 即每个像素都存在一个 16 位数据块
  • JQuery 可拖动图像并保存位置

    好吧 这变得很尴尬 已经搜索并尝试了大约 5 个小时 但我只是在兜圈子 场景很简单 它是用户个人资料的标题图像 可以将其拖动到某个位置 然后将图像的顶部位置保存到数据库中 感谢 Beetroot Beetroot 的 遏制 父级 我开始关注
  • 如何在android sdk中从图库中获取图像并将其显示到屏幕上

    我想知道如何从图库中获取预先保存的图像 然后将其显示到屏幕上 任何教程 有用的链接和信息将不胜感激 如果您希望我进一步解释任何内容 请询问 Intent photoPickerIntent new Intent Intent ACTION
  • WPF 图像控件源绑定

    我是 WPF 和 C 的新手 我尝试实现以下功能 但在多次尝试后失败了 谁能帮我吗 我有一个图像控件
  • 加载一张随机 flickr 图像并附加到 div

    我基本上试图加载从特定用户和特定集合中获取的随机 flickr 图像 然后将其显示在 ID 为 flickr wrap 的 div 中 我正在尝试操纵此 JSON 代码来执行我想要的操作 但不知道从哪里开始 这段代码当前加载了很多图像 我只
  • 将图像文件存储在猫鼬模式的二进制数据中并以html形式显示图像

    我正在使用 Express Node js 和 Mongodb 创建上传和显示图像文件的网页 我使用 schema 将图像的二进制文件保存在 mongodb 中 这是我在index js和db js中的一点代码 var Post mongo
  • Google App Engine - 破坏服务 URL 缓存

    我终于设法让图像在 App Engine 上正确旋转 现在我正在努力绕过缓存的图像 而标准缓存清除技术不起作用 因此 第一次旋转图像时 我得到了一个不同的 URL 并且图像被旋转 第二次旋转它时 我得到相同的 URL 只有在附加 s300
  • 同时重新排序和旋转图像的高效方法

    为了快速加载 jpeg 我为turbojpeg 实现了一个 mex wrapper 以有效地将 大 jpeg 读入 MATLAB 对于 4000x3000px 的图像 实际解码只需要大约 120 毫秒 而不是 5 毫秒 然而 像素顺序是 R
  • Android 如何从我的应用程序使用 SD 卡中的文件路径预览图像

    文件存在于sdcard image jpg我想创建我自己的应用程序 活动 按下按钮时 需要使用内置图像查看器显示存储在 SD 卡中的图像 按图像查看器中的后退按钮后 它应该返回到我正在运行的应用程序 需要一些帮助 您可以为此创建一个具有适当
  • 将 UIImage 放入 UIButton 的简单方法

    我的 iPhone 应用程序中有一个 UIButton 我将其大小设置为 100x100 我有一个 400x200 的图像 我希望在按钮中显示它 按钮仍然需要保持在 100x100 并且我希望图像缩小以适应 但是 保持正确的纵横比 我想这就
  • 如何修复此 YCrCb -> RBG 转换公式?

    我使用的公式来自这个问题 https stackoverflow com questions 8838481 kcvpixelformattype 420ypcbcr8biplanarfullrange frame to uiimage c
  • 使用 SSL 的 Xamarin.Forms Image.Source

    我正在使用一个在线商店来存储通过我们的应用程序上传的用户图像 并受 SSL 保护 上传工作一切顺利 因为我使用的是带有附加证书的 WebClient 但是当我尝试使用 Xamarin Forms Image 组件时 例如将源设置为 http

随机推荐

  • 将 jquery masonry 集成到 zurb 基础网格中

    我在将砌体与基础网格布局集成时遇到问题 本质上 对于具有不同高度的相同宽度图像 砌体按预期工作 但在某些断点处 网格将仅具有两列布局 而不是通常的四列布局 但是 如果您继续最小化浏览器宽度 则会返回四列 因此不可能没有空间来显示它们 var
  • 通过父id和mysql中的where子句获取所有子项

    我有一个表 将 id 和parent id 存储在同一个表中 我想要一个接受parent id 作为参数并返回第n 级的所有子节点的递归查询 为此 我正在使用此代码并为我正常工作 select id name parent from sel
  • 如何使用 PowerShell 发送电子邮件

    我想从 PowerShell 发送电子邮件 所以我使用这个命令 EmailFrom email protected cdn cgi l email protection EmailTo email protected cdn cgi l e
  • 使用 eval 和 eval-source-map 有什么区别?

    我正在使用 webpack 来配置源映射 我想知道有人可以澄清 eval 和 eval source map 之间的区别吗 我个人看不出有什么区别 来自文档 https webpack js org configuration devtoo
  • .NET Core 的 IWebProxy 实现的位置

    System Net IWebProxy 的可用实现是什么 来自 System Net Primitives DNX Core 根据应用程序要求 dnxcore50 中可以使用唯一的框架 那么包含代理实现的正确 NuGet 包是什么 解决此
  • 在运行时测试 iOS 版本特定功能的推荐方法

    我的目标是 IOS 4 3 和 5 0 其中一个应用程序是针对 5 0 SDK 构建的 并且希望仅当该应用程序在 iOS5 设备上运行时才添加对 iOS5 中引入的 Twitter 功能的支持 在运行时可靠地测试这些操作系统功能的可用性而不
  • Apollo GraphQL 请求被取消

    我正在使用 React 类型前置文本字段组件Downshift and react apollo 当用户输入时 我正在查询输入建议并将其显示在文本字段下方 不幸的是 这段经历并不顺利 由于某种原因 Apollo 时不时会取消 50 以上的请
  • 使用 facebook graph api 搜索好友

    Facebook 是否有用于搜索用户好友的 API Tim 您可以这样搜索朋友的名字 select uid name sex from user where uid in SELECT uid2 FROM friend WHERE uid1
  • 对于阿拉伯语应用程序,英文字母的顺序相反(在 wkwebview 内)

    您好 当我将操作系统更新到版本 14 时 我在 webview 中看到了一个问题 即我的阿拉伯应用程序上的英文字母顺序相反 我的应用程序本地化设置为 Localization native development region ar 并使用
  • database_cleaner 正在擦除我的开发数据库

    I have database cleaner为我的 Rails 4 应用程序配置 每次运行测试时 我发现我的数据库在两个版本中都被清除了test and development环境 我的配置在rails helper如下 ENV RAIL
  • 使用 build_runner 在子模块中构建 JsonSerialized 模型

    我有一个带有子模块的 Flutter 项目 root Flutter project Flutter module 1 Flutter module 2 Flutter module N 每个模块包含带有注释的类 JsonSerializa
  • 如何在java中将图像转换为棕褐色?

    我正在寻找免费或收费图书馆 Update 看起来没有这样的库 但以下代码按预期工作 param img Image to modify param sepiaIntensity From 0 255 30 produces nice res
  • Paypal IPN 捐赠

    我有一个 WordPress 1 页网站 可以选择在 Paypal 捐赠后下载音乐曲目 最低金额为 3 99 美元 该按钮工作正常并且贝宝付款通过 但我只是从贝宝返回无效 它似乎没有正确地将内容写回到贝宝 另外 我怎样才能看到贝宝发回给我的
  • 防止 EditText 在点击“空格”时转到新行

    我想要一个多行的 EditText 并且句子的第一个字母是大写的 我在用着
  • 布局管理器区域的动态调整大小

    在哪个 Swing 布局管理器中可以通过编程方式更改布局区域 以及如何以最低的成本做到这一点 我必须从头开始创建功能类似于 JSplitPane 但具有三个面板的组件 其中一个时刻是单击分隔板上的 oneTouchExpandable 按钮
  • ASP.NET MVC 菜单所选项目

    好的 MVC 新手 我曾问过this https stackoverflow com questions 4647135 asp net mvc sitemap and or security trimming早些时候提出问题并得到了答案
  • 从 std::tuple 派生时出现混乱,无法处理 std::get

    我的基本想法是从 std tuple 派生我自己的类 以获取一些辅助类型 如下所示 template
  • CLion 行注释的自动缩进不一致

    CLion 中出现一些奇怪的自动缩进 我不明白为什么 这是一个例子 int i1 5 some comments then I hit Enter auto indentation goes here I hit Enter again I
  • 如何从文本文件中读取数据

    如何从文本文件中读取输入 输入文件有几行长 每行的格式为city city distance有两个城市以及它们之间的距离 我尝试了几种方法来读取输入 但不幸的是这些都不起作用 我需要 解析每行上的各个值 每行由 2 个城市名称和它们之间的距
  • 我是否应该在数据流的最开始处期待 JPEG SOI 标记?

    或者我应该深入数据流寻找0xFF 0xD8顺序 From this Q https stackoverflow com questions 5413022 is the 2nd and 3rd byte of a jpeg image al