Transcript Slide 1
Samsung Poland R&D Center 2009.09.18 © Samsung Electronics Co., LTD S/W Platform Team Version History Ver. Date Description Author 0.1 2009/09/18 Initial Version Marek Szyprowski © Samsung Electronics Co., LTD S/W Platform Team | Reviewer 2 Contents 1 Samsung System on Chip products 2 Samsung S5PC110 SoC multimedia capabilities 3 Samsung S5PC110 - Display pipelines 4 Samsung S5PC110 – Multimedia Use Cases 5 Samsung S3C6410 SoC multimedia capabilities 6 Samsung S5PC110 - Display pipelines 7 Samsung S3C6410 – Multimedia Use Cases 8 Summary © Samsung Electronics Co., LTD S/W Platform Team | 3 Samsung System on Chip products S5PC100 and S5PC110 - latest Samsung System on Chip products S3C6410 - mature Samsung SoC - already well supported in Linux Kernel v2.6.29+ Common features: - ARM CPU - A bunch of integrated multimedia peripherals - All multimedia IPs can access system memory directly. - All multimedia IPs require buffers to be contiguous in physical memory. © Samsung Electronics Co., LTD S/W Platform Team | 4 Samsung S5PC110 SoC multimedia capabilities CPU – ARM CortexA8 1GHz Display Controller (5 independent windows with OSD/Blending) TV Encoder with Mixer and HDMI output FIMC x3 (unified camera interface, image scaler, rotator and color space converter) Multi Format Codec (MPEG1,2,4, H.263, H.264 encoder/decoder) JPEG coder/encoder 3D accelerator © Samsung Electronics Co., LTD S/W Platform Team | 5 Samsung S5PC110 – Main display pipeline Simplified architecture of the main display pipeline System Memory DMA in DMA out DMA in Display Controller FIMC 0 Window 0 FIMC 1 Window 1 FIMC 2 Window 2 Window 3 Window 4 © Samsung Electronics Co., LTD S/W Platform Team | Display Device Camera B Mixer/Blender/OSD controller Camera A 6 Samsung S5PC110 - TV display pipeline Simplified architecture of the TV display pipeline System Memory DMA in DMA in TV Mixer Graphics 1 Graphics 2 Video Processor © Samsung Electronics Co., LTD S/W Platform Team Mixer/Blender Background TV Encoder HDMI Out Video | 7 Samsung S5PC110 – FIMC IP – multimedia core Multiple input support: - Camera A or Camera B interfaces (ITU-R BT 601/656/709 mode) - DMA in from system memory Multiple output support: - DMA out to system memory - Direct FIFO to Display Controller’s Window Image scaler, mirror and rotation support Color space conversion support Direct FIFO to Display Controller heavily reduces system memory throughput (800x480x32bits/pixel @ 70 fps consumes about 100MB/s) © Samsung Electronics Co., LTD S/W Platform Team | 8 Samsung S5PC110 – Multimedia Use Cases (1) Recording a movie from camera with live preview in OSD Window FIMC 0 Display Controller Scaling to OSD window size Window 0 OSD Camera A YUV frame(s) FIMC 1 Scaling to target size, color space conversion © Samsung Electronics Co., LTD S/W Platform Team | System Memory 9 Samsung S5PC110 – Multimedia Use Cases (2) Decoding and displaying a movie (i.e. H264) System Memory Multi Format Codec H246 frame(s) H264 decoder mode © Samsung Electronics Co., LTD S/W Platform Team System Memory YUV frame(s) | FIMC 0 Display Controller Scaling to OSD window size Window 0 OSD input 10 Samsung S5PC110 – Multimedia Use Cases (3) One Shot operations (hardware accelerated image manipulation in system memory) FIMC 0 System Memory RGB frame © Samsung Electronics Co., LTD System Memory Scaling to target picture size S/W Platform Team YUV frame | JPEG accelerator encoder mode System Memory JPEG image 11 Samsung S3C6410 SOC multimedia capabilities CPU - ARM1176JZF-S 533MHz Display Controller (5 independent windows with OSD/Blending) Camera Interface (2 separate paths, image scaler and color space converter) Post Processor and TV Scaler (image scaler and color space converter) Image Rotator Multi Format Codec (MPEG2, MEPEG-4, DivX, H.263, H.264 encoder/decoder) JPEG coder/encoder 3D accelerator 2D accelerator © Samsung Electronics Co., LTD S/W Platform Team | 12 Samsung S3C6410 – The display pipeline Simplified architecture of the main display pipeline System Memory Post Processor Window 0 CameraIF (preview) Window 1 CameraIF (codec) Window 2 TV Scaler Window 3 Window 4 LCD Display Device DMA in DMA out DMA in Display Controller Mixer/Blender/OSD controller Camera A TV Encoder © Samsung Electronics Co., LTD S/W Platform Team | 13 Samsung S3C6410 – Multimedia Use Cases (1) Recording a movie from camera with live preview in OSD Window Camera IF (preview) Scaling to OSD window size Display Controller Window 0 OSD Camera A YUV frame(s) Camera IF (codec) Scaling to target size, color space conversion © Samsung Electronics Co., LTD S/W Platform Team | System Memory 14 Samsung S3C6410 – Multimedia Use Cases (2) Decoding and displaying a movie with rotation (i.e. H264) System Memory Multi Format Codec System Memory H246 frame(s) H264 decoder mode YUV frame(s) © Samsung Electronics Co., LTD S/W Platform Team | Image Rotator System Memory Post Processor Display Controller rotated YUV frame(s) Scaling to OSD window size Window 0 OSD input 15 Samsung S3C6410 – Multimedia Use Cases (3) One Shot operations (hardware accelerated image manipulation in system memory) Post Processor System Memory RGB frame © Samsung Electronics Co., LTD System Memory Scaling to target picture size S/W Platform Team YUV frame | JPEG accelerator encoder mode System Memory JPEG image 16 Summary Samsung SoCs also have multimedia accelerators that work in transactional mode: - DMA input, processing, DMA output - Some of them (like 2D accelerator/blitter or 3D engine) does not fit well into Video4Linux framework All multimedia devices require buffers that are contiguous in physical memory - Buffer Manager is required - Buffer Manager should not be tied only to Video4Linux devices - Memory fragmentation issues No dedicated video memory bus in Samsung SoCs, all video data is pipelined through system memory © Samsung Electronics Co., LTD S/W Platform Team | 17 © Samsung Electronics Co., LTD S/W Platform Team