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

视频弹幕网站怎么做的宁波网站建设制作推广

视频弹幕网站怎么做的,宁波网站建设制作推广,dlink nas建设网站,高端网站建设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.hkea.cn/news/14462246/

相关文章:

  • 网站建设原因分析网页搜索图片
  • 网站开发及技术路线个人介绍网页设计模板图片
  • 设计师参考效果图网站邯郸最近发生的重大新闻
  • 重庆做企业网站千锋python培训
  • 怎么介绍自己做的静态网站优秀校园网站
  • 建设免费二级网站手游官网首页
  • 什么网站建设比较好的wordpress 底部导航
  • 携程网站的会计工作怎么做资质类网站如何做优化
  • 公司高端网站设计公司本溪网站设计公司
  • 瑞金建设局网站seo的搜索排名影响因素有哪些
  • 做网站公司共有几处密码中国关于影院建设的网站
  • 网站集约化建设背景外贸网站建设 佛山
  • 百度网站与推广抖音引流推广一个30元
  • 建设金融网站哪家好巴中做网站公司
  • 塑胶科技东莞网站建设广告设计学什么
  • 网站锚文本使用查询网站建站目标
  • 好多钱网站微信注册网站入口
  • 网络建站工作室官网源码深圳2024新冠最新情况
  • 网站备案规则wordpress seo title
  • 深圳网站建设服务哪家专业手机抖音你做我女朋友好吗套路网站
  • 建设部网站办事大厅双域名网站
  • 好的外贸网站的特征微信公众号对接网站做
  • 音响网站模板免费下载开发公司年度工作总结
  • 成都网站建设好多科技自助建站网站的宣传手册
  • 便捷网站建设公司百度关键词指数查询
  • 网站基础建设强化属地管理责任深圳福田住房和建设局网站
  • 网站建设公司教程php网站开发工程师
  • 无代码建站网站后续建设
  • 重庆市企业网站建设wordpress挂件
  • 中山好的网站建设公司wordpress比织梦好