当前位置: 首页 > news >正文

1网站建设合肥seo建站

1网站建设,合肥seo建站,cn域名做seo,摄像头做直播网站本文参考以下博文#xff1a; Linux内核4.14版本——drm框架分析(5)——plane分析 特此致谢#xff01; 1. 简介 一个plane代表一个image layer#xff08;硬件图层#xff09;#xff0c;最终的image由一个或者多个plane(s)组成。plane和 Framebuffer 一样是内存地址。…本文参考以下博文 Linux内核4.14版本——drm框架分析(5)——plane分析 特此致谢 1. 简介 一个plane代表一个image layer硬件图层最终的image由一个或者多个plane(s)组成。plane和 Framebuffer 一样是内存地址。plane主要包括以下3种类型 DRM_PLANE_TYPE_PRIMARY主要图层通常用于仅支持RGB格式的简单图层DRM_PLANE_TYPE_OVERLAY叠加图层通常用于YUV格式的视频图层DRM_PLANE_TYPE_CURSOR光标图层一般用于pc系统用于显示鼠标 2. 核心结构 在Linux内核的DRM中plane对应的核心结构体为struct drm_plane。该结构体在include/drm/drm_plane.h中定义代码如下Linux内核版本6.1 /*** struct drm_plane - central DRM plane control structure** Planes represent the scanout hardware of a display block. They receive their* input data from a drm_framebuffer and feed it to a drm_crtc. Planes control* the color conversion, see Plane Composition Properties_ for more details,* and are also involved in the color conversion of input pixels, see Color* Management Properties_ for details on that.*/ struct drm_plane {/** dev: DRM device this plane belongs to */struct drm_device *dev;/*** head:** List of all planes on dev, linked from drm_mode_config.plane_list.* Invariant over the lifetime of dev and therefore does not need* locking.*/struct list_head head;/** name: human readable name, can be overwritten by the driver */char *name;/*** mutex:** Protects modeset plane state, together with the drm_crtc.mutex of* CRTC this plane is linked to (when active, getting activated or* getting disabled).** For atomic drivers specifically this protects state.*/struct drm_modeset_lock mutex;/** base: base mode object */struct drm_mode_object base;/*** possible_crtcs: pipes this plane can be bound to constructed from* drm_crtc_mask()*/uint32_t possible_crtcs;/** format_types: array of formats supported by this plane */uint32_t *format_types;/** format_count: Size of the array pointed at by format_types. */unsigned int format_count;/*** format_default: driver hasnt supplied supported formats for the* plane. Used by the non-atomic driver compatibility wrapper only.*/bool format_default;/** modifiers: array of modifiers supported by this plane */uint64_t *modifiers;/** modifier_count: Size of the array pointed at by modifier_count. */unsigned int modifier_count;/*** crtc:** Currently bound CRTC, only meaningful for non-atomic drivers. For* atomic drivers this is forced to be NULL, atomic drivers should* instead check drm_plane_state.crtc.*/struct drm_crtc *crtc;/*** fb:** Currently bound framebuffer, only meaningful for non-atomic drivers.* For atomic drivers this is forced to be NULL, atomic drivers should* instead check drm_plane_state.fb.*/struct drm_framebuffer *fb;/*** old_fb:** Temporary tracking of the old fb while a modeset is ongoing. Only* used by non-atomic drivers, forced to be NULL for atomic drivers.*/struct drm_framebuffer *old_fb;/** funcs: plane control functions */const struct drm_plane_funcs *funcs;/** properties: property tracking for this plane */struct drm_object_properties properties;/** type: Type of plane, see enum drm_plane_type for details. */enum drm_plane_type type;/*** index: Position inside the mode_config.list, can be used as an array* index. It is invariant over the lifetime of the plane.*/unsigned index;/** helper_private: mid-layer private data */const struct drm_plane_helper_funcs *helper_private;/*** state:** Current atomic state for this plane.** This is protected by mutex. Note that nonblocking atomic commits* access the current plane state without taking locks. Either by going* through the struct drm_atomic_state pointers, see* for_each_oldnew_plane_in_state(), for_each_old_plane_in_state() and* for_each_new_plane_in_state(). Or through careful ordering of atomic* commit operations as implemented in the atomic helpers, see* struct drm_crtc_commit.*/struct drm_plane_state *state;/*** alpha_property:* Optional alpha property for this plane. See* drm_plane_create_alpha_property().*/struct drm_property *alpha_property;/*** zpos_property:* Optional zpos property for this plane. See* drm_plane_create_zpos_property().*/struct drm_property *zpos_property;/*** rotation_property:* Optional rotation property for this plane. See* drm_plane_create_rotation_property().*/struct drm_property *rotation_property;/*** blend_mode_property:* Optional pixel blend mode enum property for this plane.* Blend mode property represents the alpha blending equation selection,* describing how the pixels from the current plane are composited with* the background.*/struct drm_property *blend_mode_property;/*** color_encoding_property:** Optional COLOR_ENCODING enum property for specifying* color encoding for non RGB formats.* See drm_plane_create_color_properties().*/struct drm_property *color_encoding_property;/*** color_range_property:** Optional COLOR_RANGE enum property for specifying* color range for non RGB formats.* See drm_plane_create_color_properties().*/struct drm_property *color_range_property;/*** scaling_filter_property: property to apply a particular filter while* scaling.*/struct drm_property *scaling_filter_property; }; 3. drm_plane结构释义 0总述 DRM全解析 —— plane详解1 struct drm_plane —— 核心的DRM plane控制结构。 planes表示显示块的扫描输出硬件。它们从drm_framebuffer中接收输入数据并将其提供给drm_crtc。planes控制颜色转换有关详细信息请参见“平面合成属性”并且还参与输入像素的颜色转换请参见“颜色管理属性”以了解详细信息。 作用如下图示 1struct drm_device *dev /** dev: DRM device this plane belongs to */struct drm_device *dev; 此plane所属的DRM设备。 2struct list_head head /*** head:** List of all planes on dev, linked from drm_mode_config.plane_list.* Invariant over the lifetime of dev and therefore does not need* locking.*/struct list_head head; dev上所有平面的列表链接自drm_mode_config.plane_List。在dev的生命周期内保持不变因此不需要锁定。 3char *name /** name: human readable name, can be overwritten by the driver */char *name; 人类可读的名称名字可以被驱动程序覆盖。 下一篇文章继续深入释义drm_plane结构中其余成员。
http://www.dnsts.com.cn/news/188486.html

相关文章:

  • 有经验的南昌网站制作企业网站内容运营
  • 写网站论文怎么做的丹东网站建设公司
  • 温州网站优化排名wordpress 产品模板
  • 网站推广对企业的优势注册网站什么要求
  • 织梦 安装网站网站正在建设中 html源码
  • 做网站怎么上线报价网站系统
  • 建设网站的技术方案是啥网站服务器选择
  • 货架网站开发西安php网站制作
  • 建设网站建设的目标在线小程序
  • 帮做非法网站免费域名申请国外
  • 网站开发知识产权归属半年工作总结ppt模板
  • 龙岗区网站建设百度关键词排名优化
  • 为什么建行网站打不开免费海报背景素材
  • 英雄联盟做的广告视频网站中企动力邮箱官网
  • 手机网站开发看什么书做外贸网站格式
  • 中药材网站开发住房城乡建设部网站诚信
  • 国内优秀的网站国内比百度好的搜索引擎
  • 国外代理网站小程序 wordpress绑定
  • 提供服务的网站珠海网络公司联系方式
  • 哈尔滨网站营销推广家乡网站设计模板
  • 百盛联合建设集团有限公司网站培训课程有哪些
  • 网站模板 下载北京网站建设哪家好
  • 企业网站类型主要包括网站的推广费用票可以做抵扣吗
  • 成都网站推广经理网站建设 算什么
  • html网站欣赏新的电商平台有哪些
  • 西安企业网站制作价格智能自助建站网站
  • 网站页面打开速度光谷网站建设制作
  • 怎么建立一个网站域名石家庄站布局图
  • 做纸巾定制的网站wordpress 截取中文
  • 领诺科技网站建设汕头个人建站模板