Lines Matching defs:frame

373 // Perform decoding for this frame. frameComplete will be true if the entire frame is decoded.
409 // If this frame is data complete then the previous loop must have completely decoded all LZW blocks.
410 // There will be no more decoding for this frame so it's time to cleanup.
418 // Decode a frame.
419 // This method uses SkGIFFrameContext:decode() to decode the frame; decoding error is reported to client as a critical failure.
444 // We have already parsed this frame.
457 auto* frame = m_frames.back().get();
458 frame->addLzwBlock(m_streamBuffer.markPosition(), m_bytesToConsume);
492 // This is the height and width of the "screen" or frame into which
497 // change after we read the first frame's image header.
726 // overall image size. For the first frame, we can simply enlarge
727 // the image size to allow the frame to be visible. We can't do
732 // Luckily, handling just the first frame is sufficient to deal
734 // set to zero, since usually the first frame completely fills
796 // frame can be progressively displayed.
797 // FIXME: It is possible that a non-transparent frame
827 // Finished parsing one frame; Process next frame.
830 // decode all rows but we treat it as frame complete.
874 static bool independent(const SkFrame& frame) {
875 return frame.getRequiredFrame() == SkCodec::kNone;
878 static bool restore_bg(const SkFrame& frame) {
879 return frame.getDisposalMethod() == SkCodecAnimation::DisposalMethod::kRestoreBGColor;
890 void SkFrameHolder::setAlphaAndRequiredFrame(SkFrame* frame) {
891 const bool reportsAlpha = frame->reportedAlpha() != SkEncodedInfo::kOpaque_Alpha;
893 const auto frameRect = frame_rect_on_screen(frame->frameRect(), screenRect);
895 const int i = frame->frameId();
897 frame->setHasAlpha(reportsAlpha || frameRect != screenRect);
898 frame->setRequiredFrame(SkCodec::kNone);
903 const bool blendWithPrevFrame = frame->getBlend() == SkCodecAnimation::Blend::kPriorFrame;
905 frame->setHasAlpha(reportsAlpha);
906 frame->setRequiredFrame(SkCodec::kNone);
914 frame->setHasAlpha(true);
915 frame->setRequiredFrame(SkCodec::kNone);
927 frame->setHasAlpha(true);
928 frame->setRequiredFrame(SkCodec::kNone);
935 // to background color and covers its required frame (and that
936 // frame is independent), prevFrame could be marked independent.
938 frame->setRequiredFrame(prevFrame->frameId());
939 frame->setHasAlpha(prevFrame->hasAlpha() || clearPrevFrame);
946 frame->setRequiredFrame(SkCodec::kNone);
947 frame->setHasAlpha(true);
956 frame->setHasAlpha(true);
958 frame->setRequiredFrame(SkCodec::kNone);
960 // Note: As above, frame could still be independent, e.g. if
961 // prevFrame covers its required frame and that frame is
963 frame->setRequiredFrame(prevFrame->frameId());
969 frame->setRequiredFrame(prevFrame->frameId());
970 frame->setHasAlpha(prevFrame->hasAlpha() || (reportsAlpha && !blendWithPrevFrame));