資源簡介
壓縮包里自帶avilib.h和avilib.cpp,解壓后,配置下Qt環(huán)境,可以直接運行,經(jīng)測試,良心好用

代碼片段和文件信息
/*
?*??avilib.c
?*
?*??Copyright?(C)?Thomas?謘treich?-?June?2001
?*??multiple?audio?track?support?Copyright?(C)?2002?Thomas?謘treich?
?*
?*??Original?code:
?*??Copyright?(C)?1999?Rainer?Johanni??
?*
?*??This?file?is?part?of?transcode?a?linux?video?stream?processing?tool
?*??????
?*??transcode?is?free?software;?you?can?redistribute?it?and/or?modify
?*??it?under?the?terms?of?the?GNU?General?Public?License?as?published?by
?*??the?Free?Software?Foundation;?either?version?2?or?(at?your?option)
?*??any?later?version.
?*???
?*??transcode?is?distributed?in?the?hope?that?it?will?be?useful
?*??but?WITHOUT?ANY?WARRANTY;?without?even?the?implied?warranty?of
?*??MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.??See?the
?*??GNU?General?Public?License?for?more?details.
?*???
?*??You?should?have?received?a?copy?of?the?GNU?General?Public?License
?*??along?with?GNU?Make;?see?the?file?COPYING.??If?not?write?to
?*??the?Free?Software?Foundation?675?Mass?Ave?Cambridge?MA?02139?USA.?
?*
?*/
//SLM
#ifdef?WIN32
#include?
#define?ftruncate?_chsize
#define?strncasecmp?_strnicmp
typedef?int?ssize_t;
#endif
#ifdef?__CYGWIN__
#include?
#endif
#include?“avilib.h“
//#include?
#define?INFO_LIST
/*?The?following?variable?indicates?the?kind?of?error?*/
long?AVI_errno?=?0;
#define?MAX_INFO_STRLEN?64
static?char?id_str[MAX_INFO_STRLEN];
#define?frame_RATE_SCALE?1000000
/*******************************************************************
?*?????????????????????????????????????????????????????????????????*
?*????Utilities?for?writing?an?AVI?File????????????????????????????*
?*?????????????????????????????????????????????????????????????????*
?*******************************************************************/
static?size_t?avi_read(int?fd?char?*buf?size_t?len)
{
???size_t?n?=?0;
???size_t?r?=?0;
???while?(r???????n?=?read?(fd?buf?+?r?len?-?r);
??????if?((ssize_t)n?<=?0)
??return?r;
??????r?+=?n;
???}
???return?r;
}
static?size_t?avi_write?(int?fd?char?*buf?size_t?len)
{
???size_t?n?=?0;
???size_t?r?=?0;
???while?(r???????n?=?write?(fd?buf?+?r?len?-?r);
??????if?((ssize_t)n?0)
?????????return?n;
??????
??????r?+=?n;
???}
???return?r;
}
/*?HEADERBYTES:?The?number?of?bytes?to?reserve?for?the?header?*/
#define?HEADERBYTES?2048
/*?AVI_MAX_LEN:?The?maximum?length?of?an?AVI?file?we?stay?a?bit?below
????the?2GB?limit?(Remember:?2*10^9?is?smaller?than?2?GB)?*/
#define?AVI_MAX_LEN?(UINT_MAX-(1<<20)*16-HEADERBYTES)
#define?PAD_EVEN(x)?(?((x)+1)?&?~1?)
/*?Copy?n?into?dst?as?a?4?byte?little?endian?number.
???Should?also?work?on?big?endian?machines?*/
static?void?long2str(unsigned?char?*dst?int?n)
{
???dst[0]?=?(n????)&0xff;
???dst[1]?=?(n>>?8)&0xff;
???dst[2]?=?(n>>16)&0xff;
???dst[3]?=?(n>>24)&0xff;
}
/*?Convert?a?string?of?4?or?2?bytes?to?a?number
???also?working?on?big?endian?machines?*/
static?unsigned?long?str2ulong(unsigned?char?*str)
{
???return?(?str[0]?|?(str[1]<<8)?|?(str[2]<<1
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????52966??2006-09-20?23:47??recoder2\recoder2\avilib.cpp
?????文件??????11659??2007-01-06?00:53??recoder2\recoder2\avilib.h
?????文件???????3864??2020-01-07?18:26??recoder2\recoder2\GeneratedFiles\Debug\moc_recoder2.cpp
?????文件???????1402??2020-01-07?18:19??recoder2\recoder2\GeneratedFiles\qrc_recoder2.cpp
?????文件???????3418??2020-01-07?18:19??recoder2\recoder2\GeneratedFiles\ui_recoder2.h
?????文件????????175??2020-01-07?18:15??recoder2\recoder2\main.cpp
?????文件???????1064??2020-01-07?18:26??recoder2\recoder2\recoder2.cpp
?????文件????????590??2020-01-07?18:23??recoder2\recoder2\recoder2.h
?????文件?????????68??2020-01-07?18:15??recoder2\recoder2\recoder2.qrc
?????文件???????1769??2020-01-07?18:18??recoder2\recoder2\recoder2.ui
?????文件??????18743??2020-01-07?18:19??recoder2\recoder2\recoder2.vcxproj
?????文件???????2867??2020-01-07?18:19??recoder2\recoder2\recoder2.vcxproj.filters
?????文件????????674??2020-01-07?18:19??recoder2\recoder2\recoder2.vcxproj.user
?????文件??????73321??2020-01-07?18:19??recoder2\recoder2\x64\Debug\avilib.obj
?????文件?????295255??2020-01-07?18:26??recoder2\recoder2\x64\Debug\main.obj
?????文件?????299028??2020-01-07?18:26??recoder2\recoder2\x64\Debug\moc_recoder2.obj
?????文件???????5736??2020-01-07?18:19??recoder2\recoder2\x64\Debug\qrc_recoder2.obj
?????文件???????2358??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.log
?????文件?????389502??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.obj
?????文件???????5584??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\cl.command.1.tlog
?????文件??????78266??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\CL.read.1.tlog
?????文件???????3502??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\CL.write.1.tlog
?????文件???????1824??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\custombuild.command.1.tlog
?????文件????????492??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\custombuild.read.1.tlog
?????文件????????806??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\custombuild.write.1.tlog
?????文件???????2062??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\li
?????文件???????4210??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\li
?????文件???????1018??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\li
?????文件????????165??2020-01-07?18:26??recoder2\recoder2\x64\Debug\recoder2.tlog\recoder2.lastbuildstate
?????文件????1568768??2020-01-07?18:26??recoder2\recoder2\x64\Debug\vc120.pdb
............此處省略20個文件信息
評論
共有 條評論