您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ AVIFileRelease函数代码示例

51自学网 2021-06-01 19:38:53
  C++
这篇教程C++ AVIFileRelease函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中AVIFileRelease函数的典型用法代码示例。如果您正苦于以下问题:C++ AVIFileRelease函数的具体用法?C++ AVIFileRelease怎么用?C++ AVIFileRelease使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了AVIFileRelease函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: DeleteDC

void CAviFile::ReleaseMemory(){	m_nAppendFuncSelector=0;		//Point to DummyFunction	if(m_hAviDC)	{		DeleteDC(m_hAviDC);		m_hAviDC=NULL;	}	if(m_pAviCompressedStream)	{		AVIStreamRelease(m_pAviCompressedStream);		m_pAviCompressedStream=NULL;	}	if(m_pAviStream)	{		AVIStreamRelease(m_pAviStream);		m_pAviStream=NULL;	}	if(m_pAviFile)	{		AVIFileRelease(m_pAviFile);		m_pAviFile=NULL;	}	if(m_lpBits)	{		HeapFree(m_hHeap,HEAP_NO_SERIALIZE,m_lpBits);		m_lpBits=NULL;	}	if(m_hHeap)	{		HeapDestroy(m_hHeap);		m_hHeap=NULL;	}}
开发者ID:stainlessio,项目名称:Linkage,代码行数:35,


示例2: free_anim_avi

static void free_anim_avi(struct anim *anim){#if defined(_WIN32) && !defined(FREE_WINDOWS)	int i;#endif	if (anim == NULL) return;	if (anim->avi == NULL) return;	AVI_close(anim->avi);	MEM_freeN(anim->avi);	anim->avi = NULL;#if defined(_WIN32) && !defined(FREE_WINDOWS)	if (anim->pgf) {		AVIStreamGetFrameClose(anim->pgf);		anim->pgf = NULL;	}	for (i = 0; i < anim->avistreams; i++) {		AVIStreamRelease(anim->pavi[i]);	}	anim->avistreams = 0;	if (anim->pfileopen) {		AVIFileRelease(anim->pfile);		anim->pfileopen = 0;		AVIFileExit();	}#endif	anim->duration = 0;}
开发者ID:244xiao,项目名称:blender,代码行数:34,


示例3: AVIStreamRelease

bool NxVideo_Avi_Recorder::CloseVideoFile(){	if (mVideo->m_pStream)	{		AVIStreamRelease(mVideo->m_pStream);		mVideo->m_pStream=NULL;	}	if (mVideo->m_pStreamCompressed)	{		AVIStreamRelease(mVideo->m_pStreamCompressed);		mVideo->m_pStreamCompressed=NULL;	}	if (mVideo->m_pAVIFile)	{		AVIFileRelease(mVideo->m_pAVIFile);		mVideo->m_pAVIFile=NULL;	}	// Close engine	AVIFileExit();	return true;}
开发者ID:nxgraphics,项目名称:NxGraphics,代码行数:25,


示例4: capCaptureAbort

void CMainFrame::OnClose(){	// TODO: 在此添加消息处理程序代码和/或调用默认值	capCaptureAbort(m_hWndCap);	capDriverDisconnect(m_hWndCap);	Sleep(100);	capSetCallbackOnError(m_hWndCap,NULL);	capSetCallbackOnStatus(m_hWndCap,NULL);	capSetCallbackOnVideoStream(m_hWndCap,NULL);	delete lpbiIn;	delete lpbiTmp;	delete lpbiOut;	if (m_vfwState==ENCDEC){		ICDecompressEnd(hic2);		ICClose(hic2);		ICSeqCompressFrameEnd(&pc);		ICCompressEnd(hic1);		ICClose(hic1);		AVIStreamClose(ps);		if(m_pFile != NULL)			AVIFileRelease(m_pFile);	}	enc_stop();	dec_stop();	Sleep(100);	CFrameWnd::OnClose();}
开发者ID:hiccupzhu,项目名称:misc_starting,代码行数:29,


示例5: test_ash1_corruption

static void test_ash1_corruption(void){    COMMON_AVI_HEADERS cah;    char filename[MAX_PATH];    PAVIFILE pFile;    int res;    PAVISTREAM pStream1;    AVISTREAMINFOA asi1;    GetTempPathA(MAX_PATH, filename);    strcpy(filename+strlen(filename), testfilename);    /* Corrupt the sample size in the audio stream header */    init_test_struct(&cah);    cah.ash1.dwSampleSize = 0xdeadbeef;    create_avi_file(&cah, filename);    res = AVIFileOpenA(&pFile, filename, OF_SHARE_DENY_WRITE, 0L);    ok(res == 0, "Unable to open file: error=%u/n", res);    res = AVIFileGetStream(pFile, &pStream1, 0, 1);    ok(res == 0, "Unable to open audio stream: error=%u/n", res);    res = AVIStreamInfoA(pStream1, &asi1, sizeof(asi1));    ok(res == 0, "Unable to read stream info: error=%u/n", res);    /* The result will still be 2, because the value is dynamically replaced with the nBlockAlign       value from the stream format header. The next test will prove this */    ok(asi1.dwSampleSize == 2, "got %u (expected 2)/n", asi1.dwSampleSize);    AVIStreamRelease(pStream1);    AVIFileRelease(pFile);    ok(DeleteFileA(filename) !=0, "Deleting file %s failed/n", filename);}
开发者ID:AlexSteel,项目名称:wine,代码行数:35,


示例6: test_ash1_corruption2

static void test_ash1_corruption2(void){    COMMON_AVI_HEADERS cah;    char filename[MAX_PATH];    PAVIFILE pFile;    int res;    PAVISTREAM pStream1;    AVISTREAMINFOA asi1;    GetTempPathA(MAX_PATH, filename);    strcpy(filename+strlen(filename), testfilename);    /* Corrupt the block alignment in the audio format header */    init_test_struct(&cah);    cah.pcmwf.wf.nBlockAlign = 0xdead;    create_avi_file(&cah, filename);    res = AVIFileOpenA(&pFile, filename, OF_SHARE_DENY_WRITE, 0L);    ok(res == 0, "Unable to open file: error=%u/n", res);    res = AVIFileGetStream(pFile, &pStream1, 0, 1);    ok(res == 0, "Unable to open audio stream: error=%u/n", res);    ok(AVIStreamInfoA(pStream1, &asi1, sizeof(asi1)) == 0, "Unable to read stream info/n");    /* The result will also be the corrupt value, as explained above. */    ok(asi1.dwSampleSize == 0xdead, "got 0x%x (expected 0xdead)/n", asi1.dwSampleSize);    AVIStreamRelease(pStream1);    AVIFileRelease(pFile);    ok(DeleteFileA(filename) !=0, "Deleting file %s failed/n", filename);}
开发者ID:AlexSteel,项目名称:wine,代码行数:33,


示例7: AVIFileInit

bool CAviHelper::AVI_resolution(const wstring& strAviFileName, int& width, int& height){	AVIFileInit();	PAVIFILE avi;	int res = AVIFileOpen(&avi, WS2S(strAviFileName).c_str(), OF_READ, NULL);	int n = GetLastError();	if (res!=AVIERR_OK)	{		//an error occures		if (avi!=NULL)			AVIFileRelease(avi);		return false;	}	AVIFILEINFO avi_info;	memset(&avi_info, 0, sizeof(AVIFILEINFO));	res = AVIFileInfo(avi, &avi_info, sizeof(AVIFILEINFO));	if( res != AVIERR_OK)	{		AVIFileExit();		return false;	}	width = avi_info.dwWidth;	height = avi_info.dwHeight;	AVIFileExit();	return true;}
开发者ID:killbug2004,项目名称:DvrWorkstation,代码行数:29,


示例8: OpenSoundFile

BOOL OpenSoundFile(HWND hWnd,PAVISTREAM *pavi)	{#ifndef INTERIM_64_BIT	// CCJ	OPENFILENAME ofn;	char filter[256];	AVIBuildFilter(filter,sizeof(filter),FALSE);	ofn.lStructSize       = sizeof(OPENFILENAME);	ofn.hwndOwner         = hWnd;	ofn.hInstance         = NULL;		ofn.lpstrTitle        = GetResString(IDS_RB_OPENSOUND);	ofn.lpstrFilter       = filter;	ofn.lpstrCustomFilter = NULL;	ofn.nMaxCustFilter    = 0;	ofn.nFilterIndex      = 0;	ofn.lpstrFile         = fileName;	ofn.nMaxFile          = sizeof(fileName);	ofn.lpstrFileTitle    = NULL;	ofn.nMaxFileTitle     = 0;	ofn.lpstrInitialDir   = NULL;	ofn.Flags             = OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY;	ofn.nFileOffset       = 0;	ofn.nFileExtension    = 0;	ofn.lpstrDefExt       = NULL;	ofn.lCustData         = 0;	ofn.lpfnHook          = NULL;	ofn.lpTemplateName    = NULL;	if (GetOpenFileNamePreview(&ofn)) {		HRESULT		hr;    	PAVIFILE	pfile;		PAVISTREAM	pstream;		BOOL res = TRUE;   	 	hr = AVIFileOpen(&pfile,fileName,OF_READ,NULL);    	if (hr) return FALSE;		if (AVIFileGetStream(				pfile,&pstream,streamtypeAUDIO,0) != AVIERR_OK) {						res = FALSE;			goto done;			}				*pavi = pstream;	done:		AVIFileRelease(pfile);		return res;	} else {		return FALSE;		}#else	// INTERIM_64_BIT	return FALSE;#endif	// INTERIM_64_BIT	}
开发者ID:2asoft,项目名称:xray,代码行数:56,


示例9: AVIFileRelease

void VideoReader::Close(){    // Close the stream and file.     AVIFileRelease(m_pf);     AVIFileExit();    if (m_lpBuffer != NULL)    {        free(m_lpBuffer);    }}
开发者ID:bryan610,项目名称:concrtextras,代码行数:11,


示例10: AVIStreamRelease

void CvVideoWriter_VFW::close(){    if( uncompressed )        AVIStreamRelease( uncompressed );    if( compressed )        AVIStreamRelease( compressed );    if( avifile )        AVIFileRelease( avifile );    cvReleaseImage( &tempFrame );    init();}
开发者ID:12rohanb,项目名称:opencv,代码行数:11,


示例11: CloseAvi

HRESULT CloseAvi(HAVI avi){ if (avi==NULL) return AVIERR_BADHANDLE;  TAviUtil *au = (TAviUtil*)avi;  if (au->as!=0) AVIStreamRelease(au->as); au->as=0;  if (au->psCompressed!=0) AVIStreamRelease(au->psCompressed); au->psCompressed=0;  if (au->ps!=0) AVIStreamRelease(au->ps); au->ps=0;  if (au->pfile!=0) AVIFileRelease(au->pfile); au->pfile=0;  AVIFileExit();  delete au;  return S_OK;}
开发者ID:rikvdbrule,项目名称:KinectRecording,代码行数:11,


示例12: AVIFileRelease

AVIReadHandlerTunnelW32::~AVIReadHandlerTunnelW32() {    if (mpAvisynthClipInfo) {        mpAvisynthClipInfo->Release();        mpAvisynthClipInfo = nullptr;    }    if (mpAVIFile) {        AVIFileRelease(mpAVIFile);        mpAVIFile = nullptr;    }}
开发者ID:Cybuster,项目名称:vapoursynth,代码行数:11,


示例13: AVIStreamGetFrameClose

void CAviToBmp::Close(){	if (m_pGetFrame != NULL)		AVIStreamGetFrameClose(m_pGetFrame);	if (m_pStream != NULL)		AVIStreamRelease(m_pStream);	if (m_pFile != NULL)		AVIFileRelease(m_pFile);	if (m_pBmpInfo != NULL)		delete m_pBmpInfo;	Init();}
开发者ID:fdiskcn,项目名称:Whorld,代码行数:12,


示例14: AVI_stream_close

// AVI_stream_close() should be called when you are finished reading all the frames of an AVI//void AVI_stream_close(){	//	Assert( AVI_stream.flags & AVI_STREAM_F_USED);   AVIStreamRelease(AVI_stream.pstream);				// closes the video stream	AVIFileRelease(AVI_stream.pfile);					// closes the file 	AVI_stream.flags &= ~AVI_STREAM_F_USED;			// clear the used flag	AVIFileExit();          // releases AVIFile library 	AVI_stream_inited = 0;}
开发者ID:lubomyr,项目名称:freespace2,代码行数:14,


示例15: Print

AviFile::~AviFile(){    if (!play) {        Print("*** Closing AVI file '%s' with %d frames/n", (const char*) filename, nframe);    }    if (ps_comp)   AVIStreamRelease(ps_comp);    if (ps)        AVIStreamRelease(ps);    if (pfile)     AVIFileRelease(pfile);    AVIFileExit();}
开发者ID:Banbury,项目名称:starshatter-open,代码行数:12,


示例16: captureVideo

void captureVideo(HDC hDC){	if(saves.size()>0){		SendMessage(hWnd,WM_COMMAND,MAKEWPARAM(IDC_LISTBOX,LBN_SELCHANGE),0);		currentFrame = 0;		GLvoid *imageData = 0;		while(WWDPhysics->totaltime<10000){			while(!WWDPhysics->clientMoveAndDisplay(true, hDC)){}			HDC hdcscreen=GetDC(0), hdc=CreateCompatibleDC(hdcscreen); ReleaseDC(0,hdcscreen);			HBITMAP hData;			hData = CreateDIBSection(hdc,(BITMAPINFO*) bi,DIB_RGB_COLORS,&imageData,NULL,NULL);			GdiFlush(); //flush graphics operations batch to ensure memory contains the right pixels			if(imageData!=0){				glReadPixels(0, 0, abs(simWidth), abs(simHeight), GL_BGRA, GL_UNSIGNED_BYTE, imageData); //Copy the image to the array imageData				DIBSECTION dibs; int sbm = GetObject(hData,sizeof(dibs),&dibs);				if (sbm!=sizeof(DIBSECTION)){#ifdef _DEBUG					printf("dibsection fault/n");#endif				}else{					DWORD keyframe = NULL;					if(currentFrame==0){keyframe=AVIIF_KEYFRAME;}					AVIStreamWrite(*pcompressedstream,currentFrame,1,dibs.dsBm.bmBits,dibs.dsBmih.biSizeImage,keyframe,NULL,NULL);					currentFrame++;				}				DeleteObject(hData);			}			else{#ifdef _DEBUG				printf("frame skipped nr %d/n",currentFrame);#endif			}		}	}	//vfw cleanup	if(VFWReturnVal==0){		AVIStreamRelease(*pcompressedstream);		delete(pcompressedstream);		AVIStreamRelease(*pstream);		delete pstream;		AVISaveOptionsFree(1,aopts);		AVIFileRelease(*pfile);  // closes the file	}	AVIFileExit();          // releases AVIFile library	///vfw cleanup}
开发者ID:kiniry-supervision,项目名称:walking-with-dinosaurs,代码行数:52,


示例17: AVIStreamWrite

void AVIDump::Stop(){	// store one copy of the last video frame, CFR case	if (s_stream_compressed)		AVIStreamWrite(s_stream_compressed, s_frame_count++, 1, GetFrame(), s_bitmap.biSizeImage, AVIIF_KEYFRAME, nullptr, &s_byte_buffer);		//Dragonbane:: Dump 5 seconds of the same frame for readability	if (Movie::cmp_justFinished || Movie::cmp_rightFinished && Movie::cmp_leftFinished || (Movie::cmp_rightFinished || Movie::cmp_leftFinished) && Movie::cmp_movieFinished && !Movie::GetNextComparisonMovie(false))	{		Movie::cmp_justFinished = false;		if (s_stream && s_stream_compressed)		{			int endFrames = s_frame_rate * 5;			for (int i = 0; i < endFrames - 1; i++)			{				AVIStreamWrite(s_stream, s_frame_count++, 1, nullptr, 0, 0, nullptr, nullptr);			}			AVIStreamWrite(s_stream_compressed, s_frame_count++, 1, GetFrame(), s_bitmap.biSizeImage, AVIIF_KEYFRAME, nullptr, &s_byte_buffer);		}	}		s_start_dumping = false;	CloseFile();	s_file_count = 0;	//Dragonbane	if (s_getFrame_temp)	{		AVIStreamGetFrameClose(s_getFrame_temp);		s_getFrame_temp = nullptr;	}	if (s_stream_temp)	{		AVIStreamClose(s_stream_temp);		s_stream_temp = nullptr;	}	if (s_file_temp)	{		AVIFileRelease(s_file_temp);		s_file_temp = nullptr;		std::string movie_file_name = GetCurrDumpFile(tempFileCount, true);		if (File::Exists(movie_file_name))			File::Delete(movie_file_name);	}	NOTICE_LOG(VIDEO, "Stop");}
开发者ID:dragonbane0,项目名称:dolphin,代码行数:52,


示例18: avisynth_read_close

static int avisynth_read_close(AVFormatContext *s){    AviSynthContext *avs = s->priv_data;    int i;    for (i = 0; i < avs->nb_streams; i++)        AVIStreamRelease(avs->streams[i].handle);    av_free(avs->streams);    AVIFileRelease(avs->file);    AVIFileExit();    return 0;}
开发者ID:DDTChen,项目名称:CookieVLC,代码行数:13,


示例19: AVIStreamRelease

void CBmpToAvi::Close(){	if (m_pavi)	{		AVIStreamRelease(m_pavi);		m_pavi = NULL;	}	if (m_pfile)	{		AVIFileRelease(m_pfile);		m_pfile = NULL;	}		}
开发者ID:26597925,项目名称:Remote,代码行数:13,


示例20: avi_cleanup_context

static void avi_cleanup_context(avi_encode_context *context){  if (context->pscomp)    AVIStreamRelease(context->pscomp);  context->pscomp = NULL;  if (context->ps)    AVIStreamRelease(context->ps);  context->ps = NULL;  if (context->pfile)    AVIFileRelease(context->pfile);  context->pfile = NULL;}
开发者ID:Alexpux,项目名称:simage,代码行数:14,


示例21: AVIStreamGetFrameClose

void CvCaptureAVI_VFW::close(){    if( getframe )        AVIStreamGetFrameClose( getframe );    if( avistream )        AVIStreamRelease( avistream );    if( avifile )        AVIFileRelease( avifile );    cvReleaseImage( &frame );    init();}
开发者ID:glo,项目名称:ee384b,代码行数:14,


示例22: avisynth_read_close

void avisynth_read_close(){    int i;    for (i=0; i<avs->nb_streams; i++)    {        AVIStreamRelease(avs->streams[i].handle);    }    free(avs->streams);    AVIFileRelease(avs->file);    AVIFileExit();    free(avs);}
开发者ID:rdp-org,项目名称:avisynth-as-directshow-capture,代码行数:15,


示例23: ICSeqCompressFrameEnd

void imFileFormatAVI::Close(){  if (this->dib) imDibDestroy(this->dib);  if (this->use_compressor)   {    ICSeqCompressFrameEnd(&this->compvars);    ICCompressorFree(&this->compvars);  }  if (this->frame) AVIStreamGetFrameClose(this->frame);  if (this->stream) AVIStreamRelease(this->stream);  AVIFileRelease(this->file);  AVIFileExit();    /* called one for each AVIFileInit */}
开发者ID:gcfavorites,项目名称:tastools,代码行数:16,


示例24: closeAVI

万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。