diff options
Diffstat (limited to 'drivers/video/b2r2/b2r2_hw.h')
-rw-r--r-- | drivers/video/b2r2/b2r2_hw.h | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/drivers/video/b2r2/b2r2_hw.h b/drivers/video/b2r2/b2r2_hw.h index d492168913a..9739912d78c 100644 --- a/drivers/video/b2r2/b2r2_hw.h +++ b/drivers/video/b2r2/b2r2_hw.h @@ -455,253 +455,4 @@ enum b2r2_plug_page_size { # define B2R2_PLUG_PAGE_SIZE_DEFAULT 0 #endif -/* VMX register values for RGB to YUV color conversion */ -/* Magic numbers from 27.11 in DB8500_DesignSpecification_v2.5.pdf */ - -/* 601 Video Matrix (standard 601 conversion) */ -#define B2R2_VMX0_RGB_TO_YUV_601_VIDEO 0x107e4beb -#define B2R2_VMX1_RGB_TO_YUV_601_VIDEO 0x0982581d -#define B2R2_VMX2_RGB_TO_YUV_601_VIDEO 0xfa9ea483 -#define B2R2_VMX3_RGB_TO_YUV_601_VIDEO 0x08000080 - -/* 601 Gfx Matrix (full range conversion) */ -#define B2R2_VMX0_RGB_TO_YUV_601_GFX 0x0e1e8bee -#define B2R2_VMX1_RGB_TO_YUV_601_GFX 0x08420419 -#define B2R2_VMX2_RGB_TO_YUV_601_GFX 0xfb5ed471 -#define B2R2_VMX3_RGB_TO_YUV_601_GFX 0x08004080 - -/* 709 Video Matrix (standard 709 conversion) */ -#define B2R2_VMX0_RGB_TO_YUV_709_VIDEO 0x107e27f4 -#define B2R2_VMX1_RGB_TO_YUV_709_VIDEO 0x06e2dc13 -#define B2R2_VMX2_RGB_TO_YUV_709_VIDEO 0xfc5e6c83 -#define B2R2_VMX3_RGB_TO_YUV_709_VIDEO 0x08000080 - -/* 709 Gfx Matrix (standard 709 conversion) */ -#define B2R2_VMX0_RGB_TO_YUV_709_GFX 0x0e3e6bf5 -#define B2R2_VMX1_RGB_TO_YUV_709_GFX 0x05e27410 -#define B2R2_VMX2_RGB_TO_YUV_709_GFX 0xfcdea471 -#define B2R2_VMX3_RGB_TO_YUV_709_GFX 0x08004080 - -/* VMX register values for YUV to RGB color conversion */ - -/* 601 Video Matrix (standard 601 conversion) */ -#define B2R2_VMX0_YUV_TO_RGB_601_VIDEO 0x2c440000 -#define B2R2_VMX1_YUV_TO_RGB_601_VIDEO 0xe9a403aa -#define B2R2_VMX2_YUV_TO_RGB_601_VIDEO 0x0004013f -#define B2R2_VMX3_YUV_TO_RGB_601_VIDEO 0x34f21322 - -/* 601 Gfx Matrix (full range conversion) */ -#define B2R2_VMX0_YUV_TO_RGB_601_GFX 0x3324a800 -#define B2R2_VMX1_YUV_TO_RGB_601_GFX 0xe604ab9c -#define B2R2_VMX2_YUV_TO_RGB_601_GFX 0x0004a957 -#define B2R2_VMX3_YUV_TO_RGB_601_GFX 0x32121eeb - -/* 709 Video Matrix (standard 709 conversion) */ -#define B2R2_VMX0_YUV_TO_RGB_709_VIDEO 0x31440000 -#define B2R2_VMX1_YUV_TO_RGB_709_VIDEO 0xf16403d1 -#define B2R2_VMX2_YUV_TO_RGB_709_VIDEO 0x00040145 -#define B2R2_VMX3_YUV_TO_RGB_709_VIDEO 0x33b14b18 - -/* 709 Gfx Matrix (standard 709 conversion) */ -#define B2R2_VMX0_YUV_TO_RGB_709_GFX 0x3964a800 -#define B2R2_VMX1_YUV_TO_RGB_709_GFX 0xef04abc9 -#define B2R2_VMX2_YUV_TO_RGB_709_GFX 0x0004a95f -#define B2R2_VMX3_YUV_TO_RGB_709_GFX 0x307132df - -/* VMX register values for RGB to BGR conversion */ -#define B2R2_VMX0_RGB_TO_BGR 0x00000100 -#define B2R2_VMX1_RGB_TO_BGR 0x00040000 -#define B2R2_VMX2_RGB_TO_BGR 0x20000000 -#define B2R2_VMX3_RGB_TO_BGR 0x00000000 - -/* VMX register values for BGR to YUV color conversion */ -/* Note: All BGR -> YUV values are calculated by multiplying - * the RGB -> YUV matrices [A], with [S] to form [A]x[S] where - * |0 0 1| - * S = |0 1 0| - * |1 0 0| - * Essentially swapping first and third columns in - * the matrices (VMX0, VMX1 and VMX2 values). - * The offset vector VMX3 remains untouched. - * Put another way, the value of bits 0 through 9 - * is swapped with the value of - * bits 20 through 31 in VMX0, VMX1 and VMX2, - * taking into consideration the compression - * that is used on bits 0 through 9. Bit 0 being LSB. - */ - -/* 601 Video Matrix (standard 601 conversion) */ -#define B2R2_VMX0_BGR_TO_YUV_601_VIDEO 0xfd7e4883 -#define B2R2_VMX1_BGR_TO_YUV_601_VIDEO 0x03a2584c -#define B2R2_VMX2_BGR_TO_YUV_601_VIDEO 0x107ea7d4 -#define B2R2_VMX3_BGR_TO_YUV_601_VIDEO 0x08000080 - -/* 601 Gfx Matrix (full range conversion) */ -#define B2R2_VMX0_BGR_TO_YUV_601_GFX 0xfdde8870 -#define B2R2_VMX1_BGR_TO_YUV_601_GFX 0x03220442 -#define B2R2_VMX2_BGR_TO_YUV_601_GFX 0x0e3ed7da -#define B2R2_VMX3_BGR_TO_YUV_601_GFX 0x08004080 - -/* 709 Video Matrix (standard 709 conversion) */ -#define B2R2_VMX0_BGR_TO_YUV_709_VIDEO 0xfe9e2483 -#define B2R2_VMX1_BGR_TO_YUV_709_VIDEO 0x0262dc37 -#define B2R2_VMX2_BGR_TO_YUV_709_VIDEO 0x107e6fe2 -#define B2R2_VMX3_BGR_TO_YUV_709_VIDEO 0x08000080 - -/* 709 Gfx Matrix (standard 709 conversion) */ -#define B2R2_VMX0_BGR_TO_YUV_709_GFX 0xfebe6871 -#define B2R2_VMX1_BGR_TO_YUV_709_GFX 0x0202742f -#define B2R2_VMX2_BGR_TO_YUV_709_GFX 0x0e3ea7e6 -#define B2R2_VMX3_BGR_TO_YUV_709_GFX 0x08004080 - - -/* VMX register values for YUV to BGR conversion */ -/* Note: All YUV -> BGR values are constructed - * from the YUV -> RGB ones, by swapping - * first and third rows in the matrix - * (VMX0 and VMX2 values). Further, the first and - * third values in the offset vector need to be - * swapped as well, i.e. bits 0 through 9 are swapped - * with bits 20 through 29 in the VMX3 value. - * Bit 0 being LSB. - */ - -/* 601 Video Matrix (standard 601 conversion) */ -#define B2R2_VMX0_YUV_TO_BGR_601_VIDEO 0x0004013f -#define B2R2_VMX1_YUV_TO_BGR_601_VIDEO 0xe9a403aa -#define B2R2_VMX2_YUV_TO_BGR_601_VIDEO 0x2c440000 -#define B2R2_VMX3_YUV_TO_BGR_601_VIDEO 0x3222134f - -/* 601 Gfx Matrix (full range conversion) */ -#define B2R2_VMX0_YUV_TO_BGR_601_GFX 0x0004a957 -#define B2R2_VMX1_YUV_TO_BGR_601_GFX 0xe604ab9c -#define B2R2_VMX2_YUV_TO_BGR_601_GFX 0x3324a800 -#define B2R2_VMX3_YUV_TO_BGR_601_GFX 0x2eb21f21 - -/* 709 Video Matrix (standard 709 conversion) */ -#define B2R2_VMX0_YUV_TO_BGR_709_VIDEO 0x00040145 -#define B2R2_VMX1_YUV_TO_BGR_709_VIDEO 0xf16403d1 -#define B2R2_VMX2_YUV_TO_BGR_709_VIDEO 0x31440000 -#define B2R2_VMX3_YUV_TO_BGR_709_VIDEO 0x31814b3b - -/* 709 Gfx Matrix (standard 709 conversion) */ -#define B2R2_VMX0_YUV_TO_BGR_709_GFX 0x0004a95f -#define B2R2_VMX1_YUV_TO_BGR_709_GFX 0xef04abc9 -#define B2R2_VMX2_YUV_TO_BGR_709_GFX 0x3964a800 -#define B2R2_VMX3_YUV_TO_BGR_709_GFX 0x2df13307 - - -/* VMX register values for YVU to RGB conversion */ - -/* 601 Video Matrix (standard 601 conversion) */ -#define B2R2_VMX0_YVU_TO_RGB_601_VIDEO 0x00040120 -#define B2R2_VMX1_YVU_TO_RGB_601_VIDEO 0xF544034D -#define B2R2_VMX2_YVU_TO_RGB_601_VIDEO 0x37840000 -#define B2R2_VMX3_YVU_TO_RGB_601_VIDEO 0x34f21322 - -/* VMX register values for RGB to YVU conversion */ - -/* 601 Video Matrix (standard 601 conversion) */ -#define B2R2_VMX0_RGB_TO_YVU_601_VIDEO 0xfa9ea483 -#define B2R2_VMX1_RGB_TO_YVU_601_VIDEO 0x0982581d -#define B2R2_VMX2_RGB_TO_YVU_601_VIDEO 0x107e4beb -#define B2R2_VMX3_RGB_TO_YVU_601_VIDEO 0x08000080 - -/* VMX register values for YVU to BGR conversion */ - -/* 601 Video Matrix (standard 601 conversion) */ -#define B2R2_VMX0_YVU_TO_BGR_601_VIDEO 0x37840000 -#define B2R2_VMX1_YVU_TO_BGR_601_VIDEO 0xF544034D -#define B2R2_VMX2_YVU_TO_BGR_601_VIDEO 0x00040120 -#define B2R2_VMX3_YVU_TO_BGR_601_VIDEO 0x3222134F - -/* VMX register values for BGR to YVU conversion */ - -/* 601 Video Matrix (standard 601 conversion) */ -#define B2R2_VMX0_BGR_TO_YVU_601_VIDEO 0x107ea7d4 -#define B2R2_VMX1_BGR_TO_YVU_601_VIDEO 0x03a2584c -#define B2R2_VMX2_BGR_TO_YVU_601_VIDEO 0xfd7e4883 -#define B2R2_VMX3_BGR_TO_YVU_601_VIDEO 0x08000080 - -/* VMX register values for YVU to YUV conversion */ - -/* 601 Video Matrix (standard 601 conversion) */ -/* Internally, the components are in fact stored - * with luma in the middle, i.e. UYV, which is why - * the values are just like for RGB->BGR conversion. - */ -#define B2R2_VMX0_YVU_TO_YUV_601_VIDEO 0x00000100 -#define B2R2_VMX1_YVU_TO_YUV_601_VIDEO 0x00040000 -#define B2R2_VMX2_YVU_TO_YUV_601_VIDEO 0x20000000 -#define B2R2_VMX3_YVU_TO_YUV_601_VIDEO 0x00000000 - -/* VMX register values for RGB to BLT_YUV888 conversion */ - -/* 601 Video Matrix (standard 601 conversion) */ -/* - * BLT_YUV888 has color components laid out in memory as V, U, Y, (Alpha) - * with V at the first byte (due to little endian addressing). - * B2R2 expects them to be as U, Y, V, (A) - * with U at the first byte. - * Note: RGB -> BLT_YUV888 values are calculated by multiplying - * the RGB -> YUV matrix [A], with [S] to form [S]x[A] where - * |0 1 0| - * S = |0 0 1| - * |1 0 0| - * Essentially changing the order of rows in the original - * matrix [A]. - * row1 -> row3 - * row2 -> row1 - * row3 -> row2 - * Values in the offset vector are swapped in the same manner. - */ -#define B2R2_VMX0_RGB_TO_BLT_YUV888_601_VIDEO 0x0982581d -#define B2R2_VMX1_RGB_TO_BLT_YUV888_601_VIDEO 0xfa9ea483 -#define B2R2_VMX2_RGB_TO_BLT_YUV888_601_VIDEO 0x107e4beb -#define B2R2_VMX3_RGB_TO_BLT_YUV888_601_VIDEO 0x00020080 - -/* VMX register values for BLT_YUV888 to RGB conversion */ - -/* - * Note: BLT_YUV888 -> RGB values are calculated by multiplying - * the YUV -> RGB matrix [A], with [S] to form [A]x[S] where - * |0 0 1| - * S = |1 0 0| - * |0 1 0| - * Essentially changing the order of columns in the original - * matrix [A]. - * col1 -> col3 - * col2 -> col1 - * col3 -> col2 - * Values in the offset vector remain unchanged. - */ -#define B2R2_VMX0_BLT_YUV888_TO_RGB_601_VIDEO 0x20000121 -#define B2R2_VMX1_BLT_YUV888_TO_RGB_601_VIDEO 0x201ea74c -#define B2R2_VMX2_BLT_YUV888_TO_RGB_601_VIDEO 0x2006f000 -#define B2R2_VMX3_BLT_YUV888_TO_RGB_601_VIDEO 0x34f21322 - -/* VMX register values for YUV to BLT_YUV888 conversion */ -#define B2R2_VMX0_YUV_TO_BLT_YUV888 0x00040000 -#define B2R2_VMX1_YUV_TO_BLT_YUV888 0x00000100 -#define B2R2_VMX2_YUV_TO_BLT_YUV888 0x20000000 -#define B2R2_VMX3_YUV_TO_BLT_YUV888 0x00000000 - -/* VMX register values for BLT_YUV888 to YUV conversion */ -#define B2R2_VMX0_BLT_YUV888_TO_YUV 0x00000100 -#define B2R2_VMX1_BLT_YUV888_TO_YUV 0x20000000 -#define B2R2_VMX2_BLT_YUV888_TO_YUV 0x00040000 -#define B2R2_VMX3_BLT_YUV888_TO_YUV 0x00000000 - -/* VMX register values for YVU to BLT_YUV888 conversion */ -#define B2R2_VMX0_YVU_TO_BLT_YUV888 0x00040000 -#define B2R2_VMX1_YVU_TO_BLT_YUV888 0x20000000 -#define B2R2_VMX2_YVU_TO_BLT_YUV888 0x00000100 -#define B2R2_VMX3_YVU_TO_BLT_YUV888 0x00000000 - -/* VMX register values for BLT_YUV888 to YVU conversion */ -#define B2R2_VMX0_BLT_YUV888_TO_YVU 0x00040000 -#define B2R2_VMX1_BLT_YUV888_TO_YVU 0x20000000 -#define B2R2_VMX2_BLT_YUV888_TO_YVU 0x00000100 -#define B2R2_VMX3_BLT_YUV888_TO_YVU 0x00000000 - #endif /* B2R2_HW_H__ */ |