Lines Matching refs:frame

299        ///Received a frame from one of the frame providers
300 //CAMHAL_LOGDA("Notification Thread received a frame from frame provider (CameraAdapter)");
690 void AppCallbackNotifier::copyAndSendPictureFrame(CameraFrame* frame, int32_t msgType)
703 picture = mRequestMemory(-1, frame->mLength, 1, NULL);
708 src = (void *) ((unsigned int) frame->mBuffer + frame->mOffset);
709 memcpy(dest, src, frame->mLength);
715 mFrameProvider->returnFrame(frame->mBuffer, (CameraFrame::FrameType) frame->mFrameType);
726 void AppCallbackNotifier::copyAndSendPreviewFrame(CameraFrame* frame, int32_t msgType)
739 if (!mPreviewMemory || !frame->mBuffer) {
750 frame->mBuffer,
751 frame->mWidth,
752 frame->mHeight,
753 frame->mAlignment,
755 frame->mLength,
760 if (CameraFrame::FRAME_DATA_SYNC == frame->mFrameType) {
761 if ( (mPreviewMemory->size / MAX_BUFFERS) >= frame->mLength ) {
762 memcpy(dest, (void*) frame->mBuffer, frame->mLength);
767 if ((NULL == frame->mYuv[0]) || (NULL == frame->mYuv[1])){
773 frame->mYuv,
774 frame->mWidth,
775 frame->mHeight,
776 frame->mAlignment,
777 frame->mOffset,
779 frame->mLength,
787 mFrameProvider->returnFrame(frame->mBuffer, (CameraFrame::FrameType) frame->mFrameType);
835 ///Receive and send the frame notifications to app
837 CameraFrame *frame;
856 frame = NULL;
861 frame = (CameraFrame *) msg.arg1;
862 if(!frame)
867 if ( (CameraFrame::RAW_FRAME == frame->mFrameType )&&
876 copyAndSendPictureFrame(frame, CAMERA_MSG_RAW_IMAGE);
885 mFrameProvider->returnFrame(frame->mBuffer,
886 (CameraFrame::FrameType) frame->mFrameType);
892 else if ( (CameraFrame::IMAGE_FRAME == frame->mFrameType) &&
895 (CameraFrame::ENCODE_RAW_YUV422I_TO_JPEG & frame->mQuirks) )
903 camera_memory_t* raw_picture = mRequestMemory(-1, frame->mLength, 1, NULL);
924 if (CameraFrame::HAS_EXIF_DATA & frame->mQuirks) {
925 exif_data = frame->mCookie2;
933 int rightCrop = frame->mAlignment/2 - frame->mWidth;
936 CAMHAL_LOGDB("Video snapshot offset = %d", frame->mOffset);
939 main_jpeg->src = (uint8_t*) frame->mBuffer;
940 main_jpeg->src_size = frame->mLength;
942 main_jpeg->dst_size = frame->mLength;
944 main_jpeg->in_width = frame->mAlignment/2; // use stride here
945 main_jpeg->in_height = frame->mHeight;
946 main_jpeg->out_width = frame->mAlignment/2;
947 main_jpeg->out_height = frame->mHeight;
949 main_jpeg->start_offset = frame->mOffset;
986 (CameraFrame::FrameType)frame->mFrameType,
991 gEncoderQueue.add(frame->mBuffer, encoder);
998 else if ( ( CameraFrame::IMAGE_FRAME == frame->mFrameType ) &&
1024 copyAndSendPictureFrame(frame, CAMERA_MSG_COMPRESSED_IMAGE);
1031 else if ( ( CameraFrame::VIDEO_FRAME_SYNC == frame->mFrameType ) &&
1042 (camera_memory_t *) mVideoMetadataBufferMemoryMap.valueFor((uint32_t) frame->mBuffer);
1045 if( (NULL == videoMedatadaBufferMemory) || (NULL == videoMetadataBuffer) || (NULL == frame->mBuffer) )
1053 int vBuf = mVideoMap.valueFor((uint32_t) frame->mBuffer);
1064 structConvImage input = {frame->mWidth,
1065 frame->mHeight,
1068 (mmByte *)frame->mYuv[0],
1069 (mmByte *)frame->mYuv[1],
1070 frame->mOffset};
1089 videoMetadataBuffer->handle = frame->mBuffer;
1090 videoMetadataBuffer->offset = frame->mOffset;
1093 CAMHAL_LOGVB("mDataCbTimestamp : frame->mBuffer=0x%x, videoMetadataBuffer=0x%x, videoMedatadaBufferMemory=0x%x",
1094 frame->mBuffer, videoMetadataBuffer, videoMedatadaBufferMemory);
1096 mDataCbTimestamp(frame->mTimestamp, CAMERA_MSG_VIDEO_FRAME,
1103 if( (NULL == fakebuf) || ( NULL == fakebuf->data) || ( NULL == frame->mBuffer))
1109 fakebuf->data = frame->mBuffer;
1110 mDataCbTimestamp(frame->mTimestamp, CAMERA_MSG_VIDEO_FRAME, fakebuf, 0, mCallbackCookie);
1117 else if(( CameraFrame::SNAPSHOT_FRAME == frame->mFrameType ) &&
1123 copyAndSendPreviewFrame(frame, CAMERA_MSG_POSTVIEW_FRAME);
1125 mFrameProvider->returnFrame(frame->mBuffer,
1126 (CameraFrame::FrameType) frame->mFrameType);
1129 else if ( ( CameraFrame::PREVIEW_FRAME_SYNC== frame->mFrameType ) &&
1135 copyAndSendPreviewFrame(frame, CAMERA_MSG_PREVIEW_FRAME);
1137 mFrameProvider->returnFrame(frame->mBuffer,
1138 (CameraFrame::FrameType) frame->mFrameType);
1141 else if ( ( CameraFrame::FRAME_DATA_SYNC == frame->mFrameType ) &&
1145 copyAndSendPreviewFrame(frame, CAMERA_MSG_PREVIEW_FRAME);
1147 mFrameProvider->returnFrame(frame->mBuffer,
1148 ( CameraFrame::FrameType ) frame->mFrameType);
1149 CAMHAL_LOGDB("Frame type 0x%x is still unsupported!", frame->mFrameType);
1162 if ( NULL != frame )
1164 delete frame;
1182 CameraFrame *frame;
1189 frame = new CameraFrame(*caFrame);
1190 if ( NULL != frame )
1193 msg.arg1 = frame;
1209 CameraFrame *frame;
1214 frame = (CameraFrame*) msg.arg1;
1215 if (frame) {
1216 mFrameProvider->returnFrame(frame->mBuffer,
1217 (CameraFrame::FrameType) frame->mFrameType);
1318 ///Unregister with the frame provider
1344 ///Free the event and frame providers
1355 ///Deleting the frame provider
1702 void *frame = NULL;
1725 frame = (void*) mVideoMetadataBufferReverseMap.valueFor((uint32_t) videoMetadataBuffer);
1726 CAMHAL_LOGVB("Releasing frame with videoMetadataBuffer=0x%x, videoMetadataBuffer->handle=0x%x & frame handle=0x%x\n",
1727 videoMetadataBuffer, videoMetadataBuffer->handle, frame);
1731 frame = (void*)(*((uint32_t *)mem));
1736 ret = mFrameProvider->returnFrame(frame, CameraFrame::VIDEO_FRAME_SYNC);
1774 ///A frame provider should be available, if not return error