Encode_Status VaapiEncoderBase::getOutput(VideoEncOutputBuffer * outBuffer, bool withWait) { bool isEmpty; PicturePtr picture; Encode_Status ret; FUNC_ENTER(); ret = checkEmpty(outBuffer, &isEmpty); if (isEmpty) return ret; getPicture(picture); ret = picture->getOutput(outBuffer); if (ret != ENCODE_SUCCESS) return ret; checkCodecData(outBuffer); return ENCODE_SUCCESS; }
Encode_Status VaapiEncoderBase::getOutput(VideoEncOutputBuffer * outBuffer, VideoEncMVBuffer * MVBuffer, bool withWait) { void *data = NULL; uint32_t mappedSize; bool isEmpty; PicturePtr picture; Encode_Status ret; FUNC_ENTER(); ret = checkEmpty(outBuffer, &isEmpty); if (isEmpty) return ret; getPicture(picture); ret = picture->getOutput(outBuffer); if (ret != ENCODE_SUCCESS) return ret; if (!picture->editMVBuffer(data, &mappedSize)) return ret; if (data) memcpy(MVBuffer->data, data, mappedSize); checkCodecData(outBuffer); return ENCODE_SUCCESS; }