/* V2MemTest - A CLI Tool to test & fix Voodoo² TMU System * Copyright (C) 2026 ChaCha * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "Test_Data_NoMem.h" const def_sFaultSourceLineMap ar_sFaultSourceLineMap[] = { { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_0, .eTMUFaultSource_TMU0_RES = RA10_1, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_0, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_0, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_0, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_1, .eTMUFaultSource_TMU0_RES = RA10_2, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_1, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_1, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_1, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_2, .eTMUFaultSource_TMU0_RES = RA10_3, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_2, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_2, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_2, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_3, .eTMUFaultSource_TMU0_RES = RA10_4, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_3, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_3, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_3, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_4, .eTMUFaultSource_TMU0_RES = RA11_1, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_4, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_4, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_4, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_5, .eTMUFaultSource_TMU0_RES = RA11_2, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_5, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_5, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_5, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_6, .eTMUFaultSource_TMU0_RES = RA11_3, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_6, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_6, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_6, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_7, .eTMUFaultSource_TMU0_RES = RA11_4, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_7, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_7, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_7, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_8, .eTMUFaultSource_TMU0_RES = RA12_1, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_8, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_8, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_8, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_9, .eTMUFaultSource_TMU0_RES = RA12_2, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_9, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_9, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_9, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_10, .eTMUFaultSource_TMU0_RES = RA12_3, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_10, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_10, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_10, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_11, .eTMUFaultSource_TMU0_RES = RA12_4, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_11, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_11, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_11, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_12, .eTMUFaultSource_TMU0_RES = RA13_1, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_12, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_12, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_12, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_13, .eTMUFaultSource_TMU0_RES = RA13_2, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_13, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_13, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_13, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_14, .eTMUFaultSource_TMU0_RES = RA13_3, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_14, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_14, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_14, }, { .eTMUFaultSource_FBI = U3_FBI_TF_DATA_15, .eTMUFaultSource_TMU0_RES = RA13_4, .eTMUFaultSource_TMU0_FBI = U9_TMU0_TF_DATA_15, .eTMUFaultSource_TMU0_TMU1 = U9_TMU0_FT_DATA_15, .eTMUFaultSource_TMU1 = U8_TMU1_TF_DATA_15, }, }; const def_sTestPattern ar_sExpectedPattern_Test3[] = { { .bReferenceSet = true, // Nominal set .u8FaultLineIdx = 0, .data = { .access = { .u16Pix = { {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF} }, .u8APix = { {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 0, .data = { .access = { .u16Pix = { {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF} }, .u8APix = { {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 1, .data = { .access = { .u16Pix = { {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF} }, .u8APix = { {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 2, .data = { .access = { .u16Pix = { {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF} }, .u8APix = { {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 3, .data = { .access = { .u16Pix = { {0xF7FE,0xF7FF,0xFFFF,0xFFFF}, {0xF7FE,0xF7FE,0xF7FF,0xFFFF}, {0xF7FE,0xF7FE,0xF7FE,0xF7FE}, {0xF7FE,0xF7FE,0xF7FE,0xF7FE} }, .u8APix = { {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 4, .data = { .access = { .u16Pix = { {0xEFFD,0xEFFF,0xFFFF,0xFFFF}, {0xEFFD,0xEFFD,0xEFFF,0xFFFF}, {0xEFFD,0xEFFD,0xEFFD,0xEFFD}, {0xEFFD,0xEFFD,0xEFFD,0xEFFD} }, .u8APix = { {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 5, .data = { .access = { .u16Pix = { {0xDFFB,0xDFFF,0xFFFF,0xFFFF}, {0xDFFB,0xDFFB,0xDFFF,0xFFFF}, {0xDFFB,0xDFFB,0xDFFB,0xDFFB}, {0xDFFB,0xDFFB,0xDFFB,0xDFFB} }, .u8APix = { {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 6, .data = { .access = { .u16Pix = { {0xBFF7,0xBFFF,0xFFFF,0xFFFF}, {0xBFF7,0xBFF7,0xBFFF,0xFFFF}, {0xBFF7,0xBFF7,0xBFF7,0xBFF7}, {0xBFF7,0xBFF7,0xBFF7,0xBFF7} }, .u8APix = { {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 7, .data = { .access = { .u16Pix = { {0x7FEF,0x7FFF,0xFFFF,0xFFFF}, {0x7FEF,0x7FEF,0x7FFF,0xFFFF}, {0x7FEF,0x7FEF,0x7FEF,0x7FEF}, {0x7FEF,0x7FEF,0x7FEF,0x7FEF} }, .u8APix = { {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 8, .data = { .access = { .u16Pix = { {0x0000,0x0000,0xFFFF,0xFFFF}, {0x0000,0x0000,0x0000,0xFFFF}, {0x0000,0x0000,0x0000,0x0000}, {0x0000,0x0000,0x0000,0x0000} }, .u8APix = { {0x00,0x00,0xFF,0xFF}, {0x00,0x00,0x00,0xFF}, {0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 9, .data = { .access = { .u16Pix = { {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF}, {0xFFFF,0xFFFF,0xFFFF,0xFFFF} }, .u8APix = { {0xFD,0xFD,0xFF,0xFF}, {0xFD,0xFD,0xFD,0xFF}, {0xFD,0xFD,0xFD,0xFD}, {0xFD,0xFD,0xFD,0xFD} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 10, .data = { .access = { .u16Pix = { {0xFFDF,0xFFFF,0xFFFF,0xFFFF}, {0xFFDF,0xFFDF,0xFFFF,0xFFFF}, {0xFFDF,0xFFDF,0xFFDF,0xFFFF}, {0xFFDF,0xFFDF,0xFFDF,0xFFDF} }, .u8APix = { {0xFB,0xFB,0xFB,0xFB}, {0xFB,0xFB,0xFB,0xFB}, {0xFB,0xFB,0xFB,0xFB}, {0xFB,0xFB,0xFB,0xFB} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 11, .data = { .access = { .u16Pix = { {0xFFBF,0xFFFF,0xFFFF,0xFFFF}, {0xFFBF,0xFFBF,0xFFFF,0xFFFF}, {0xFFBF,0xFFBF,0xFFBF,0xFFBF}, {0xFFBF,0xFFBF,0xFFBF,0xFFBF} }, .u8APix = { {0xF7,0xF7,0xFF,0xFF}, {0xF7,0xF7,0xF7,0xFF}, {0xF7,0xF7,0xF7,0xF7}, {0xF7,0xF7,0xF7,0xF7} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 12, .data = { .access = { .u16Pix = { {0xFF7F,0xFFFF,0xFFFF,0xFFFF}, {0xFF7F,0xFF7F,0xFFFF,0xFFFF}, {0xFF7F,0xFF7F,0xFF7F,0xFF7F}, {0xFF7F,0xFF7F,0xFF7F,0xFF7F} }, .u8APix = { {0xEF,0xEF,0xFF,0xFF}, {0xEF,0xEF,0xEF,0xFF}, {0xEF,0xEF,0xEF,0xEF}, {0xEF,0xEF,0xEF,0xEF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 13, .data = { .access = { .u16Pix = { {0xFEFF,0xFFFF,0xFFFF,0xFFFF}, {0xFEFF,0xFEFF,0xFFFF,0xFFFF}, {0xFEFF,0xFEFF,0xFEFF,0xFEFF}, {0xFEFF,0xFEFF,0xFEFF,0xFEFF} }, .u8APix = { {0xDF,0xDF,0xFF,0xFF}, {0xDF,0xDF,0xDF,0xFF}, {0xDF,0xDF,0xDF,0xDF}, {0xDF,0xDF,0xDF,0xDF} }, } } }, { //OK .bReferenceSet = false, .u8FaultLineIdx = 14, .data = { .access = { .u16Pix = { {0xFDFF,0xFFFF,0xFFFF,0xFFFF}, {0xFDFF,0xFDFF,0xFFFF,0xFFFF}, {0xFDFF,0xFDFF,0xFDFF,0xFDFF}, {0xFDFF,0xFDFF,0xFDFF,0xFDFF} }, .u8APix = { {0xBF,0xBF,0xFF,0xFF}, {0xBF,0xBF,0xBF,0xFF}, {0xBF,0xBF,0xBF,0xBF}, {0xBF,0xBF,0xBF,0xBF} }, } } }, {//OK .bReferenceSet = false, .u8FaultLineIdx = 15, .data = { .access = { .u16Pix = { {0xFBFF,0xFFFF,0xFFFF,0xFFFF}, {0xFBFF,0xFBFF,0xFFFF,0xFFFF}, {0xFBFF,0xFBFF,0xFBFF,0xFBFF}, {0xFBFF,0xFBFF,0xFBFF,0xFBFF} }, .u8APix = { {0x7F,0x7F,0xFF,0xFF}, {0x7F,0x7F,0x7F,0xFF}, {0x7F,0x7F,0x7F,0x7F}, {0x7F,0x7F,0x7F,0x7F} }, } } }, }; const unsigned int uNbPattern_Test3 = sizeof(ar_sExpectedPattern_Test3)/sizeof(def_sTestPattern); const def_sTestPattern ar_sExpectedPattern_Test3_Dither[] = { { .bReferenceSet = true, // Nominal set .u8FaultLineIdx = 0, .data = { .access = { .u16Pix = { {0xFFFF,0xFFFF,0xFFFF,0x0040}, {0xFFFF,0xFFFF,0x0040,0x0040}, {0xFFFF,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFF,0xFF,0xFF,0x0F}, {0xFF,0xFF,0x0F,0x0F}, {0xFF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 0, .data = { .access = { .u16Pix = { {0xF7FE,0xFFFF,0xFFFF,0x0040}, {0xFFFF,0xFFFF,0x0040,0x0040}, {0xFFFF,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFF,0xFF,0xFF,0x0F}, {0xFF,0xFF,0x0F,0x0F}, {0xFF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 1, .data = { .access = { .u16Pix = { {0xF7FE,0xFFFF,0xFFFF,0x0040}, {0xFFFF,0xFFFF,0x0040,0x0040}, {0xF7FE,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFF,0xFF,0xFF,0x0F}, {0xFF,0xFF,0x0F,0x0F}, {0xFF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 2, .data = { .access = { .u16Pix = { {0xF7FE,0xFFFF,0xFFFF,0x0040}, {0xFFFF,0xF7FE,0x0040,0x0040}, {0xF7FE,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFF,0xFF,0xFF,0x0F}, {0xFF,0xFF,0x0F,0x0F}, {0xFF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 3, .data = { .access = { .u16Pix = { {0xF7FE,0xF7FF,0xFFFF,0x0040}, {0xF7FE,0xF7FE,0x0040,0x0040}, {0xF7FE,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFF,0xFF,0xFF,0x0F}, {0xFF,0xFF,0x0F,0x0F}, {0xFF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 4, .data = { .access = { .u16Pix = { {0xEFFD,0xEFFF,0xFFFF,0x0040}, {0xEFFD,0xEFFD,0x0040,0x0040}, {0xEFFD,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFF,0xFF,0xFF,0x0F}, {0xFF,0xFF,0x0F,0x0F}, {0xFF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 5, .data = { .access = { .u16Pix = { {0xDFFB,0xDFFF,0xFFFF,0x0040}, {0xDFFB,0xDFFB,0x0040,0x0040}, {0xDFFB,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFF,0xFF,0xFF,0x0F}, {0xFF,0xFF,0x0F,0x0F}, {0xFF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 6, .data = { .access = { .u16Pix = { {0xBFF7,0xBFFF,0xFFFF,0x0040}, {0xC7F8,0xBFF7,0x0040,0x0040}, {0xBFF7,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFF,0xFF,0xFF,0x0F}, {0xFF,0xFF,0x0F,0x0F}, {0xFF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 7, .data = { .access = { .u16Pix = { {0x7FEF,0x7FEF,0xFFFF,0x0040}, {0x87F0,0x7FEF,0x0040,0x0040}, {0x7FEF,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFF,0xFF,0xFF,0x0F}, {0xFF,0xFF,0x0F,0x0F}, {0xFF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 8, .data = { .access = { .u16Pix = { {0x0040,0x0040,0xFFFF,0x0040}, {0x0040,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0x0F,0x0F,0xFF,0x0F}, {0x0F,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 9, .data = { .access = { .u16Pix = { {0xFFDF,0xFFFF,0xFFFF,0x0040}, {0xFFFF,0xFFDF,0x0040,0x0040}, {0xFFDF,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFD,0xFD,0xFF,0x0F}, {0xFD,0xFD,0x0F,0x0F}, {0xFD,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 10, .data = { .access = { .u16Pix = { {0xFFDF,0xFFFF,0xFFFF,0x0040}, {0xFFDF,0xFFDF,0x0040,0x0040}, {0xFFDF,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xFB,0xFB,0xFF,0x0F}, {0xFB,0xFB,0x0F,0x0F}, {0xFB,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 11, .data = { .access = { .u16Pix = { {0xFFBF,0xFFFF,0xFFFF,0x0040}, {0xFFBF,0xFFBF,0x0040,0x0040}, {0xFFBF,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xF7,0xF7,0xFF,0x0F}, {0xF7,0xF7,0x0F,0x0F}, {0xF7,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 12, .data = { .access = { .u16Pix = { {0xFF7F,0xFFFF,0xFFFF,0x0040}, {0xFF7F,0xFF7F,0x0040,0x0040}, {0xFF7F,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xEF,0xEF,0xFF,0x0F}, {0xEF,0xEF,0x0F,0x0F}, {0xEF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 13, .data = { .access = { .u16Pix = { {0xFEFF,0xFFFF,0xFFFF,0x0040}, {0xFEFF,0xFEFF,0x0040,0x0040}, {0xFEFF,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xDF,0xDF,0xFF,0x0F}, {0xDF,0xDF,0x0F,0x0F}, {0xDF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, { //OK ! .bReferenceSet = false, .u8FaultLineIdx = 14, .data = { .access = { .u16Pix = { {0xFDFF,0xFFFF,0xFFFF,0x0040}, {0xFDFF,0xFDFF,0x0040,0x0040}, {0xFDFF,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0xBF,0xBF,0xFF,0x0F}, {0xBF,0xBF,0x0F,0x0F}, {0xBF,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, {//OK .bReferenceSet = false, .u8FaultLineIdx = 15, .data = { .access = { .u16Pix = { {0xFBFF,0xFFFF,0xFFFF,0x0040}, {0xFC1F,0xFBFF,0x0040,0x0040}, {0xFBFF,0x0040,0x0040,0x0040}, {0x0040,0x0040,0x0040,0x0040} }, .u8APix = { {0x7F,0xFF,0xFF,0x0F}, {0x7F,0x7F,0x0F,0x0F}, {0x7F,0x0F,0x0F,0x0F}, {0x0F,0x0F,0x0F,0x0F} }, } } }, }; const unsigned int uNbPattern_Test3_Dither = sizeof(ar_sExpectedPattern_Test3_Dither)/sizeof(def_sTestPattern);