1b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph/*
2b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph * Copyright (C) 2016 The Android Open Source Project
3b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph *
4b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph * Licensed under the Apache License, Version 2.0 (the "License");
5b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph * you may not use this file except in compliance with the License.
6b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph * You may obtain a copy of the License at
7b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph *
8b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph *      http://www.apache.org/licenses/LICENSE-2.0
9b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph *
10b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph * Unless required by applicable law or agreed to in writing, software
11b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph * distributed under the License is distributed on an "AS IS" BASIS,
12b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph * See the License for the specific language governing permissions and
14b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph * limitations under the License.
15b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph */
16b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
17b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph#ifndef ANDROID_HARDWARE_AUTOMOTIVE_EVS_V1_0_BUFFERCOPY_H
18b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph#define ANDROID_HARDWARE_AUTOMOTIVE_EVS_V1_0_BUFFERCOPY_H
19b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
20b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph#include <android/hardware/automotive/evs/1.0/types.h>
21b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
22b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
23b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphnamespace android {
24b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphnamespace hardware {
25b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphnamespace automotive {
26b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphnamespace evs {
27b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphnamespace V1_0 {
28b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphnamespace implementation {
29b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
30b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
31b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphvoid fillNV21FromNV21(const BufferDesc& tgtBuff, uint8_t* tgt,
32b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph                      void* imgData, unsigned imgStride);
33b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
34b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphvoid fillNV21FromYUYV(const BufferDesc& tgtBuff, uint8_t* tgt,
35b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph                      void* imgData, unsigned imgStride);
36b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
37b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphvoid fillRGBAFromYUYV(const BufferDesc& tgtBuff, uint8_t* tgt,
38b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph                      void* imgData, unsigned imgStride);
39b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
40b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolphvoid fillYUYVFromYUYV(const BufferDesc& tgtBuff, uint8_t* tgt,
41b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph                      void* imgData, unsigned imgStride);
42b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
43f91b3fccfe62a0361f64c89218d3a7a2443f8d0aScott Randolphvoid fillYUYVFromUYVY(const BufferDesc& tgtBuff, uint8_t* tgt,
44f91b3fccfe62a0361f64c89218d3a7a2443f8d0aScott Randolph                      void* imgData, unsigned imgStride);
45f91b3fccfe62a0361f64c89218d3a7a2443f8d0aScott Randolph
46b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph} // namespace implementation
47b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph} // namespace V1_0
48b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph} // namespace evs
49b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph} // namespace automotive
50b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph} // namespace hardware
51b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph} // namespace android
52b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph
53b342cb163393317d8af77339ff8ff5e921bd4a8fScott Randolph#endif  // ANDROID_HARDWARE_AUTOMOTIVE_EVS_V1_0_BUFFERCOPY_H
54