Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

RGB Formats

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

2.5. Định dạng RGB

Các định dạng này mã hóa từng pixel dưới dạng bộ ba giá trị RGB. Chúng được đóng gói định dạng, nghĩa là các giá trị RGB cho một pixel được lưu trữ liên tiếp trong bộ nhớ và mỗi pixel tiêu thụ một số nguyên byte. Khi số lượng các bit cần thiết để lưu trữ một pixel không được căn chỉnh theo ranh giới byte, dữ liệu được được đệm thêm các bit để lấp đầy byte còn lại.

Các định dạng khác nhau về số bit trên mỗi thành phần RGB (thông thường nhưng không luôn giống nhau đối với tất cả các thành phần), thứ tự của các thành phần trong bộ nhớ và sự hiện diện của thành phần alpha hoặc các bit đệm bổ sung.

Cách sử dụng và giá trị của các bit alpha trong các định dạng hỗ trợ chúng (được đặt tên là ARGB hoặc một hoán vị của chúng, gọi chung là định dạng alpha) phụ thuộc vào loại thiết bị và hoạt động của phần cứng. Thiết bị ZZ0000ZZ (bao gồm hàng đợi chụp của thiết bị mem-to-mem) điền thành phần alpha vào trí nhớ. Khi thiết bị bắt được kênh alpha, thành phần alpha sẽ có một giá trị có ý nghĩa. Ngược lại, khi thiết bị không thu được kênh alpha nhưng có thể đặt bit alpha thành giá trị do người dùng định cấu hình, Điều khiển ZZ0001ZZ được sử dụng để chỉ định giá trị alpha đó và thành phần alpha của tất cả các pixel sẽ được đặt thành giá trị được chỉ định bởi điều khiển đó. Nếu không thì một định dạng tương ứng không có phải sử dụng thành phần alpha (XRGB hoặc XBGR) thay vì định dạng alpha.

Thiết bị ZZ0000ZZ (bao gồm hàng đợi đầu ra của thiết bị mem-to-mem và thiết bị ZZ0001ZZ) đọc thành phần alpha từ trí nhớ. Khi thiết bị xử lý kênh alpha, thành phần alpha phải được chứa đầy các giá trị có ý nghĩa bởi các ứng dụng. Nếu không thì một định dạng tương ứng không có thành phần alpha (XRGB hoặc XBGR) phải được sử dụng thay vì thành phần alpha định dạng.

Các định dạng chứa bit đệm được đặt tên là XRGB (hoặc hoán vị của nó). Các bit đệm chứa các giá trị không xác định và phải được các ứng dụng bỏ qua, thiết bị và trình điều khiển cho cả thiết bị ZZ0000ZZ và ZZ0001ZZ.

Lưu ý

  • In all the tables that follow, bit 7 is the most significant bit in a byte.

  • ‘r’, ‘g’ and ‘b’ denote bits of the red, green and blue components respectively. ‘a’ denotes bits of the alpha component (if supported by the format), and ‘x’ denotes padding bits.

2.5.1. Ít hơn 8 bit cho mỗi thành phần

Các định dạng này lưu trữ bộ ba RGB trong một, hai hoặc bốn byte. Họ được đặt tên dựa trên thứ tự của các thành phần RGB như được thấy trong từ 8, 16 hoặc 32 bit, sau đó được lưu trữ trong bộ nhớ theo thứ tự byte endian nhỏ (trừ khi có cách khác được ghi nhận bởi sự hiện diện của bit 31 trong giá trị 4CC) và số lượng bit cho từng thành phần. Ví dụ: định dạng RGB565 lưu trữ một pixel ở dạng 16 bit từ [15:0] được trình bày ở dạng [RZZ0000ZZ RZZ0001ZZ RZZ0002ZZ RZZ0003ZZ RZZ0004ZZ GZZ0005ZZ GZZ0006ZZ GZZ0007ZZ GZZ0008ZZ GZZ0009ZZ GZZ0010ZZ BZZ0011ZZ BZZ0012ZZ BZZ0013ZZ BZZ0014ZZ BZZ0015ZZ] và được lưu trữ trong bộ nhớ ở dạng hai byte, [RZZ0016ZZ RZZ0017ZZ RZZ0018ZZ RZZ0019ZZ RZZ0020ZZ GZZ0021ZZ GZZ0022ZZ GZZ0023ZZ] theo sau là [GZZ0024ZZ GZZ0025ZZ GZZ0026ZZ BZZ0027ZZ BZZ0028ZZ BZZ0029ZZ BZZ0030ZZ BZZ0031ZZ].

RGB Formats With Less Than 8 Bits Per Component

Identifier

Code

Byte 0 in memory

Byte 1

Byte 2

Byte 3

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

V4L2_PIX_FMT_RGB332

‘RGB1’

r2

r1

r0

g2

g1

g0

b1

b0

V4L2_PIX_FMT_ARGB444

‘AR12’

g3

g2

g1

g0

b3

b2

b1

b0

a3

a2

a1

a0

r3

r2

r1

r0

V4L2_PIX_FMT_XRGB444

‘XR12’

g3

g2

g1

g0

b3

b2

b1

b0

x

x

x

x

r3

r2

r1

r0

V4L2_PIX_FMT_RGBA444

‘RA12’

b3

b2

b1

b0

a3

a2

a1

a0

r3

r2

r1

r0

g3

g2

g1

g0

V4L2_PIX_FMT_RGBX444

‘RX12’

b3

b2

b1

b0

x

x

x

x

r3

r2

r1

r0

g3

g2

g1

g0

V4L2_PIX_FMT_ABGR444

‘AB12’

g3

g2

g1

g0

r3

r2

r1

r0

a3

a2

a1

a0

b3

b2

b1

b0

V4L2_PIX_FMT_XBGR444

‘XB12’

g3

g2

g1

g0

r3

r2

r1

r0

x

x

x

x

b3

b2

b1

b0

V4L2_PIX_FMT_BGRA444

‘BA12’

r3

r2

r1

r0

a3

a2

a1

a0

b3

b2

b1

b0

g3

g2

g1

g0

V4L2_PIX_FMT_BGRX444

‘BX12’

r3

r2

r1

r0

x

x

x

x

b3

b2

b1

b0

g3

g2

g1

g0

V4L2_PIX_FMT_ARGB555

‘AR15’

g2

g1

g0

b4

b3

b2

b1

b0

a

r4

r3

r2

r1

r0

g4

g3

V4L2_PIX_FMT_XRGB555

‘XR15’

g2

g1

g0

b4

b3

b2

b1

b0

x

r4

r3

r2

r1

r0

g4

g3

V4L2_PIX_FMT_RGBA555

‘RA15’

g1

g0

b4

b3

b2

b1

b0

a

r4

r3

r2

r1

r0

g4

g3

g2

V4L2_PIX_FMT_RGBX555

‘RX15’

g1

g0

b4

b3

b2

b1

b0

x

r4

r3

r2

r1

r0

g4

g3

g2

V4L2_PIX_FMT_ABGR555

‘AB15’

g2

g1

g0

r4

r3

r2

r1

r0

a

b4

b3

b2

b1

b0

g4

g3

V4L2_PIX_FMT_XBGR555

‘XB15’

g2

g1

g0

r4

r3

r2

r1

r0

x

b4

b3

b2

b1

b0

g4

g3

V4L2_PIX_FMT_BGRA555

‘BA15’

g1

g0

r4

r3

r2

r1

r0

a

b4

b3

b2

b1

b0

g4

g3

g2

V4L2_PIX_FMT_BGRX555

‘BX15’

g1

g0

r4

r3

r2

r1

r0

x

b4

b3

b2

b1

b0

g4

g3

g2

V4L2_PIX_FMT_RGB565

‘RGBP’

g2

g1

g0

b4

b3

b2

b1

b0

r4

r3

r2

r1

r0

g5

g4

g3

V4L2_PIX_FMT_ARGB555X

‘AR15’ | (1 << 31)

a

r4

r3

r2

r1

r0

g4

g3

g2

g1

g0

b4

b3

b2

b1

b0

V4L2_PIX_FMT_XRGB555X

‘XR15’ | (1 << 31)

x

r4

r3

r2

r1

r0

g4

g3

g2

g1

g0

b4

b3

b2

b1

b0

V4L2_PIX_FMT_RGB565X

‘RGBR’

r4

r3

r2

r1

r0

g5

g4

g3

g2

g1

g0

b4

b3

b2

b1

b0

V4L2_PIX_FMT_BGR666

‘BGRH’

b5

b4

b3

b2

b1

b0

g5

g4

g3

g2

g1

g0

r5

r4

r3

r2

r1

r0

x

x

x

x

x

x

x

x

x

x

x

x

x

x

2.5.2. 8 bit cho mỗi thành phần

Các định dạng này lưu trữ bộ ba RGB trong ba hoặc bốn byte. Chúng được đặt tên dựa theo thứ tự của các thành phần RGB được lưu trong bộ nhớ và trên tổng số số bit trên mỗi pixel. Ví dụ: định dạng RGB24 lưu trữ một pixel có [RZZ0000ZZ RZZ0001ZZ RZZ0002ZZ RZZ0003ZZ RZZ0004ZZ RZZ0005ZZ RZZ0006ZZ RZZ0007ZZ] trong byte đầu tiên, [GZZ0008ZZ GZZ0009ZZ GZZ0010ZZ GZZ0011ZZ GZZ0012ZZ GZZ0013ZZ GZZ0014ZZ GZZ0015ZZ] trong byte thứ hai và [BZZ0016ZZ BZZ0017ZZ BZZ0018ZZ BZZ0019ZZ BZZ0020ZZ BZZ0021ZZ BZZ0022ZZ BZZ0023ZZ] ở byte thứ ba. Điều này khác với định dạng DRM danh pháp thay vào đó sử dụng thứ tự của các thành phần như được thấy trong 24- hoặc Từ endian nhỏ 32-bit.

RGB Formats With 8 Bits Per Component

Identifier

Code

Byte 0 in memory

Byte 1

Byte 2

Byte 3

V4L2_PIX_FMT_BGR24

‘BGR3’

B7-0

G7-0

R7-0

V4L2_PIX_FMT_RGB24

‘RGB3’

R7-0

G7-0

B7-0

V4L2_PIX_FMT_ABGR32

‘AR24’

B7-0

G7-0

R7-0

A7-0

V4L2_PIX_FMT_XBGR32

‘XR24’

B7-0

G7-0

R7-0

X7-0

V4L2_PIX_FMT_BGRA32

‘RA24’

A7-0

B7-0

G7-0

R7-0

V4L2_PIX_FMT_BGRX32

‘RX24’

X7-0

B7-0

G7-0

R7-0

V4L2_PIX_FMT_RGBA32

‘AB24’

R7-0

G7-0

B7-0

A7-0

V4L2_PIX_FMT_RGBX32

‘XB24’

R7-0

G7-0

B7-0

X7-0

V4L2_PIX_FMT_ARGB32

‘BA24’

A7-0

R7-0

G7-0

B7-0

V4L2_PIX_FMT_XRGB32

‘BX24’

X7-0

R7-0

G7-0

B7-0

2.5.3. 10 bit cho mỗi thành phần

Các định dạng này lưu trữ bộ ba RGB 30 bit với alpha 2 bit tùy chọn trong bốn byte. Chúng được đặt tên dựa trên thứ tự của các thành phần RGB như được thấy trong Từ 32 bit, sau đó được lưu trong bộ nhớ theo thứ tự byte endian nhỏ (trừ khi có ghi chú khác bởi sự hiện diện của bit 31 trong giá trị 4CC) và trên số bit cho mỗi thành phần.

RGB Formats 10 Bits Per Color Component

Identifier

Code

Byte 0 in memory

Byte 1

Byte 2

Byte 3

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

V4L2_PIX_FMT_RGBX1010102

‘RX30’

b5

b4

b3

b2

b1

b0

x

x

g3

g2

g1

g0

b9

b8

b7

b6

r1

r0

g9

g8

g7

g6

g5

g4

r9

r8

r7

r6

r5

r4

r3

r2

V4L2_PIX_FMT_RGBA1010102

‘RA30’

b5

b4

b3

b2

b1

b0

a1

a0

g3

g2

g1

g0

b9

b8

b7

b6

r1

r0

g9

g8

g7

g6

g5

g4

r9

r8

r7

r6

r5

r4

r3

r2

V4L2_PIX_FMT_ARGB2101010

‘AR30’

b7

b6

b5

b4

b3

b2

b1

b0

g5

g4

g3

g2

g1

g0

b9

b8

r3

r2

r1

r0

g9

g8

g7

g6

a1

a0

r9

r8

r7

r6

r5

r4

2.5.4. 12 bit cho mỗi thành phần

Các định dạng này lưu trữ bộ ba RGB trong sáu hoặc tám byte, với 12 bit cho mỗi thành phần. Mở rộng số bit trên mỗi thành phần lên 16 bit, dữ liệu ở bit cao, số 0 ở bit thấp, sắp xếp theo thứ tự endian nhỏ.

RGB Formats With 12 Bits Per Component

Identifier

Code

Byte 1-0

Byte 3-2

Byte 5-4

Byte 7-6

V4L2_PIX_FMT_BGR48_12

‘B312’

B15-4

G15-4

R15-4

V4L2_PIX_FMT_ABGR64_12

‘B412’

B15-4

G15-4

R15-4

A15-4

2.5.5. 16 bit cho mỗi thành phần

Các định dạng này lưu trữ bộ ba RGB trong sáu byte, với 16 bit cho mỗi thành phần được lưu trữ trong bộ nhớ theo thứ tự byte endian nhỏ. Chúng được đặt tên dựa trên thứ tự của các thành phần RGB được lưu trữ trong bộ nhớ. Chẳng hạn, RGB48 lưu trữ RZZ0000ZZ và RZZ0001ZZ lần lượt ở byte 0 và 1. Điều này khác với danh pháp định dạng DRM thay vào đó sử dụng thứ tự các thành phần như được thấy trong từ cuối nhỏ 48-bit.

RGB Formats With 16 Bits Per Component

Identifier

Code

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

V4L2_PIX_FMT_BGR48

‘BGR6’

B7-0

B15-8

G7-0

G15-8

R7-0

R15-8

V4L2_PIX_FMT_RGB48

‘RGB6’

R7-0

R15-8

G7-0

G15-8

B7-0

B15-8

2.5.6. Định dạng RGB không được dùng nữa

Các định dạng được xác định trong ZZ0000ZZ không được dùng nữa và không được được sử dụng bởi trình điều khiển mới. Chúng được ghi lại ở đây để tham khảo. Ý nghĩa của các bit alpha ZZ0001ZZ của chúng không được xác định rõ ràng và chúng được hiểu theo một trong hai cách sau: định dạng ARGB hoặc XRGB tương ứng, tùy thuộc vào trình điều khiển.

Deprecated Packed RGB Image Formats

Identifier

Code

Byte 0 in memory

Byte 1

Byte 2

Byte 3

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

V4L2_PIX_FMT_RGB444

‘R444’

g3

g2

g1

g0

b3

b2

b1

b0

a3

a2

a1

a0

r3

r2

r1

r0

V4L2_PIX_FMT_RGB555

‘RGBO’

g2

g1

g0

b4

b3

b2

b1

b0

a

r4

r3

r2

r1

r0

g4

g3

V4L2_PIX_FMT_RGB555X

‘RGBQ’

a

r4

r3

r2

r1

r0

g4

g3

g2

g1

g0

b4

b3

b2

b1

b0

V4L2_PIX_FMT_BGR32

‘BGR4’

b7

b6

b5

b4

b3

b2

b1

b0

g7

g6

g5

g4

g3

g2

g1

g0

r7

r6

r5

r4

r3

r2

r1

r0

a7

a6

a5

a4

a3

a2

a1

a0

V4L2_PIX_FMT_RGB32

‘RGB4’

a7

a6

a5

a4

a3

a2

a1

a0

r7

r6

r5

r4

r3

r2

r1

r0

g7

g6

g5

g4

g3

g2

g1

g0

b7

b6

b5

b4

b3

b2

b1

b0

Tiện ích kiểm tra để xác định định dạng RGB nào mà trình điều khiển thực sự hỗ trợ có sẵn từ kho lưu trữ LinuxTV v4l-dvb. Xem ZZ0000ZZ để truy cập hướng dẫn.