char* findfile (Tcl_Interp *interp, char *name) { int i; char *library, *file; static Tcl_DString *dsPtr = NULL; static char *dirs[] = { "/bitmaps/", "/site/", "/apps/", "/", NULL }; if (! dsPtr) { dsPtr = (Tcl_DString *) ckalloc(sizeof(Tcl_DString)); Tcl_DStringInit(dsPtr); } file = Tcl_TranslateFileName(interp, name, dsPtr); if (file && access(file, R_OK) == 0) { Tcl_ResetResult(interp); return FixPath(file); } buffersize(strlen(name)+20); strcpy(buffer, "~/.tkined/"); strcat(buffer, name); file = Tcl_TranslateFileName(interp, buffer, dsPtr); if (file && access(file, R_OK) == 0) { Tcl_ResetResult(interp); return FixPath(file); } library = Tcl_GetVar2(interp, "tkined", "library", TCL_GLOBAL_ONLY); if (! library) { Tcl_ResetResult(interp); return (char *) NULL; } buffersize(strlen(library)+strlen(name)+20); for (i = 0; dirs[i]; i++) { strcpy(buffer, library); strcat(buffer, dirs[i]); strcat(buffer, name); file = Tcl_TranslateFileName(interp, buffer, dsPtr); if (file && access(file, R_OK) == 0) { Tcl_ResetResult(interp); return FixPath(file); } } return (char *) NULL; }
void OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::buffer_packet( const Packet& p, PacketVector& delivered ) { buffer_.insert(std::make_pair(p.id_, p)); if (buffersize() == receiver_buffer_size_) { handle_unreliable_operation(delivered); } }
int AVPictureFill(AVPicture *pic, const VideoFrame *frame, AVPixelFormat fmt) { if (fmt == AV_PIX_FMT_NONE) { fmt = FrameTypeToPixelFormat(frame->codec); } avpicture_fill(pic, frame->buf, fmt, frame->width, frame->height); pic->data[1] = frame->buf + frame->offsets[1]; pic->data[2] = frame->buf + frame->offsets[2]; pic->linesize[0] = frame->pitches[0]; pic->linesize[1] = frame->pitches[1]; pic->linesize[2] = frame->pitches[2]; return (int)buffersize(frame->codec, frame->width, frame->height); }
void TAO::DCPS::ReliableMulticast::detail::SenderLogic::buffer_packet( const TAO::DCPS::ReliableMulticast::detail::Packet& p, PacketVector& delivered ) { TAO::DCPS::ReliableMulticast::detail::Packet tmp(p); if (buffersize() == sender_history_size_) { buffer_.erase(current_id_ - sender_history_size_); } tmp.id_ = current_id_; ++current_id_; buffer_.insert(std::make_pair(tmp.id_, tmp)); delivered.push_back(tmp); }
bool VideoOutputOpenGL::CreatePauseFrame(void) { int size = buffersize(FMT_YV12, vbuffers.GetScratchFrame()->width, vbuffers.GetScratchFrame()->height); unsigned char *buffer = (unsigned char *)av_malloc(size); init(&av_pause_frame, FMT_YV12, buffer, vbuffers.GetScratchFrame()->width, vbuffers.GetScratchFrame()->height, size); av_pause_frame.frameNumber = vbuffers.GetScratchFrame()->frameNumber; if (!av_pause_frame.buf) return false; clear(&av_pause_frame); return true; }
void PrivateDecoderCrystalHD::FillFrame(BC_DTS_PROC_OUT *out) { bool second_field = false; if (m_frame) { if (out->PicInfo.picture_number != m_frame->frameNumber) { LOG(VB_PLAYBACK, LOG_WARNING, LOC + "Missing second field"); AddFrameToQueue(); } else { second_field = true; } } int in_width = out->PicInfo.width; int in_height = out->PicInfo.height; int out_width = (in_width + 15) & (~0xf); int out_height = in_height; uint8_t* src = out->Ybuff; if (!m_frame) { int size = buffersize(FMT_YV12, out_width, out_height); unsigned char* buf = (unsigned char*)av_malloc(size); m_frame = new VideoFrame(); init(m_frame, FMT_YV12, buf, out_width, out_height, size); m_frame->timecode = (int64_t)out->PicInfo.timeStamp; m_frame->frameNumber = out->PicInfo.picture_number; } // line 21 data (608/708 captions) // this appears to be unimplemented in the driver if (out->UserData && out->UserDataSz) { int size = out->UserDataSz > 1024 ? 1024 : out->UserDataSz; m_frame->priv[0] = (unsigned char*)av_malloc(size); memcpy(m_frame->priv[0], out->UserData, size); m_frame->qstride = size; // don't try this at home } AVPixelFormat out_fmt = AV_PIX_FMT_YUV420P; AVPixelFormat in_fmt = bcmpixfmt_to_pixfmt(m_pix_fmt); AVPicture img_in; avpicture_fill(&img_in, src, in_fmt, in_width, in_height); if (!(out->PicInfo.flags & VDEC_FLAG_INTERLACED_SRC)) { m_copyCtx.Copy(m_frame, &img_in, in_fmt); m_frame->interlaced_frame = 0; AddFrameToQueue(); } else { AVPicture img_out; AVPictureFill(&img_out, m_frame); img_out.linesize[0] *= 2; img_out.linesize[1] *= 2; img_out.linesize[2] *= 2; m_frame->top_field_first = out->PicInfo.pulldown == vdecTopBottom; int field = out->PoutFlags & BC_POUT_FLAGS_FLD_BOT; if (field) { img_out.data[0] += out_width; img_out.data[1] += out_width >> 1; img_out.data[2] += out_width >> 1; } m_copyCtx.Copy(&img_out, out_fmt, &img_in, in_fmt, in_width, in_height / 2); if (second_field) AddFrameToQueue(); } }