分享好友 最新动态首页 最新动态分类 切换频道
Android UVC驱动外接摄像头手机usb外置摄像头「Android UVC驱动外接摄像头」
2025-02-22 16:59
Background ========== libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs. libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface. libjpeg-turbo was originally based on libjpeg/SIMD, an MMX-accelerated derivative of libjpeg v6b developed by Miyasaka Masaru. The TigerVNC and VirtualGL projects made numerous enhancements to the codec in 2009, and in early 2010, libjpeg-turbo spun off into an independent project, with the goal of making high-speed JPEG compression/decompression technology available to a broader range of users and developers. License ======= libjpeg-turbo is covered by three compatible BSD-style open source licenses. Refer to [LICENSE.md](LICENSE.md) for a roll-up of license terms. Building libjpeg-turbo ====================== Refer to [BUILDING.md](BUILDING.md) for complete instructions. Using libjpeg-turbo =================== libjpeg-turbo includes two APIs that can be used to compress and decompress JPEG images: - **TurboJPEG API** This API provides an easy-to-use interface for compressing and decompressing JPEG images in memory. It also provides some functionality that would not be straightforward to achieve using the underlying libjpeg API, such as generating planar YUV images and performing multiple simultaneous lossless transforms on an image. The Java interface for libjpeg-turbo is written on top of the TurboJPEG API. - **libjpeg API** This is the de facto industry-standard API for compressing and decompressing JPEG images. It is more difficult to use than the TurboJPEG API but also more powerful. The libjpeg API implementation in libjpeg-turbo is both API/ABI-compatible and mathematically compatible with libjpeg v6b. It can also optionally be configured to be API/ABI-compatible with libjpeg v7 and v8 (see below.) There is no significant performance advantage to either API when both are used to perform similar operations. Colorspace Extensions --------------------- libjpeg-turbo includes extensions that allow JPEG images to be compressed directly from (and decompressed directly to) buffers that use BGR, BGRX, RGBX, XBGR, and XRGB pixel ordering. This is implemented with ten new colorspace constants: JCS_EXT_RGB JCS_EXT_RGBX JCS_EXT_BGR JCS_EXT_BGRX JCS_EXT_XBGR JCS_EXT_XRGB JCS_EXT_RGBA JCS_EXT_BGRA JCS_EXT_ABGR JCS_EXT_ARGB Setting `cinfo.in_color_space` (compression) or `cinfo.out_color_space` (decompression) to one of these values will cause libjpeg-turbo to read the red, green, and blue values from (or write them to) the appropriate position in the pixel when compressing from/decompressing to an RGB buffer. Your application can check for the existence of these extensions at compile time with: #ifdef JCS_EXTENSIONS At run time, attempting to use these extensions with a libjpeg implementation that does not support them will result in a "Bogus input colorspace" error. Applications can trap this error in order to test whether run-time support is available for the colorspace extensions. When using the RGBX, BGRX, XBGR, and XRGB colorspaces during decompression, the X byte is undefined, and in order to ensure the best performance, libjpeg-turbo can set that byte to whatever value it wishes. If an application expects the X byte to be used as an alpha channel, then it should specify `JCS_EXT_RGBA`, `JCS_EXT_BGRA`, `JCS_EXT_ABGR`, or `JCS_EXT_ARGB`. When these colorspace constants are used, the X byte is guaranteed to be 0xFF, which is interpreted as opaque. Your application can check for the existence of the alpha channel colorspace extensions at compile time with: #ifdef JCS_ALPHA_EXTENSIONS [jcstest.c](jcstest.c), located in the libjpeg-turbo source tree, demonstrates how to check for the existence of the colorspace extensions at compile time and run time. libjpeg v7 and v8 API/ABI Emulation ----------------------------------- With libjpeg v7 and v8, new features were added that necessitated extending the compression and decompression structures. Unfortunately, due to the exposed nature of those structures, extending them also necessitated breaking backward ABI compatibility with previous libjpeg releases. Thus, programs that were built to use libjpeg v7 or v8 did not work with libjpeg-turbo, since it is based on the libjpeg v6b code base. Although libjpeg v7 and v8 are not as widely used as v6b, enough programs (including a few Linux distros) made the switch that there was a demand to emulate the libjpeg v7 and v8 ABIs in libjpeg-turbo. It should be noted, however, that this feature was added primarily so that applications that had already been compiled to use libjpeg v7+ could take advantage of accelerated baseline JPEG encoding/decoding without recompiling. libjpeg-turbo does not claim to support all of the libjpeg v7+ features, nor to produce identical output to libjpeg v7+ in all cases (see below.) By passing an argument of `--with-jpeg7` or `--with-jpeg8` to `configure`, or an argument of `-DWITH_JPEG7=1` or `-DWITH_JPEG8=1` to `cmake`, you can build a version of libjpeg-turbo that emulates the libjpeg v7 or v8 ABI, so that programs that are built against libjpeg v7 or v8 can be run with libjpeg-turbo. The following section describes which libjpeg v7+ features are supported and which aren't. ### Support for libjpeg v7 and v8 Features #### Fully supported - **libjpeg: IDCT scaling extensions in decompressor** libjpeg-turbo supports IDCT scaling with scaling factors of 1/8, 1/4, 3/8, 1/2, 5/8, 3/4, 7/8, 9/8, 5/4, 11/8, 3/2, 13/8, 7/4, 15/8, and 2/1 (only 1/4 and 1/2 are SIMD-accelerated.) - **libjpeg: Arithmetic coding** - **libjpeg: In-memory source and destination managers** See notes below. - **cjpeg: Separate quality settings for luminance and chrominance** Note that the libpjeg v7+ API was extended to accommodate this feature only for convenience purposes. It has always been possible to implement this feature with libjpeg v6b (see rdswitch.c for an example.) - **cjpeg: 32-bit BMP support** - **cjpeg: `-rgb` option** - **jpegtran: Lossless cropping** - **jpegtran: `-perfect` option** - **jpegtran: Forcing width/height when performing lossless crop** - **rdjpgcom: `-raw` option** - **rdjpgcom: Locale awareness** #### Not supported NOTE: As of this writing, extensive research has been conducted into the usefulness of DCT scaling as a means of data reduction and SmartScale as a means of quality improvement. The reader is invited to peruse the research at <http://www.libjpeg-turbo.org/About/SmartScale> and draw his/her own conclusions, but it is the general belief of our project that these features have not demonstrated sufficient usefulness to justify inclusion in libjpeg-turbo. - **libjpeg: DCT scaling in compressor** `cinfo.scale_num` and `cinfo.scale_denom` are silently ignored. There is no technical reason why DCT scaling could not be supported when
最新文章
“好生态能换钱,逐渐成了共识”
本报记者 鲜 敢格林村与远处的雪山、近处的森林共同构成一幅生态画卷。黄家斌摄在西藏自治区墨脱县甘登乡,有一个叫“格林”的小山村。这里的春天,桃花竞相开放,森林茂密幽深,云海翻涌,雪山矗立,当地群众的生活更是比蜜甜。 从墨脱县
独家|专访F1 CEO多梅尼卡利:从赛道到荧幕 75岁F1讲述新故事
本报记者 尹丽梅 张硕 北京报道在2025赛季世界一级方程式锦标赛(F1)中国大奖赛落幕不久,F1主席兼CEO斯蒂法诺·多梅尼卡利(Stefano Domenicali),这位身上有着很多光环的传奇人物接受了《中国经营报》记者的专访。多梅尼卡利从2021年1
AI方大同、开设收费“纪念音乐会”,赋音乐维权
3月31日,赋音乐接连发布公告进行维权。其一是针对短视频平台中有一账号疑似利用方大同ai独白散布不实信息,操纵舆论,误导大众,其内容包含大量不实信息,对方大同造成不良影响,赋音乐向平台提起侵权投诉。其二是再度提示粉丝官方目前并
vivo Y37 远山青 6GB+128GB 天玑6300八核 双卡5G 5000毫安大电池 15W闪充 1300万影像手机参数vivoy37手机多少钱「vivo Y37 远山青 6GB+128GB
详细参数品牌:vivo型号:vivo Y37上市时间(日):2024-07-11入网许可证号:00-B220-241673整机质保年限:1年机身内存:128GB运行内存:6GB屏幕尺寸:6.56英寸屏幕分辨率:1600x720屏幕材质:LCD屏幕类型:全面屏屏幕前摄组合:水滴
从春晚舞台到消博会,宇树科技为何说机器人普及将不是梦?
当“AI孙悟空”作为中国馆唯一大模型展项,在日本大阪·关西世博会为全球游客提供中、日、英三国语言幽默问答和智慧导览时,这两天的海口,科大讯飞同样以国产自主可控讯飞星火大模型,向世界展示中国科技创新的先锋力量。第五届中国国际消
2025年粤港澳大湾区羽毛球混合团体赛即将开赛
记者4月9日获悉,2025年粤港澳大湾区羽毛球混合团体赛(宝安总决赛)将于4月19日至20日在深圳宝安体育馆举行,广州、深圳、珠海、佛山、惠州、东莞、中山、江门、肇庆以及香港、澳门等11个城市的24支羽毛球精英队伍将齐聚深圳,共同赛出湾
手机数据恢复管家手机短信一键恢复「手机数据恢复管家」
手机数据恢复管家是一款手机上照片恢复及数据库管理类软件工具。不用申请注册,专注于对于开展数据化管理。一键扫描仪迅速恢复手机拍摄的图片,相册图片中查询太大图的恢复几率更高一些,找回手机图片,文档,视频。归类展现图片,文档,视
激光雷达、高阶智驾都是基操?这款中大型SUV,还有车载无人机
如今我国汽车市场上,新能源汽车逐渐成为主流,各种新能源车型得到消费者喜爱,汽车市场的发展呈现“智能化”的特点。什么是智能化?在很多消费者的眼里,除去车辆座舱内部,需要搭载大尺寸屏幕,支持各种智能互联功能之外,还要搭载丰富的
OPPO手机的差异化营销策略分析 .pdf手机营销「OPPO手机的差异化营销策略分析 .pdf」
新校园百家讲坛OPPO手机的差异化营销策略分析 何 迪 潘 婷 (通化师范学院工商管理学院,吉林 通化 134001) 摘要:我国手机市场发展迅速,一直处于销量上升趋势。在手机市场竞争愈发激烈的情况下,差异化营销的地位日益突出。以手机市
什么样的手机壳更适合你呢?你必须了解的手机壳材质!手机壳什么材质的好「什么样的手机壳更适合你呢?你必须了解的手机壳材质!」
​​从聚碳酸酯(PC)的坚韧与透明,到硅胶的柔软与耐用,再到金属的高档与风格,手机壳的材质丰富多样,每一种都有其独特的特点与优势。那么怎样更适合呢?不妨看看下面手机壳优缺点!选购适合你的那款手机壳! ​聚碳酸酯 优点:耐冲击
相关文章
推荐文章
发表评论
0评