180 likes | 512 Views
Samsung SoCs Multimedia Capabilities. Samsung Poland R&D Center 2009.09.18. Version History. 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.
E N D
Samsung SoCs Multimedia Capabilities Samsung Poland R&D Center 2009.09.18
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 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 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 S5PC110 – Main display pipeline • Simplified architecture of the main display pipeline Camera A Camera B System Memory Display Controller DMA in DMA out DMA in Window 0 Mixer/Blender/OSD controller Display Device FIMC 0 Window 1 FIMC 1 Window 2 FIMC 2 Window 3 Window 4
Samsung S5PC110 - TV display pipeline • Simplified architecture of the TV display pipeline System Memory DMA in DMA in TV Mixer TV Encoder Mixer/Blender Background HDMI Out Graphics 1 Graphics 2 Video Processor Video
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 S5PC110 – Multimedia Use Cases (1) • Recording a movie from camera with live preview in OSD Window Display Controller Window 0 OSD FIMC 0 Scaling to OSD window size Camera A YUV frame(s) System Memory FIMC 1 Scaling to target size, color space conversion
Samsung S5PC110 – Multimedia Use Cases (2) • Decoding and displaying a movie (i.e. H264) System Memory H246 frame(s) Multi Format Codec H264 decoder mode System Memory YUV frame(s) Display Controller Window 0 OSD input FIMC 0 Scaling to OSD window size
Samsung S5PC110 – Multimedia Use Cases (3) • One Shot operations (hardware accelerated image manipulation in system memory) System Memory RGB frame System Memory YUV frame JPEG accelerator encoder mode System Memory JPEG image FIMC 0 Scaling to target picture size
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 S3C6410 – The display pipeline • Simplified architecture of the main display pipeline Camera A System Memory Display Controller DMA in DMA out DMA in Window 0 Mixer/Blender/OSD controller LCD Display Device Post Processor Window 1 CameraIF (preview) Window 2 CameraIF (codec) Window 3 TV Scaler Window 4 TV Encoder
Samsung S3C6410 – Multimedia Use Cases (1) • Recording a movie from camera with live preview in OSD Window Display Controller Window 0 OSD Camera IF (preview) Scaling to OSD window size Camera A YUV frame(s) System Memory Camera IF (codec) Scaling to target size, color space conversion
Samsung S3C6410 – Multimedia Use Cases (2) • Decoding and displaying a movie with rotation (i.e. H264) System Memory H246 frame(s) Multi Format Codec H264 decoder mode System Memory YUV frame(s) Image Rotator System Memory rotated YUV frame(s) Display Controller Window 0 OSD input Post Processor Scaling to OSD window size
Samsung S3C6410 – Multimedia Use Cases (3) • One Shot operations (hardware accelerated image manipulation in system memory) System Memory RGB frame System Memory YUV frame JPEG accelerator encoder mode System Memory JPEG image Post Processor Scaling to target picture size
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