image.cpp 1.32 KB
Newer Older
1
#include "image.h"
2

3
#include <ATen/core/op_registration/op_registration.h>
4
#ifdef USE_PYTHON
5
#include <Python.h>
6
#endif
7
8
9

// If we are in a Windows environment, we need to define
// initialization functions for the _custom_ops extension
10
#ifdef USE_PYTHON
11
12
13
#ifdef _WIN32
PyMODINIT_FUNC PyInit_image(void) {
  // No need to do anything.
14
  return nullptr;
15
16
}
#endif
17
#endif // USE_PYTHON
18

19
20
21
namespace vision {
namespace image {

22
23
static auto registry =
    torch::RegisterOperators()
Nicolas Hug's avatar
Nicolas Hug committed
24
        .op("image::decode_gif", &decode_gif)
25
26
        .op("image::decode_png(Tensor data, int mode, bool allow_16_bits = False, bool apply_exif_orientation=False) -> Tensor",
            &decode_png)
27
        .op("image::encode_png", &encode_png)
28
29
        .op("image::decode_jpeg(Tensor data, int mode, bool apply_exif_orientation=False) -> Tensor",
            &decode_jpeg)
30
31
32
        .op("image::encode_jpeg", &encode_jpeg)
        .op("image::read_file", &read_file)
        .op("image::write_file", &write_file)
33
34
        .op("image::decode_image(Tensor data, int mode, bool apply_exif_orientation=False) -> Tensor",
            &decode_image)
35
36
37
        .op("image::decode_jpeg_cuda", &decode_jpeg_cuda)
        .op("image::_jpeg_version", &_jpeg_version)
        .op("image::_is_compiled_against_turbo", &_is_compiled_against_turbo);
38
39
40

} // namespace image
} // namespace vision