/* unzip.c -- IO for uncompress .zip files using zlib
Version 1.1, February 14h, 2010
part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
Modifications of Unzip for Zip64
Copyright (C) 2007-2008 Even Rouault
Modifications for Zip64 support on both zip and unzip
Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
For more info read MiniZip_info.txt
------------------------------------------------------------------------------------
Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of
compatibility with older software. The following is from the original crypt.c.
Code woven in by Terry Thorsen 1/2003.
Copyright (c) 1990-2000 Info-ZIP. All rights reserved.
See the accompanying file LICENSE, version 2000-Apr-09 or later
(the contents of which are also included in zip.h) for terms of use.
If, for some reason, all these files are missing, the Info-ZIP license
also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
crypt.c (full version) by Info-ZIP. Last revised: [see crypt.h]
The encryption/decryption parts of this source code (as opposed to the
non-echoing password parts) were originally written in Europe. The
whole source package can be freely distributed, including from the USA.
(Prior to January 2000, re-export from the US was a violation of US law.)
This encryption code is a direct transcription of the algorithm from
Roger Schlafly, described by Phil Katz in the file appnote.txt. This
file (appnote.txt) is distributed with the PKZIP program (even in the
version without encryption capabilities).
------------------------------------------------------------------------------------
Changes in unzip.c
2007-2008 - Even Rouault - Addition of cpl_unzGetCurrentFileZStreamPos
2007-2008 - Even Rouault - Decoration of symbol names unz* -> cpl_unz*
2007-2008 - Even Rouault - Remove old C style function prototypes
2007-2008 - Even Rouault - Add unzip support for ZIP64
Copyright (C) 2007-2008 Even Rouault
Oct-2009 - Mathias Svensson - Removed cpl_* from symbol names (Even Rouault added them but since this is now moved to a new project (minizip64) I renamed them again).
Oct-2009 - Mathias Svensson - Fixed problem if uncompressed size was > 4G and compressed size was <4G
should only read the compressed/uncompressed size from the Zip64 format if
the size from normal header was 0xFFFFFFFF
Oct-2009 - Mathias Svensson - Applied some bug fixes from paches recived from Gilles Vollant
Oct-2009 - Mathias Svensson - Applied support to unzip files with compression mathod BZIP2 (bzip2 lib is required)
Patch created by Daniel Borca
Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer
Copyright (C) 1998 - 2010 Gilles Vollant, Even Rouault, Mathias Svensson
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#ifndef NOUNCRYPT
// #define NOUNCRYPT
//#endif
#include "zlib.h"
#include "MHUnzip.h"
#ifdef STDC
# include <stddef.h>
# include <string.h>
# include <stdlib.h>
#endif
#ifdef NO_ERRNO_H
extern int errno;
#else
# include <errno.h>
#endif
#ifndef local
# define local static
#endif
/* compile with -Dlocal if your debugger can't find static symbols */
#ifndef CASESENSITIVITYDEFAULT_NO
# if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES)
# define CASESENSITIVITYDEFAULT_NO
# endif
#endif
#ifndef UNZ_BUFSIZE
#define UNZ_BUFSIZE (16384)
#endif
#ifndef UNZ_MAXFILENAMEINZIP
#define UNZ_MAXFILENAMEINZIP (256)
#endif
#ifndef ALLOC
# define ALLOC(size) (malloc(size))
#endif
#ifndef TRYFREE
# define TRYFREE(p) {if (p) free(p);}
#endif
#define SIZECENTRALDIRITEM (0x2e)
#define SIZEZIPLOCALHEADER (0x1e)
const char unz_copyright[] =
" unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";
/* unz_file_info_interntal contain internal info about a file in zipfile*/
typedef struct unz_file_info64_internal_s
{
ZPOS64_T offset_curfile;/* relative offset of local header 8 bytes */
} mh_unz_file_info64_internal;
/* file_in_zip_read_info_s contain internal information about a file in zipfile,
when reading and decompress it */
typedef struct
{
char *read_buffer; /* internal buffer for compressed data */
z_stream stream; /* zLib stream structure for inflate */
#ifdef HAVE_BZIP2
bz_stream bstream; /* bzLib stream structure for bziped */
#endif
ZPOS64_T pos_in_zipfile; /* position in byte on the zipfile, for fseek*/
uLong stream_initialised; /* flag set if stream structure is initialised*/
ZPOS64_T offset_local_extrafield;/* offset of the local extra field */
uInt size_local_extrafield;/* size of the local extra field */
ZPOS64_T pos_local_extrafield; /* position in the local extra field in read*/
ZPOS64_T total_out_64;
uLong crc32; /* crc32 of all data uncompressed */
uLong crc32_wait; /* crc32 we must obtain after decompress all */
ZPOS64_T rest_read_compressed; /* number of byte to be decompressed */
ZPOS64_T rest_read_uncompressed;/*number of byte to be obtained after decomp*/
mh_zlib_filefunc64_32_def z_filefunc;
voidpf filestream; /* io structore of the zipfile */
uLong compression_method; /* compression method (0==store) */
ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
int raw;
} mh_file_in_zip64_read_info_s;
/* unz64_s contain internal information about the zipfile
*/
typedef struct
{
mh_zlib_filefunc64_32_def z_filefunc;
int is64bitOpenFunction;
voidpf filestream; /* io structore of the zipfile */
mh_unz_global_info64 gi; /* public global information */
ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
ZPOS64_T num_file; /* number of the current file in the zipfile*/
ZPOS64_T pos_in_central_dir; /* pos of the current file in the central dir*/
ZPOS64_T current_file_ok; /* flag about the usability of the current file*/
ZPOS64_T central_pos; /* position of the beginning of the central dir*/
ZPOS64_T size_central_dir; /* size of the central directory */
ZPOS64_T offset_central_dir; /* offset of start of central directory with
respect to the starting disk number */
mh_unz_file_info64 cur_file_info; /* public info about the current file in zip*/
mh_unz_file_info64_internal cur_file_info_internal; /* private info about it*/
mh_file_in_zip64_read_info_s* pfile_in_zip_read; /* structure about the current
file if we are decompressing it */
int encrypted;
int isZip64;
# ifndef NOUNCRYPT
unsigned long keys[3]; /* keys defining the pseudo-random sequence */
const unsigned long* pcrc_32_tab;
# endif
} mh_unz64_s;
#ifndef NOUNCRYPT
#include "MHCrypt.h"
#endif
/* ===========================================================================
Read a byte from a gz_stream; update next_in and avail_in. Return EOF
for end of file.
IN assertion: the stream s has been sucessfully opened for reading.
*/
local int mh_unz64local_getByte OF((
const mh_zlib_filefunc64_32_def* pzlib_filefunc_def,
voidpf filestream,
int *pi));
local int mh_unz64local_getByte(const mh_zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi)
{
unsigned char c;
int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1);
if (err==1)
{
*pi = (int)c;
return UNZ_OK;
没有合适的资源?快使用搜索试试~ 我知道了~
直播美颜系统特效SDK.rar
共1431个文件
h:684个
m:459个
png:213个
需积分: 5 1 下载量 70 浏览量
2023-06-14
06:10:30
上传
评论 1
收藏 39.72MB RAR 举报
温馨提示
直播平台的视频美颜sdk是什么,可以做什么?简而言之,直播美颜sdk是将直播平台的视频美颜效果做成一个sdk,给用户提供美颜效果选择,同时提供不同的视频分辨率,可以让用户在观看直播时有更好的体验。那么具体有什么功能呢?我们一起来了解一下 一、磨皮 磨皮的主要作用是能够有效去除脸上的皱纹、色斑等,通过磨皮可以让视频上脸的皮肤更好,比如很多人想要把脸上的痘印去掉,可以通过磨皮去除痘印。由于很多人不知道磨皮是怎么回事,也没有太多了解这方面的知识,所以会感觉很难做,其实想要做好磨皮也不难,比如通过添加图片素材来进行磨皮,我们可以先准备好需要磨皮处理的图片素材,之后就可以通过磨皮插件将图片素材上脸即可。这样就能轻松解决磨皮问题。 二、美白 直播平台的视频美颜sdk还支持美白,针对肤色不均匀的人群,可以进行美白处理,让你在直播间里显得白一点,皮肤更加细腻有光泽。直播平台的视频美颜sdk还支持添加各种滤镜,其中包括瘦脸、磨皮、微笑唇、大眼、瘦脸等,并且支持多种滤镜效果组合使用。除了提供各种滤镜效果外,直播美颜还支持一些通用的操作,比如添加视频水印、添加文字翻译、设置美颜后是否展示原相机等。
资源推荐
资源详情
资源评论
收起资源包目录
直播美颜系统特效SDK.rar (1431个子文件)
libMGFacepp-0.5.2.a 40.55MB
libMGLicMgrSDK-0.3.1.a 755KB
MHUnzip.c 71KB
MHZip.c 66KB
MHMztools.c 8KB
MHIoapi.c 8KB
server.cer 923B
.gitignore 9B
GPURenderKit 11.77MB
MHUnzip.h 16KB
MHZip.h 15KB
UIButton+WebCache.h 13KB
SDWebImageManager.h 11KB
UIImageView+WebCache.h 10KB
SDImageCache.h 9KB
MKFaceBaseData.h 8KB
MHEncryptDefine.h 8KB
GPUImageFramework.h 8KB
GPUImageFramework.h 8KB
GPUImageFramework.h 8KB
GPUImage.h 7KB
GPUImage.h 7KB
GPUImage.h 7KB
GPUImage.h 7KB
GPUImage.h 7KB
MHIoapi.h 7KB
SDWebImageDownloader.h 7KB
GPUImageFilter.h 6KB
GPUImageFilter.h 6KB
GPUImageFilter.h 6KB
UIImageView+HighlightedWebCache.h 5KB
GPUImageVideoCamera.h 5KB
GPUImageVideoCamera.h 5KB
GPUImageVideoCamera.h 5KB
MGFacepp.h 5KB
GPUImageOutput.h 5KB
GPUImageOutput.h 5KB
GPUImageOutput.h 5KB
MHCrypt.h 5KB
MHBeautyParams.h 4KB
WNSegmentControl.h 4KB
SDWebImageDownloaderOperation.h 4KB
GPUImageAVCamera.h 4KB
GPUImageAVCamera.h 4KB
SDWebImagePrefetcher.h 4KB
MHBeautiesModel.h 3KB
GPUImageHoughTransformLineDetector.h 3KB
GPUImageHoughTransformLineDetector.h 3KB
GPUImageHoughTransformLineDetector.h 3KB
GPUImageCannyEdgeDetectionFilter.h 3KB
GPUImageCannyEdgeDetectionFilter.h 3KB
GPUImageCannyEdgeDetectionFilter.h 3KB
GPUImageMovieWriterFix.h 3KB
GPUImageMovieWriterFix.h 3KB
GPUImageMovieWriterFix.h 3KB
GPUImageContext.h 3KB
GPUImageContext.h 3KB
GPUImageContext.h 3KB
GPUImageMovieWriter.h 3KB
GPUImageMovieWriter.h 3KB
GPUImageMovieWriter.h 3KB
GPUImageContext.h 2KB
GPUImageContext.h 2KB
MGFaceppCommon.h 2KB
GPUImageMovie.h 2KB
GPUImageMovie.h 2KB
GPUImageMovie.h 2KB
GPUImageHarrisCornerDetectionFilter.h 2KB
GPUImageHarrisCornerDetectionFilter.h 2KB
GPUImageHarrisCornerDetectionFilter.h 2KB
StickerDataListModel.h 2KB
MHMeiyanMenusView.h 2KB
GPUImageMovieWriter.h 2KB
GPUImageMovieWriter.h 2KB
MHZipArchive.h 2KB
GPUImageStillCamera.h 2KB
GPUImageStillCamera.h 2KB
GPUImageStillCamera.h 2KB
GPUImageGaussianBlurFilter.h 2KB
GPUImageGaussianBlurFilter.h 2KB
GPUImageGaussianBlurFilter.h 2KB
SDWebImageCompat.h 2KB
GPUImageLevelsFilter.h 2KB
GPUImageLevelsFilter.h 2KB
GPUImageLevelsFilter.h 2KB
GPUImagePicture.h 2KB
GPUImagePicture.h 2KB
GPUImagePicture.h 2KB
GPUImageSkinToneFilter.h 2KB
GPUImageSkinToneFilter.h 2KB
GPUImageSkinToneFilter.h 2KB
MGFaceInfo.h 2KB
MHBeautyAssembleView.h 2KB
GPUImageView.h 2KB
GPUImageView.h 2KB
GPUImageView.h 2KB
GPUImageView.h 2KB
GPUImageView.h 2KB
GPUImageRawDataInput.h 1KB
GPUImageRawDataInput.h 1KB
共 1431 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
资源评论
野生的狒狒
- 粉丝: 3393
- 资源: 2436
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功