vsp1_uds.h 850 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * vsp1_uds.h -- R-Car VSP1 Up and Down Scaler
  4. *
  5. * Copyright (C) 2013-2014 Renesas Electronics Corporation
  6. *
  7. * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
  8. */
  9. #ifndef __VSP1_UDS_H__
  10. #define __VSP1_UDS_H__
  11. #include <media/media-entity.h>
  12. #include <media/v4l2-subdev.h>
  13. #include "vsp1_entity.h"
  14. struct vsp1_device;
  15. #define UDS_PAD_SINK 0
  16. #define UDS_PAD_SOURCE 1
  17. struct vsp1_uds {
  18. struct vsp1_entity entity;
  19. bool scale_alpha;
  20. };
  21. static inline struct vsp1_uds *to_uds(struct v4l2_subdev *subdev)
  22. {
  23. return container_of(subdev, struct vsp1_uds, entity.subdev);
  24. }
  25. struct vsp1_uds *vsp1_uds_create(struct vsp1_device *vsp1, unsigned int index);
  26. void vsp1_uds_set_alpha(struct vsp1_entity *uds, struct vsp1_dl_body *dlb,
  27. unsigned int alpha);
  28. #endif /* __VSP1_UDS_H__ */