Figure 9-152 shows the block diagram of the vertical line defect (VDFC) correction.
The VDFC block can correct up to eight vertical line defects (see Figure 9-153).
The correction method is common to all the defects and can be selected through the ISIF_DFCCTL[6:5] VDFCSL bit field.
There are two different methods to correct vertical line defects (ISIF_DFCCTL[6:5] VDFCSL):
- Method 1: Data is replaced by an average (ISIF_DFCCTL[6:5] VDFCSL = 0x2):
- The defect is replaced by the average of pixel (i – 2) and pixel (i + 2).
- Method 2: Data is subtracted by a defect level (ISIF_DFCCTL[6:5] VDFCSL = 0x0 or 0x1):
- A saturation level is defined in the ISIF_VDFSATLV[11:0] VDFSLV bit field.
- The coordinates of the defect:
- Are defined in the ISIF_DFCMEM0[12:0] DFCMEM0 and ISIF_DFCMEM1[12:0] DFCMEM1 bit fields
- Are 13 bits wide for horizontal and vertical direction, so an image size up to 8192 × 8192 is supported
- If the data is not saturated (data < VDFSLV):
- The defect is corrected by subtracting the defect level. A different defect level is defined for:
- The point of the defect (V = Vdefect): SUB1 defect level is defined in the ISIF_DFCMEM2[7:0] DFCMEM2 bit field.
- The pixels lower than the defect (V < Vdefect): SUB2 defect level is defined in the ISIF_DFCMEM3[7:0] DFCMEM3 bit field.
- The pixels above the defect (V > Vdefect): Defect level is defined in the ISIF_DFCMEM4[7:0] DFCMEM4 bit field.
- Each defect level (value to be subtracted from the data) described previously can be up-shifted through the ISIF_DFCCTL[10:8] VDFLSFT bit field.
- Vertical line defect correction for upper pixels can be disabled through the ISIF_DFCCTL[7] VDFCUDA bit.
- If the data is saturated (VDFSLV), there are two possibilities:
- ISIF_DFCCTL[6:5] VDFCSL = 0x0: Data is simply fed through (not subtracted).
- ISIF_DFCCTL[6:5] VDFCSL = 0x1: Horizontal interpolation ((i 2) + (i + 2)) / 2 (data is replaced by interpolation or data is subtracted with interpolation)
The ISIF_LPFR register sets the number of half lines per frame or field: VD period = (L PFR+ 1) / 2 lines. LPFR is not used when HD and VD are inputs.
The following paragraphs concern only method 2 correction.
The coordinates of the defects and the defect levels to be subtracted from the data must be set to the processing listed in Table 9-211.
Table 9-211 ISS ISP ISIF Vertical Line Defect Table in MemoryBit | Defect Information |
---|
12:0 | Vertical position of the defects |
25:13 | Horizontal position of the defects |
33:26 | Defect level of the vertical line defect position (V = Vdefect) |
41:34 | Defect level of the pixels above the vertical line defect (V < Vdefect) |
49:42 | Defect level of the pixels below the vertical line defect (V > Vdefect) |
The defect must be set from left to right, as shown in Figure 9-154.
Vertical line defect correction is enable by setting the ISIF_DFCCTL[4] VDFCEN bit to 1, but the procedure in Section 9.3.3.9.9.1, ISS ISP ISIF Vertical Line Defect Table Update Procedure, must be followed.