Lines Matching defs:pEncoderContext

306     VideoEditorVideoEncoder_Context*  pEncoderContext = M4OSA_NULL;
326 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
327 VIDEOEDITOR_CHECK(CREATED == pEncoderContext->mState, M4ERR_STATE);
365 VIDEOEDITOR_CHECK(M4OSA_NULL == pEncoderContext->mHeader.pBuf, M4ERR_STATE);
366 if ( M4ENCODER_kH264 == pEncoderContext->mFormat ) {
369 (uint8_t**)(&(pEncoderContext->mHeader.pBuf)),
370 (size_t*)(&(pEncoderContext->mHeader.Size)),
377 pEncoderContext->mHeader.Size =
379 SAFE_MALLOC(pEncoderContext->mHeader.pBuf, M4OSA_Int8,
380 pEncoderContext->mHeader.Size, "Encoder header");
381 memcpy((void *)pEncoderContext->mHeader.pBuf,
383 pEncoderContext->mHeader.Size);
409 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
415 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
416 VIDEOEDITOR_CHECK(CREATED == pEncoderContext->mState, M4ERR_STATE);
419 SAFE_FREE(pEncoderContext->mHeader.pBuf);
420 SAFE_FREE(pEncoderContext);
440 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
451 SAFE_MALLOC(pEncoderContext, VideoEditorVideoEncoder_Context, 1,
453 pEncoderContext->mState = CREATED;
454 pEncoderContext->mFormat = format;
455 pEncoderContext->mWriterDataInterface = pWriterDataInterface;
456 pEncoderContext->mPreProcFunction = pVPPfct;
457 pEncoderContext->mPreProcContext = pVPPctxt;
458 pEncoderContext->mPuller = NULL;
461 pEncoderContext->mI420ColorConverter = new I420ColorConverter;
462 if (pEncoderContext->mI420ColorConverter->isLoaded()) {
463 encoderInput = pEncoderContext->mI420ColorConverter->getEncoderInputFormat();
466 delete pEncoderContext->mI420ColorConverter;
467 pEncoderContext->mI420ColorConverter = NULL;
469 pEncoderContext->mEncoderColorFormat = (OMX_COLOR_FORMATTYPE)encoderInput;
472 *pContext = pEncoderContext;
478 VideoEditorVideoEncoder_cleanup(pEncoderContext);
517 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
523 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
524 VIDEOEDITOR_CHECK(OPENED == pEncoderContext->mState, M4ERR_STATE);
527 SAFE_FREE(pEncoderContext->mCodecParams);
530 pEncoderContext->mEncoder.clear();
531 pEncoderContext->mClient.disconnect();
532 pEncoderContext->mEncoderSource.clear();
534 delete pEncoderContext->mPuller;
535 pEncoderContext->mPuller = NULL;
537 delete pEncoderContext->mI420ColorConverter;
538 pEncoderContext->mI420ColorConverter = NULL;
541 pEncoderContext->mState = CREATED;
557 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
574 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
576 VIDEOEDITOR_CHECK(CREATED == pEncoderContext->mState, M4ERR_STATE);
579 pEncoderContext->mAccessUnit = pAU;
580 pEncoderContext->mVideoEditorProfile = MediaProfiles::getInstance();
581 pEncoderContext->mMaxPrefetchFrames =
582 pEncoderContext->mVideoEditorProfile->getVideoEditorCapParamByName(
586 SAFE_MALLOC(pEncoderContext->mCodecParams, M4ENCODER_Params, 1,
590 pEncoderContext->mCodecParams->InputFormat = pCodecParams->InputFormat;
591 pEncoderContext->mCodecParams->InputFrameWidth =
593 pEncoderContext->mCodecParams->InputFrameHeight =
595 pEncoderContext->mCodecParams->FrameWidth = pCodecParams->FrameWidth;
596 pEncoderContext->mCodecParams->FrameHeight = pCodecParams->FrameHeight;
597 pEncoderContext->mCodecParams->Bitrate = pCodecParams->Bitrate;
598 pEncoderContext->mCodecParams->FrameRate = pCodecParams->FrameRate;
599 pEncoderContext->mCodecParams->Format = pCodecParams->Format;
600 pEncoderContext->mCodecParams->videoProfile = pCodecParams->videoProfile;
601 pEncoderContext->mCodecParams->videoLevel= pCodecParams->videoLevel;
605 pEncoderContext->mCodecParams->Format == pEncoderContext->mFormat,
607 VIDEOEDITOR_CHECK(0 == pEncoderContext->mCodecParams->FrameWidth % 16,
609 VIDEOEDITOR_CHECK(0 == pEncoderContext->mCodecParams->FrameHeight % 16,
618 switch( pEncoderContext->mCodecParams->Format ) {
633 iProfile = pEncoderContext->mCodecParams->videoProfile;
634 iLevel = pEncoderContext->mCodecParams->videoLevel;
638 pEncoderContext->mCodecParams->FrameWidth,
639 pEncoderContext->mCodecParams->FrameHeight,
640 pEncoderContext->mCodecParams->Bitrate,
641 pEncoderContext->mCodecParams->FrameRate);
651 if (pEncoderContext->mCodecParams->Format == M4ENCODER_kH264) {
655 (int32_t)pEncoderContext->mCodecParams->FrameWidth);
657 (int32_t)pEncoderContext->mCodecParams->FrameWidth);
659 (int32_t)pEncoderContext->mCodecParams->FrameHeight);
661 (int32_t)pEncoderContext->mCodecParams->FrameHeight);
663 switch( pEncoderContext->mCodecParams->FrameRate ) {
688 (int32_t)pEncoderContext->mCodecParams->Bitrate);
692 pEncoderContext->mEncoderColorFormat);
694 if (pEncoderContext->mCodecParams->Format != M4ENCODER_kH263) {
696 err = VideoEditorVideoEncoder_getDSI(pEncoderContext, encoderMetadata);
701 pEncoderContext->mEncoderSource = VideoEditorVideoEncoderSource::Create(
704 NULL != pEncoderContext->mEncoderSource.get(), M4ERR_STATE);
707 result = pEncoderContext->mClient.connect();
714 pEncoderContext->mEncoder = OMXCodec::Create(
715 pEncoderContext->mClient.interface(), encoderMetadata, true,
716 pEncoderContext->mEncoderSource, NULL, codecFlags);
717 VIDEOEDITOR_CHECK(NULL != pEncoderContext->mEncoder.get(), M4ERR_STATE);
719 pEncoderContext->mPuller = new MediaBufferPuller(
720 pEncoderContext->mEncoder);
723 pEncoderContext->mState = OPENED;
729 VideoEditorVideoEncoder_close(pEncoderContext);
740 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
749 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
755 M4OSA_UInt32 sizeY = pEncoderContext->mCodecParams->FrameWidth *
756 pEncoderContext->mCodecParams->FrameHeight;
764 pOutPlane[0].u_width = pEncoderContext->mCodecParams->FrameWidth;
765 pOutPlane[0].u_height = pEncoderContext->mCodecParams->FrameHeight;
782 err = pEncoderContext->mPreProcFunction(
783 pEncoderContext->mPreProcContext, M4OSA_NULL, pOutPlane);
787 if (pEncoderContext->mI420ColorConverter) {
788 I420ColorConverter* converter = pEncoderContext->mI420ColorConverter;
789 int actualWidth = pEncoderContext->mCodecParams->FrameWidth;
790 int actualHeight = pEncoderContext->mCodecParams->FrameHeight;
823 nbBuffer = pEncoderContext->mEncoderSource->storeBuffer(buffer);
841 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
852 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
876 pEncoderContext->mNbOutputFrames++;
877 if ( 0 > pEncoderContext->mFirstOutputCts ) {
878 pEncoderContext->mFirstOutputCts = i64Tmp;
880 pEncoderContext->mLastOutputCts = i64Tmp;
884 pEncoderContext->mNbOutputFrames, i64Tmp, Cts,
885 pEncoderContext->mLastCTS);
886 if ( Cts < pEncoderContext->mLastCTS ) {
888 "backwards %d < %d", Cts, pEncoderContext->mLastCTS);
892 Cts, pEncoderContext->mLastCTS);
895 err = pEncoderContext->mWriterDataInterface->pStartAU(
896 pEncoderContext->mWriterDataInterface->pWriterContext,
897 pEncoderContext->mAccessUnit->stream->streamID,
898 pEncoderContext->mAccessUnit);
903 buffer->range_length() <= pEncoderContext->mAccessUnit->size,
906 if ( M4ENCODER_kH264 == pEncoderContext->mFormat ) {
914 if ( (M4ENCODER_kH264 == pEncoderContext->mFormat) &&
915 (M4OSA_NULL != pEncoderContext->mH264NALUPostProcessFct) ) {
917 M4OSA_Int32 outputSize = pEncoderContext->mAccessUnit->size;
918 err = pEncoderContext->mH264NALUPostProcessFct(
919 pEncoderContext->mH264NALUPostProcessCtx,
922 (M4OSA_UInt8*)pEncoderContext->mAccessUnit->dataAddress,
925 pEncoderContext->mAccessUnit->size = (M4OSA_UInt32)outputSize;
928 memcpy((void *)pEncoderContext->mAccessUnit->\
931 pEncoderContext->mAccessUnit->size =
936 pEncoderContext->mAccessUnit->attribute = AU_RAP;
938 pEncoderContext->mAccessUnit->attribute = AU_P_Frame;
940 pEncoderContext->mLastCTS = Cts;
941 pEncoderContext->mAccessUnit->CTS = Cts;
942 pEncoderContext->mAccessUnit->DTS = Cts;
945 pEncoderContext->mAccessUnit->dataAddress,
946 *pEncoderContext->mAccessUnit->dataAddress,
947 pEncoderContext->mAccessUnit->size,
948 pEncoderContext->mAccessUnit->CTS);
951 err = pEncoderContext->mWriterDataInterface->pProcessAU(
952 pEncoderContext->mWriterDataInterface->pWriterContext,
953 pEncoderContext->mAccessUnit->stream->streamID,
954 pEncoderContext->mAccessUnit);
962 SAFE_FREE(pEncoderContext->mHeader.pBuf);
963 pEncoderContext->mHeader.Size = 0;
974 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
981 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
982 if ( STARTED == pEncoderContext->mState ) {
983 pEncoderContext->mState = BUFFERING;
986 (BUFFERING | READING) & pEncoderContext->mState, M4ERR_STATE);
988 pEncoderContext->mNbInputFrames++;
989 if ( 0 > pEncoderContext->mFirstInputCts ) {
990 pEncoderContext->mFirstInputCts = Cts;
992 pEncoderContext->mLastInputCts = Cts;
995 Cts, pEncoderContext->mLastCTS);
998 err = VideoEditorVideoEncoder_processInputBuffer(pEncoderContext, Cts,
1005 pEncoderContext, 0, M4OSA_TRUE);
1009 if ( BUFFERING == pEncoderContext->mState ) {
1011 pEncoderContext->mState = READING;
1016 pEncoderContext->mPuller->getBufferNonBlocking();
1020 pEncoderContext->mEncoderSource->getNumberOfBuffersInQueue();
1024 if ((YUVBufferNumber < pEncoderContext->mMaxPrefetchFrames) ||
1025 (pEncoderContext->mPuller->hasMediaSourceReturnedError()
1031 err = VideoEditorVideoEncoder_processOutputBuffer(pEncoderContext,
1035 pEncoderContext->mPuller->putBuffer(outputBuffer);
1051 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
1058 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
1059 VIDEOEDITOR_CHECK(OPENED == pEncoderContext->mState, M4ERR_STATE);
1061 pEncoderContext->mNbInputFrames = 0;
1062 pEncoderContext->mFirstInputCts = -1.0;
1063 pEncoderContext->mLastInputCts = -1.0;
1064 pEncoderContext->mNbOutputFrames = 0;
1065 pEncoderContext->mFirstOutputCts = -1;
1066 pEncoderContext->mLastOutputCts = -1;
1068 result = pEncoderContext->mEncoder->start();
1071 pEncoderContext->mPuller->start();
1074 pEncoderContext->mState = STARTED;
1088 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
1095 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
1098 err = VideoEditorVideoEncoder_processInputBuffer(pEncoderContext, 0,
1103 if ( (BUFFERING | READING) & pEncoderContext->mState ) {
1106 pEncoderContext->mPuller->getBufferBlocking();
1111 pEncoderContext, outputBuffer);
1114 pEncoderContext->mPuller->putBuffer(outputBuffer);
1117 pEncoderContext->mState = STARTED;
1121 if ( STARTED == pEncoderContext->mState ) {
1122 pEncoderContext->mPuller->stop();
1123 pEncoderContext->mEncoder->stop();
1124 pEncoderContext->mState = OPENED;
1127 if (pEncoderContext->mNbInputFrames != pEncoderContext->mNbOutputFrames) {
1129 pEncoderContext->mNbInputFrames, pEncoderContext->mNbOutputFrames);
1150 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
1156 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
1160 pEncoderContext->mH264NALUPostProcessFct =
1164 pEncoderContext->mH264NALUPostProcessCtx =
1187 VideoEditorVideoEncoder_Context* pEncoderContext = M4OSA_NULL;
1192 pEncoderContext = (VideoEditorVideoEncoder_Context*)pContext;
1197 M4OSA_NULL != pEncoderContext->mHeader.pBuf, M4ERR_STATE);
1198 *(M4ENCODER_Header**)optionValue = &(pEncoderContext->mHeader);