message: dnn: protobuf shutdown
diff: #include "precomp.hpp"
  #include <opencv2/dnn/layer.details.hpp>
  +#include <google/protobuf/stubs/common.h>
  +
  namespace cv {
  namespace dnn {
  CV__DNN_EXPERIMENTAL_NS_BEGIN
  @@ -56,11 +58,26 @@ Mutex& getInitializationMutex()
  // force initialization (single-threaded environment)
  Mutex* __initialization_mutex_initializer = &getInitializationMutex();
  +namespace {
  +using namespace google::protobuf;
  +class ProtobufShutdown {
  +public:
  + bool initialized;
  + ProtobufShutdown() : initialized(true) {}
  + ~ProtobufShutdown()
  + {
  + initialized = false;
  + google::protobuf::ShutdownProtobufLibrary();
  + }
  +};
  +} // namespace
  void initializeLayerFactory()
  {
  CV_TRACE_FUNCTION();
  + static ProtobufShutdown protobufShutdown; (void)protobufShutdown;
  +
  CV_DNN_REGISTER_LAYER_CLASS(Slice, SliceLayer);
  CV_DNN_REGISTER_LAYER_CLASS(Split, SplitLayer);
  CV_DNN_REGISTER_LAYER_CLASS(Concat, ConcatLayer);
  