Apollo
10.0
自动驾驶开放平台
compress_component.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2020 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
17
#pragma once
18
19
#include <memory>
20
21
#include "
cyber/base/concurrent_object_pool.h
"
22
#include "
cyber/cyber.h
"
23
#include "modules/common_msgs/sensor_msgs/sensor_image.pb.h"
24
#include "modules/drivers/smartereye/proto/config.pb.h"
25
26
namespace
apollo
{
27
namespace
drivers {
28
namespace
smartereye {
29
30
using
apollo::cyber::Component
;
31
using
apollo::cyber::Writer
;
32
using
apollo::cyber::base::CCObjectPool
;
33
using
apollo::drivers::Image
;
34
using
apollo::drivers::smartereye::config::Config
;
35
36
class
CompressComponent
:
public
Component
<Image> {
37
public
:
38
bool
Init
()
override
;
39
bool
Proc
(
const
std::shared_ptr<Image>& image)
override
;
40
41
private
:
42
std::shared_ptr<CCObjectPool<CompressedImage>> image_pool_ =
nullptr
;
43
std::shared_ptr<Writer<CompressedImage>> writer_ =
nullptr
;
44
Config
config_;
45
};
46
47
CYBER_REGISTER_COMPONENT
(
CompressComponent
)
48
}
// namespace smartereye
49
}
// namespace drivers
50
}
// namespace apollo
apollo::cyber::Component
Definition
component.h:60
apollo::cyber::Writer
Definition
writer.h:42
apollo::cyber::base::CCObjectPool
Definition
concurrent_object_pool.h:36
apollo::drivers::smartereye::CompressComponent
Definition
compress_component.h:36
apollo::drivers::smartereye::CompressComponent::Proc
bool Proc(const std::shared_ptr< Image > &image) override
Definition
compress_component.cc:50
apollo::drivers::smartereye::CompressComponent::Init
bool Init() override
Definition
compress_component.cc:30
CYBER_REGISTER_COMPONENT
#define CYBER_REGISTER_COMPONENT(name)
Definition
component.h:656
concurrent_object_pool.h
cyber.h
apollo
class register implement
Definition
arena_queue.h:37
apollo::drivers::Image
Definition
sensor_image.proto:66
apollo::drivers::smartereye::config::Config
Definition
config.proto:17
modules
drivers
smartereye
compress_component.h