MCPcopy Create free account
hub / github.com/OpenShot/libopenshot / SaveStabilizedData

Method SaveStabilizedData

src/CVStabilization.cpp:268–295  ·  view source on GitHub ↗

Save stabilization data to protobuf file

Source from the content-addressed store, hash-verified

266
267// Save stabilization data to protobuf file
268bool CVStabilization::SaveStabilizedData(){
269 using std::ios;
270
271 // Create stabilization message
272 pb_stabilize::Stabilization stabilizationMessage;
273
274 std::map<size_t,CamTrajectory>::iterator trajData = trajectoryData.begin();
275 std::map<size_t,TransformParam>::iterator transData = transformationData.begin();
276
277 // Iterate over all frames data and save in protobuf message
278 for(; trajData != trajectoryData.end(); ++trajData, ++transData){
279 AddFrameDataToProto(stabilizationMessage.add_frame(), trajData->second, transData->second, trajData->first);
280 }
281 // Add timestamp
282 *stabilizationMessage.mutable_last_updated() = TimeUtil::SecondsToTimestamp(time(NULL));
283
284 // Write the new message to disk.
285 std::fstream output(protobuf_data_path, ios::out | ios::trunc | ios::binary);
286 if (!stabilizationMessage.SerializeToOstream(&output)) {
287 std::cerr << "Failed to write protobuf message." << std::endl;
288 return false;
289 }
290
291 // Delete all global objects allocated by libprotobuf.
292 google::protobuf::ShutdownProtobufLibrary();
293
294 return true;
295}
296
297// Add frame stabilization data into protobuf message
298void CVStabilization::AddFrameDataToProto(pb_stabilize::Frame* pbFrameData, CamTrajectory& trajData, TransformParam& transData, size_t frame_number){

Callers 3

stabilizeClipMethod · 0.80
CVStabilizer.cppFile · 0.80
mainFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected