Message ID | 1444840154-7804-2-git-send-email-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Oct 14, 2015 at 07:28:53PM +0300, ville.syrjala@linux.intel.com wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Add a few helpers to get the dimensions of the chroma plane(s). > > Cc: dri-devel@lists.freedesktop.org > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > include/drm/drm_crtc.h | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h > index 33ddedd..317baf9 100644 > --- a/include/drm/drm_crtc.h > +++ b/include/drm/drm_crtc.h > @@ -1497,6 +1497,18 @@ extern int drm_format_num_planes(uint32_t format); > extern int drm_format_plane_cpp(uint32_t format, int plane); > extern int drm_format_horz_chroma_subsampling(uint32_t format); > extern int drm_format_vert_chroma_subsampling(uint32_t format); > +static inline int drm_format_plane_width(int width, uint32_t format, int plane) > +{ > + if (plane == 0) > + return width; > + return width / drm_format_horz_chroma_subsampling(format); > +} > +static inline int drm_format_plane_height(int height, uint32_t format, int plane) > +{ > + if (plane == 0) > + return height; > + return height / drm_format_vert_chroma_subsampling(format); > +} A bit of kerneldoc would be neat. Either way Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > extern const char *drm_get_format_name(uint32_t format); > extern struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev, > unsigned int supported_rotations); > -- > 2.4.9 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 33ddedd..317baf9 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -1497,6 +1497,18 @@ extern int drm_format_num_planes(uint32_t format); extern int drm_format_plane_cpp(uint32_t format, int plane); extern int drm_format_horz_chroma_subsampling(uint32_t format); extern int drm_format_vert_chroma_subsampling(uint32_t format); +static inline int drm_format_plane_width(int width, uint32_t format, int plane) +{ + if (plane == 0) + return width; + return width / drm_format_horz_chroma_subsampling(format); +} +static inline int drm_format_plane_height(int height, uint32_t format, int plane) +{ + if (plane == 0) + return height; + return height / drm_format_vert_chroma_subsampling(format); +} extern const char *drm_get_format_name(uint32_t format); extern struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev, unsigned int supported_rotations);