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