BlinkenArea - GitList
Repositories
Blog
Wiki
BlinkenLib
Code
Commits
Branches
Tags
Search
Tree:
3af9b27
Branches
Tags
master
v0.1
v0.2
v0.3
v0.3.1
v0.4
v0.4.1
v0.5
v0.5.1
v0.5.2
v0.5.3
v0.5.4
v0.5.5
v0.6.0
v0.6.1
v0.6.2
v0.6.3
v0.6.4
v0.6.5
v0.6.6
v0.6.7
v0.6.8
v0.6.9
v0.7.0
v0.7.1
v0.7.10
v0.7.2
v0.7.3
v0.7.4
v0.7.5
v0.7.6
v0.7.7
v0.7.8
v0.7.9
v0.8.0
v0.8.1
BlinkenLib
BlinkenLib
BlinkenMovie.h
implement cutting movie in time
Stefan Schuermans
commited
3af9b27
at 2014-05-10 15:48:33
BlinkenMovie.h
Blame
History
Raw
/* BlinkenLib Copyright 2004-2014 Stefan Schuermans <stefan@schuermans.info> Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html a blinkenarea.org project */ #ifndef INC_BlinkenLib_BlinkenMovie #define INC_BlinkenLib_BlinkenMovie #include <BlinkenLib/config.h> #include <BlinkenLib/BlinkenFrame.h> #ifdef WIN32 #include <winsock2.h> #else #define SOCKET int #define INVALID_SOCKET -1 #endif #ifdef __cplusplus extern "C" { #endif typedef struct sBlinkenMovie stBlinkenMovie; stBlinkenMovie *BlinkenMovieNew(int height, int width, int channels, int maxval); stBlinkenMovie *BlinkenMovieClone(stBlinkenMovie *pSrcMovie); void BlinkenMovieFree(stBlinkenMovie *pMovie); int BlinkenMovieGetHeight(stBlinkenMovie *pMovie); int BlinkenMovieGetWidth(stBlinkenMovie *pMovie); int BlinkenMovieGetChannels(stBlinkenMovie *pMovie); int BlinkenMovieGetMaxval(stBlinkenMovie *pMovie); int BlinkenMovieGetDuration(stBlinkenMovie *pMovie); int BlinkenMovieGetInfoCnt(stBlinkenMovie *pMovie); char *BlinkenMovieGetInfoType(stBlinkenMovie *pMovie, int infoNo); char *BlinkenMovieGetInfoData(stBlinkenMovie *pMovie, int infoNo); void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, const char *pInfoType, const char *pInfoData); void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, const char *pInfoType, const char *pInfoData); void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, const char *pInfoType, const char *pInfoData); void BlinkenMovieDeleteInfo(stBlinkenMovie *pMovie, int infoNo); void BlinkenMovieDeleteInfos(stBlinkenMovie *pMovie); int BlinkenMovieGetFrameCnt(stBlinkenMovie *pMovie); stBlinkenFrame *BlinkenMovieGetFrame(stBlinkenMovie *pMovie, int frameNo); void BlinkenMovieSetFrame(stBlinkenMovie *pMovie, int frameNo, stBlinkenFrame *pFrame); int BlinkenMovieInsertFrame(stBlinkenMovie *pMovie, int frameNo, stBlinkenFrame *pFrame); int BlinkenMovieAppendFrame(stBlinkenMovie *pMovie, stBlinkenFrame *pFrame); void BlinkenMovieDeleteFrame(stBlinkenMovie *pMovie, int frameNo); void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie); int BlinkenMovieConcat(stBlinkenMovie *pMovie, stBlinkenMovie *pMovie2 /* appended and freed */); void BlinkenMovieReverse(stBlinkenMovie *pMovie); void BlinkenMovieCutTime(stBlinkenMovie *pMovie, int begin /* in ms */, int end /* in ms */); void BlinkenMovieResize(stBlinkenMovie *pMovie, int height, int width, int channels, int maxval); void BlinkenMovieCrop(stBlinkenMovie *pMovie, int top, int left, int height, int width); void BlinkenMovieScale(stBlinkenMovie *pMovie, int height, int width); void BlinkenMovieColorize(stBlinkenMovie *pMovie, int channels, int mode); void BlinkenMovieCopyRect(stBlinkenMovie *pDest, int destY, int destX, stBlinkenMovie *pSrc, int srcY, int srcX, int height, int width); void BlinkenMovieRotateCw(stBlinkenMovie *pMovie); void BlinkenMovieRotateCcw(stBlinkenMovie *pMovie); void BlinkenMovieRotateHalf(stBlinkenMovie *pMovie); void BlinkenMovieMirrorHor(stBlinkenMovie *pMovie); void BlinkenMovieMirrorVer(stBlinkenMovie *pMovie); void BlinkenMovieMirrorDiag(stBlinkenMovie *pMovie); void BlinkenMovieMirrorDiag2(stBlinkenMovie *pMovie); char *BlinkenMovieToString(stBlinkenMovie *pMovie); stBlinkenMovie *BlinkenMovieLoadBlm(const char *pFilename); stBlinkenMovie *BlinkenMovieLoadBmm(const char *pFilename); stBlinkenMovie *BlinkenMovieLoadBml(const char *pFilename); stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename); #ifdef BLINKENLIB_CFG_MNG stBlinkenMovie *BlinkenMovieLoadMng(const char *pFilename); #endif // #ifdef BLINKENLIB_CFG_MNG stBlinkenMovie *BlinkenMovieLoad(const char *pFilename); int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, const char *pFilename); int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, const char *pFilename); int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename); int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, const char *pFilename); #ifdef BLINKENLIB_CFG_MNG int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, const char *pFilename); #endif // #ifdef BLINKENLIB_CFG_MNG int BlinkenMovieSave(stBlinkenMovie *pMovie, const char *pFilename); void BlinkenMovieSend(stBlinkenMovie *pMovie, SOCKET udpSocket, etBlinkenProto proto, int maxidle); // udp socket must be "connected" // maxidle is the maximum idle time between two frames in ms (last frame is // repeated after this time), use 0 to turn off this feature stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, etBlinkenProto * pProto); // udp socket must be "bound" and should be "connected" // after timeout ms of no reception, the movie is considered to be complete // returns protocol in *pProto if pProto not NULL #ifdef __cplusplus } // extern "C" #endif #endif // #ifndef INC_BlinkenLib_BlinkenMovie