blob: 5a22f4e4fc05c0518e07a2e80973195963a2f9f7 [file] [log] [blame]
// Copyright 2014 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <stdbool.h>
#include <stdint.h>
#if defined(USE_V4L2_CODEC)
#include <linux/videodev2.h>
#endif // defined(USE_V4L2_CODEC)
#if defined (USE_VAAPI)
#include <va/va.h>
#endif // defined (USE_VAAPI)
/* main.c */
extern int verbose;
#define TRACE(...) do { if (verbose) printf(__VA_ARGS__); } while (0)
/* table_lookup.c */
extern void detect_label_by_board_name(void);
/* util.c */
extern int do_ioctl(int fd, int request, void* arg);
extern bool is_any_device(const char* pattern, bool (*func)(int fd));
extern bool is_any_device_with_path(const char* pattern,
bool (*func)(const char *dev_path,
int fd));
extern void convert_fourcc_to_str(uint32_t fourcc, char* str);
/* util_v4l2 */
#if defined(USE_V4L2_CODEC)
extern bool is_v4l2_support_format(int fd, enum v4l2_buf_type buf_type,
uint32_t fourcc);
extern bool is_hw_video_acc_device(int fd);
extern bool is_hw_jpeg_acc_device(int fd);
bool get_v4l2_max_resolution(
int fd, uint32_t fourcc,
int32_t* const resolution_width, int32_t* const resolution_height);
#endif // defined(USE_V4L2_CODEC)
/* util_vaapi */
#if defined(USE_VAAPI)
bool is_vaapi_support_formats(int fd, const VAProfile* profiles,
VAEntrypoint entrypoint, unsigned int format);
bool get_vaapi_max_resolution(
int fd, const VAProfile* profiles, VAEntrypoint entrypoit,
int32_t* const resolution_width, int32_t* const resolution_height);
#endif // defined(USE_VAAPI)
/* detectors */
extern bool detect_builtin_usb_camera(void);
extern bool detect_builtin_mipi_camera(void);
extern bool detect_vivid_camera(void);
extern bool detect_builtin_camera(void);
extern bool detect_builtin_or_vivid_camera(void);
extern bool detect_video_acc_h264(void);
extern bool detect_video_acc_vp8(void);
extern bool detect_video_acc_vp9(void);
extern bool detect_video_acc_vp9_2(void);
extern bool detect_video_acc_enc_h264(void);
extern bool detect_video_acc_enc_vp8(void);
extern bool detect_video_acc_enc_vp9(void);
extern bool detect_jpeg_acc_dec(void);
extern bool detect_jpeg_acc_enc(void);
bool detect_4k_device_h264(void);
bool detect_4k_device_vp8(void);
bool detect_4k_device_vp9(void);
bool detect_4k_device_enc_h264(void);
bool detect_4k_device_enc_vp8(void);
bool detect_4k_device_enc_vp9(void);