本文整理汇总了C++中AVG_ASSERT函数的典型用法代码示例。如果您正苦于以下问题:C++ AVG_ASSERT函数的具体用法?C++ AVG_ASSERT怎么用?C++ AVG_ASSERT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了AVG_ASSERT函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例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;
}
}
示例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;
}
}
示例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;
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
}
示例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);
}
示例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()");
}
示例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;
}
示例12: AVG_ASSERT
void AudioMsg::setAudio(AudioBufferPtr pAudioBuffer, float audioTime)
{
AVG_ASSERT(pAudioBuffer);
setType(AUDIO);
m_pAudioBuffer = pAudioBuffer;
m_AudioTime = audioTime;
}
示例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);
}
示例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;
}
}
}
}
示例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;
}