本文整理汇总了C++中AVG_ASSERT函数的典型用法代码示例。如果您正苦于以下问题:C++ AVG_ASSERT函数的具体用法?C++ AVG_ASSERT怎么用?C++ AVG_ASSERT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了AVG_ASSERT函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: dc1394_new
CameraInfo* FWCamera::getCameraInfos(int deviceNumber)
{
#ifdef AVG_ENABLE_1394_2
dc1394_t* pDC1394 = dc1394_new();
if (pDC1394 == 0) {
AVG_ASSERT(false);
return NULL;
}
dc1394camera_list_t * pCameraList;
int err=dc1394_camera_enumerate(pDC1394, &pCameraList);
if (err != DC1394_SUCCESS) {
AVG_ASSERT(false);
return NULL;
}
if (pCameraList->num != 0) {
dc1394camera_id_t id = pCameraList->ids[deviceNumber];
dc1394camera_t * pCamera = dc1394_camera_new_unit(pDC1394, id.guid,
id.unit);
if (pCamera) {
stringstream deviceID;
deviceID << hex << id.guid;//pCamera->guid;
CameraInfo* camInfo = new CameraInfo("Firewire", deviceID.str());
getCameraControls(pCamera, camInfo);
getCameraImageFormats(pCamera, camInfo);
dc1394_camera_free(pCamera);
dc1394_camera_free_list(pCameraList);
dc1394_free(pDC1394);
return camInfo;
}
}
#endif
return NULL;
}
开发者ID:lynxis,项目名称:libavg,代码行数:35,代码来源:FWCamera.cpp
示例2: switch
int TexInfo::getGLInternalFormat() const
{
switch (m_pf) {
case I8:
return GL_LUMINANCE;
case A8:
return GL_ALPHA;
case R8G8B8A8:
case R8G8B8X8:
return GL_RGBA;
case B8G8R8A8:
case B8G8R8X8:
AVG_ASSERT(!GLContext::getCurrent()->isGLES());
return GL_RGBA;
#ifndef AVG_ENABLE_EGL
case R8:
return GL_R8;
case R32G32B32A32F:
return GL_RGBA32F_ARB;
case I32F:
return GL_LUMINANCE32F_ARB;
#endif
case R8G8B8:
case B5G6R5:
return GL_RGB;
default:
AVG_ASSERT(false);
return 0;
}
}
开发者ID:hoodie,项目名称:libavg,代码行数:30,代码来源:TexInfo.cpp
示例3: switch
void TestHelper::processTouchStatus(CursorEventPtr pEvent)
{
map<int, TouchStatusPtr>::iterator it = m_Touches.find(pEvent->getCursorID());
switch (pEvent->getType()) {
case Event::CURSOR_DOWN: {
AVG_ASSERT(it == m_Touches.end());
TouchStatusPtr pTouchStatus(new TouchStatus(pEvent));
m_Touches[pEvent->getCursorID()] = pTouchStatus;
}
break;
case Event::CURSOR_MOTION:
case Event::CURSOR_UP: {
if (it == m_Touches.end()) {
cerr << "borked: " << pEvent->getCursorID() << ", " <<
pEvent->typeStr() << endl;
}
AVG_ASSERT(it != m_Touches.end());
TouchStatusPtr pTouchStatus = (*it).second;
pTouchStatus->pushEvent(pEvent);
}
break;
default:
AVG_ASSERT(false);
break;
}
}
开发者ID:hoodie,项目名称:libavg,代码行数:26,代码来源:TestHelper.cpp
示例4: AVG_ASSERT
AVPacket * FFMpegDemuxer::getPacket(int streamIndex)
{
// Make sure enableStream was called on streamIndex.
AVG_ASSERT(m_PacketLists.size() > 0);
AVG_ASSERT(streamIndex > -1 && streamIndex < 10);
if (m_PacketLists.find(streamIndex) == m_PacketLists.end()) {
cerr << this << ": getPacket: Stream " << streamIndex << " not found." << endl;
dump();
AVG_ASSERT(false);
}
PacketList& curPacketList = m_PacketLists.find(streamIndex)->second;
AVPacket* pPacket;
if (!curPacketList.empty()) {
// The stream has packets queued already.
pPacket = curPacketList.front();
curPacketList.pop_front();
} else {
// No packets queued for this stream -> read and queue packets until we get one
// that is meant for this stream.
do {
pPacket = new AVPacket;
memset(pPacket, 0, sizeof(AVPacket));
int err = av_read_frame(m_pFormatContext, pPacket);
if (err < 0) {
// EOF or error
if (err != int(AVERROR_EOF)) {
char sz[256];
av_strerror(err, sz, 256);
AVG_TRACE(Logger::category::PLAYER, Logger::severity::ERROR,
"Error decoding video: " << sz);
}
av_free_packet(pPacket);
delete pPacket;
pPacket = 0;
return 0;
}
if (pPacket->stream_index != streamIndex) {
if (m_PacketLists.find(pPacket->stream_index) != m_PacketLists.end()) {
// Relevant stream, but not ours
av_dup_packet(pPacket);
PacketList& otherPacketList =
m_PacketLists.find(pPacket->stream_index)->second;
otherPacketList.push_back(pPacket);
} else {
// Disabled stream
av_free_packet(pPacket);
delete pPacket;
pPacket = 0;
}
} else {
// Our stream
av_dup_packet(pPacket);
}
} while (!pPacket || pPacket->stream_index != streamIndex);
}
return pPacket;
}
开发者ID:bluscr33n,项目名称:libavg,代码行数:60,代码来源:FFMpegDemuxer.cpp
示例5: WaitForSingleObject
BitmapPtr CMUCamera::getImage(bool bWait)
{
if (bWait) {
unsigned rc = WaitForSingleObject(m_pCamera->GetFrameEvent(), INFINITE);
AVG_ASSERT(rc == WAIT_OBJECT_0);
} else {
unsigned rc = WaitForSingleObject(m_pCamera->GetFrameEvent(), 0);
if (rc == WAIT_TIMEOUT) {
// No frame yet
return BitmapPtr();
}
AVG_ASSERT(rc == WAIT_OBJECT_0);
}
int rc2 = m_pCamera->AcquireImageEx(FALSE, NULL);
if (rc2 != CAM_SUCCESS) {
throw Exception(AVG_ERR_CAMERA_NONFATAL,
"CMUCamera: Could not acquire image from camera. " +
CMUErrorToString(rc2));
}
unsigned long captureBufferLength;
unsigned char* pCaptureBuffer = m_pCamera->GetRawData(&captureBufferLength);
BitmapPtr pCamBmp(new Bitmap(getImgSize(), getCamPF(), pCaptureBuffer,
captureBufferLength / getImgSize().y, false, "TempCameraBmp"));
return convertCamFrameToDestPF(pCamBmp);
}
开发者ID:cnxsoft,项目名称:xibo4arm,代码行数:26,代码来源:CMUCamera.cpp
示例6: avcodec_find_encoder
void VideoWriterThread::openVideoCodec()
{
AVCodec* videoCodec = avcodec_find_encoder(m_pVideoStream->codec->codec_id);
AVG_ASSERT(videoCodec);
int rc = avcodec_open2(m_pVideoStream->codec, videoCodec, 0);
AVG_ASSERT(rc == 0);
}
开发者ID:libavg,项目名称:libavg,代码行数:8,代码来源:VideoWriterThread.cpp
示例7: avcodec_find_encoder
void VideoWriterThread::openVideoCodec()
{
AVCodec* videoCodec = avcodec_find_encoder(m_pVideoStream->codec->codec_id);
AVG_ASSERT(videoCodec);
#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(53, 8, 0)
int rc = avcodec_open2(m_pVideoStream->codec, videoCodec, 0);
#else
int rc = avcodec_open(m_pVideoStream->codec, videoCodec);
#endif
AVG_ASSERT(rc == 0);
}
开发者ID:pararthshah,项目名称:libavg-vaapi,代码行数:13,代码来源:VideoWriterThread.cpp
示例8: timer
void VideoWriterThread::writeFrame(AVFrame* pFrame)
{
ScopeTimer timer(ProfilingZoneWriteFrame);
m_FramesWritten++;
AVCodecContext* pCodecContext = m_pVideoStream->codec;
AVPacket packet = { 0 };
int ret;
bool bGotOutput;
#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(54, 0, 0)
av_init_packet(&packet);
int got_output = 0;
ret = avcodec_encode_video2(pCodecContext, &packet, pFrame, &got_output);
AVG_ASSERT(ret >= 0);
if ((pCodecContext->coded_frame->pts) != (long long)AV_NOPTS_VALUE) {
packet.pts = av_rescale_q(pCodecContext->coded_frame->pts,
pCodecContext->time_base, m_pVideoStream->time_base);
}
bGotOutput = (got_output != 0);
#else
int out_size = avcodec_encode_video(pCodecContext, m_pVideoBuffer,
VIDEO_BUFFER_SIZE, pFrame);
if (out_size > 0) {
av_init_packet(&packet);
if ((pCodecContext->coded_frame->pts) != (long long)AV_NOPTS_VALUE) {
packet.pts = av_rescale_q(pCodecContext->coded_frame->pts,
pCodecContext->time_base, m_pVideoStream->time_base);
}
if (pCodecContext->coded_frame->key_frame) {
packet.flags |= AV_PKT_FLAG_KEY;
}
packet.stream_index = m_pVideoStream->index;
packet.data = m_pVideoBuffer;
packet.size = out_size;
}
bGotOutput = (out_size > 0);
#endif
if (bGotOutput) {
/* write the compressed frame in the media file */
ret = av_interleaved_write_frame(m_pOutputFormatContext, &packet);
av_free_packet(&packet);
if (ret != 0) {
AVG_TRACE(Logger::category::VIDEO, Logger::severity::ERROR,
getAVErrorString(ret));
}
AVG_ASSERT(ret == 0);
}
}
开发者ID:libavg,项目名称:libavg,代码行数:51,代码来源:VideoWriterThread.cpp
示例9: switch
void VDPAUDecoder::setupDecoder(AVCodecContext* pContext)
{
VdpStatus status;
// Create new decoder and mixer.
VdpDecoderProfile profile = 0;
switch (pContext->pix_fmt) {
case PIX_FMT_VDPAU_MPEG1:
profile = VDP_DECODER_PROFILE_MPEG1;
break;
case PIX_FMT_VDPAU_MPEG2:
profile = VDP_DECODER_PROFILE_MPEG2_MAIN;
break;
case PIX_FMT_VDPAU_H264:
profile = VDP_DECODER_PROFILE_H264_HIGH;
break;
case PIX_FMT_VDPAU_WMV3:
profile = VDP_DECODER_PROFILE_VC1_SIMPLE;
break;
case PIX_FMT_VDPAU_VC1:
profile = VDP_DECODER_PROFILE_VC1_SIMPLE;
break;
default:
AVG_ASSERT(false);
}
status = vdp_decoder_create(getVDPAUDevice(), profile, m_Size.x, m_Size.y, 16,
&m_VDPDecoder);
AVG_ASSERT(status == VDP_STATUS_OK);
m_PixFmt = pContext->pix_fmt;
VdpVideoMixerFeature features[] = {
VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL,
VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL,
};
VdpVideoMixerParameter params[] = {
VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH,
VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT,
VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE,
VDP_VIDEO_MIXER_PARAMETER_LAYERS
};
VdpChromaType chroma = VDP_CHROMA_TYPE_420;
int numLayers = 0;
void const* paramValues [] = { &m_Size.x, &m_Size.y, &chroma, &numLayers };
status = vdp_video_mixer_create(getVDPAUDevice(), 2, features, 4, params,
paramValues, &m_VDPMixer);
AVG_ASSERT(status == VDP_STATUS_OK);
}
开发者ID:JohnChu,项目名称:libavg,代码行数:50,代码来源:VDPAUDecoder.cpp
示例10: AVG_ASSERT
void BmpTextureMover::moveBmpToTexture(BitmapPtr pBmp, GLTexture& tex)
{
AVG_ASSERT(pBmp->getSize() == tex.getSize());
AVG_ASSERT(getSize() == pBmp->getSize());
AVG_ASSERT(pBmp->getPixelFormat() == getPF());
tex.activate();
unsigned char * pStartPos = pBmp->getPixels();
IntPoint size = tex.getSize();
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, size.x, size.y,
tex.getGLFormat(getPF()), tex.getGLType(getPF()),
pStartPos);
tex.generateMipmaps();
GLContext::checkError("BmpTextureMover::moveBmpToTexture: glTexSubImage2D()");
}
开发者ID:gunawanw9,项目名称:libavg,代码行数:14,代码来源:BmpTextureMover.cpp
示例11: switch
void Contact::sendEventToListeners(CursorEventPtr pCursorEvent)
{
switch (pCursorEvent->getType()) {
case Event::CURSOR_DOWN:
break;
case Event::CURSOR_MOTION:
notifySubscribers("CURSOR_MOTION", pCursorEvent);
break;
case Event::CURSOR_UP:
notifySubscribers("CURSOR_UP", pCursorEvent);
removeSubscribers();
break;
default:
AVG_ASSERT_MSG(false, pCursorEvent->typeStr().c_str());
}
m_bSendingEvents = true;
AVG_ASSERT(pCursorEvent->getContact() == shared_from_this());
EventPtr pEvent = boost::dynamic_pointer_cast<Event>(pCursorEvent);
m_bCurListenerIsDead = false;
for (map<int, Listener>::iterator it = m_ListenerMap.begin();
it != m_ListenerMap.end();)
{
Listener listener = it->second;
m_CurListenerID = it->first;
m_bCurListenerIsDead = false;
switch (pCursorEvent->getType()) {
case Event::CURSOR_MOTION:
if (listener.m_pMotionCallback != Py_None) {
py::call<void>(listener.m_pMotionCallback, pEvent);
}
break;
case Event::CURSOR_UP:
if (listener.m_pUpCallback != Py_None) {
py::call<void>(listener.m_pUpCallback, pEvent);
}
break;
default:
AVG_ASSERT(false);
}
map<int, Listener>::iterator lastIt = it;
++it;
if (m_bCurListenerIsDead) {
m_ListenerMap.erase(lastIt);
m_bCurListenerIsDead = false;
}
}
m_bSendingEvents = false;
}
开发者ID:pararthshah,项目名称:libavg-vaapi,代码行数:48,代码来源:Contact.cpp
示例12: AVG_ASSERT
void AudioMsg::setAudio(AudioBufferPtr pAudioBuffer, float audioTime)
{
AVG_ASSERT(pAudioBuffer);
setType(AUDIO);
m_pAudioBuffer = pAudioBuffer;
m_AudioTime = audioTime;
}
开发者ID:JohnChu,项目名称:libavg,代码行数:7,代码来源:AudioMsg.cpp
示例13: getProcAddress
GLfunction getProcAddress(const string& sName)
{
AVG_ASSERT(glproc::s_hGLLib);
#ifdef _WIN32
GLfunction pProc = (GLfunction)wglGetProcAddress(sName.c_str());
/*
if (!pProc) {
char szErr[512];
FormatMessage((FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM),
0, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
szErr, 512, 0);
throw Exception(AVG_ERR_VIDEO_GENERAL,
string("wglGetProcAddress("+sName+") failed: ") + szErr);
}
*/
#else
GLfunction pProc = (GLfunction)dlsym(glproc::s_hGLLib, sName.c_str());
if (!pProc) {
// If the name didn't work, try using an underscore :-).
string sName_ = string("_")+sName;
pProc = (GLfunction)dlsym(glproc::s_hGLLib, sName_.c_str());
}
#endif
return(pProc);
}
开发者ID:JohnChu,项目名称:libavg,代码行数:25,代码来源:OGLHelper.cpp
示例14: AVG_ASSERT
void SyncVideoDecoder::readFrame(AVFrame* pFrame)
{
AVG_ASSERT(getState() == DECODING);
ScopeTimer timer(DecodeProfilingZone);
if (m_bProcessingLastFrames) {
// EOF received, but last frames still need to be decoded.
bool bGotPicture = m_pFrameDecoder->decodeLastFrame(pFrame);
if (!bGotPicture) {
m_bProcessingLastFrames = false;
}
} else {
bool bDone = false;
while (!bDone) {
AVPacket* pPacket = m_pDemuxer->getPacket(getVStreamIndex());
m_bFirstPacket = false;
bool bGotPicture;
if (pPacket) {
bGotPicture = m_pFrameDecoder->decodePacket(pPacket, pFrame,
m_bVideoSeekDone);
} else {
bGotPicture = m_pFrameDecoder->decodeLastFrame(pFrame);
}
if (bGotPicture && m_pFrameDecoder->isEOF()) {
m_bProcessingLastFrames = true;
}
if (bGotPicture || m_pFrameDecoder->isEOF()) {
bDone = true;
}
}
}
}
开发者ID:hoodie,项目名称:libavg,代码行数:32,代码来源:SyncVideoDecoder.cpp
示例15: C1394Camera
CameraInfo* CMUCamera::getCameraInfos(int deviceNumber)
{
#ifdef AVG_ENABLE_CMU1394
C1394Camera* pCamera = new C1394Camera();
int err = pCamera->RefreshCameraList();
if (err <= 0) {
return 0;
}
err = pCamera->SelectCamera(deviceNumber);
if (err != CAM_SUCCESS) {
AVG_ASSERT(false);
}
pCamera->InitCamera(true);
long long uniqueID;
pCamera->GetCameraUniqueID((PLARGE_INTEGER)&uniqueID);
stringstream deviceID;
deviceID << uniqueID;
CameraInfo* pCamInfo = new CameraInfo("Firewire", deviceID.str());
getCameraImageFormats(pCamera, pCamInfo);
getCameraControls(pCamera, pCamInfo);
delete pCamera;
return pCamInfo;
#endif
return NULL;
}
开发者ID:cnxsoft,项目名称:xibo4arm,代码行数:29,代码来源:CMUCamera.cpp
示例16: setType
void AudioMsg::setSeekDone(int seqNum, float seekTime)
{
setType(SEEK_DONE);
AVG_ASSERT(seqNum != -1);
m_SeekSeqNum = seqNum;
m_SeekTime = seekTime;
}
开发者ID:JohnChu,项目名称:libavg,代码行数:7,代码来源:AudioMsg.cpp
示例17: AVG_ASSERT
void FilterWipeBorder::applyInPlace(BitmapPtr pBmp)
{
AVG_ASSERT(pBmp->getPixelFormat() == I8);
if (m_NumPixels != 0) {
int stride = pBmp->getStride();
unsigned char * pPixels = pBmp->getPixels();
IntPoint size = pBmp->getSize();
IntPoint activeSize = pBmp->getSize()-IntPoint(2*m_NumPixels, 2*m_NumPixels);
unsigned char * pSrcLine = pPixels+stride*m_NumPixels+m_NumPixels;
for (int y = m_NumPixels-1; y >= 0; --y) {
memcpy(pPixels+stride*y+m_NumPixels, pSrcLine, activeSize.x);
}
pSrcLine = pPixels+stride*(size.y-m_NumPixels-1)+m_NumPixels;
for (int y = size.y-m_NumPixels; y < size.y; ++y) {
memcpy(pPixels+stride*y+m_NumPixels, pSrcLine, activeSize.x);
}
for (int y = 0; y < size.y; ++y) {
unsigned char src = *(pPixels+stride*y+m_NumPixels);
memset(pPixels+stride*y, src, m_NumPixels);
src = *(pPixels+stride*y+size.x-m_NumPixels-1);
memset(pPixels+stride*y+size.x-m_NumPixels, src, m_NumPixels);
}
}
}
开发者ID:JohnChu,项目名称:libavg,代码行数:26,代码来源:FilterWipeBorder.cpp
示例18: AVG_ASSERT
void BitmapManagerMsg::executeCallback()
{
AVG_ASSERT(m_MsgType != NONE);
switch (m_MsgType) {
case BITMAP:
boost::python::call<void>(m_OnLoadedCb.ptr(), m_pBmp);
break;
case ERROR:
boost::python::call<void>(m_OnLoadedCb.ptr(), m_pEx);
break;
default:
AVG_ASSERT(false);
}
}
开发者ID:cnxsoft,项目名称:xibo4arm,代码行数:16,代码来源:BitmapManagerMsg.cpp
示例19: AVG_ASSERT
BitmapPtr FilterDilation::apply(BitmapPtr pSrcBmp)
{
AVG_ASSERT(pSrcBmp->getPixelFormat() == I8);
IntPoint size = pSrcBmp->getSize();
BitmapPtr pDestBmp = BitmapPtr(new Bitmap(size, I8, pSrcBmp->getName()));
unsigned char * pSrcLine = pSrcBmp->getPixels();
unsigned char * pNextSrcLine;
unsigned char * pDestLine = pDestBmp->getPixels();
for (int y = 0; y < size.y; y++) {
pDestLine = pDestBmp->getPixels()+y*pDestBmp->getStride();
unsigned char * pLastSrcLine = pSrcLine;
pSrcLine = pSrcBmp->getPixels()+y*pSrcBmp->getStride();
if (y < size.y-1) {
pNextSrcLine = pSrcBmp->getPixels()+(y+1)*pSrcBmp->getStride();
} else {
pNextSrcLine = pSrcBmp->getPixels()+y*pSrcBmp->getStride();
}
pDestLine[0] = max(pSrcLine[0], max(pSrcLine[1],
max(pLastSrcLine[0], pNextSrcLine[0])));
for (int x = 1; x < size.x-1; x++) {
pDestLine[x] = max(pSrcLine[x], max(pSrcLine[x-1], max(pSrcLine[x+1],
max(pLastSrcLine[x], pNextSrcLine[x]))));
}
pDestLine[size.x-1] = max(pSrcLine[size.x-2], max(pSrcLine[size.x-1],
max(pLastSrcLine[size.x-1], pNextSrcLine[size.x-1])));
}
return pDestBmp;
}
开发者ID:cnxsoft,项目名称:xibo4arm,代码行数:28,代码来源:FilterDilation.cpp
示例20: AVG_ASSERT
int AppleTrackpadInputDevice::callback(int device, Finger *data, int nFingers,
double timestamp, int frame)
{
AVG_ASSERT(s_pInstance != 0);
s_pInstance->onData(device, data, nFingers, timestamp, frame);
return 0;
}
开发者ID:cnxsoft,项目名称:xibo4arm,代码行数:7,代码来源:AppleTrackpadInputDevice.cpp
注:本文中的AVG_ASSERT函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论