On Mon, Oct 10, 2011 at 6:34 PM, Enrico <ebut...@users.berlios.de> wrote: > On Mon, Oct 10, 2011 at 4:17 PM, Enrico <ebut...@users.berlios.de> wrote: >> On Mon, Oct 10, 2011 at 2:46 PM, Enrico <ebut...@users.berlios.de> wrote: >>> On Mon, Oct 10, 2011 at 12:33 PM, Javier Martinez Canillas >>>> Perfect, thank you Enrico. I will try this latter today and let you >>>> know. I'm sure I can get this working (with the ghosting effect of >>>> course) so you can at least obtain 25 fps and once I have this working >>>> I will resend the patch-set as v3 so Laurent can review it and >>>> hopefully help us to fix the artifact on the video. >>> >>> Yes it must be something simple but not easy to spot. >>> >>> And to add even more confusion i've attached two patches: one is a >>> port of two Deepthy patches, the other one just a board fix. >>> >>> Just replace patches 0017-18-19 with the attached 0001 patch, and >>> after patch 0025 apply the attached 0002 patch. >>> >>> With these i can succesfully grab frames with yavta BUT i only get >>> half-height frames. Disclaimer: i just made the patch monkey and gave >>> it a run without a review so it could be anything. >> >> My bad, i forgot a part about config_outlineoffset (ODDEVEN...), i >> still have (different) half-green images though... >> >> Side note: while making some tests i can confirm that the solution >> adopted in Deepthy patches: >> >> u32 syn_mode = isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCDC, ISPCCDC_SYN_MODE); >> fid = syn_mode & ISPCCDC_SYN_MODE_FLDSTAT; >> /* toggle the software maintained fid */ >> >> works as expected, i see fid switching correctly. > > Ok, i made it work. It was missing just the config_outlineoffset i > wrote before and a missing FLDMODE in SYNC registers. >
Great, do you get the ghosting effect or do you have a clean video? > Moreover it seems to me that the software-maintained field id > (interlaced_cnt in Javier patches, fldstat in Deepthy patches) is > useless, i've tried to only use the FLDSTAT bit from isp register > (fid) in vd0_isr: > > if (fid == 0) { > restart = ccdc_isr_buffer(ccdc); > goto done; > } > > and it works. I've not tested very long frame sequences, only up to 16 > frames. The only issue is that the first frame could be half-green > because a field is missing. > > Enrico > Yes, when I tried Deepthy patches I realized that the fldstat was not in sync with the frames, but probably I made something wrong. We had the same problem with the hal-green frame. Our solution was to synchronize the CCDC with the first even field looking at fdstat on the VD1 interrupt handler and forcing to start processing from an ODD sub-frame. Best regards, -- Javier Martínez Canillas (+34) 682 39 81 69 Barcelona, Spain -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html