Attached are two files to be replaced in the lavtools directory of version 2.0.0 of the mjpegtools. These two files add an option called --software-encoding-yuvp which in turn does a software YUV422P implementation
I did some testing with this, and it works fine with my Pinnacle DVC100.
I did a diff to the current CVS. And the patch looks good. If everything goes well I do some tests (with zoran chipset based cards) next wekend and put it than to the CVS.
Thanks. I'll be looking forward to seeing it in a release eventually :)
One comment people using this might find very usefull: The EM28XX kernel driver exports 48KHz/16 bit audio. Using any different kind of frequency (especially the lower ones) will cause an awfull lot of deleted and inserted frames, and will cause audio and video to get out of sync. Recording on 48KHz prevents this problem from occurring.
-c 2 is a requirement. Not specifying this will ensure your recording breaks after roughly 1 min, 20 seconds.
I did not try recording mono audio so i cant say whether this matters or not.
Lastly, but this might be the speed of my laptop harddisk: Recording at -q 100 causes still some deleted/inserted frames. Recording at -q 80 solved this issue for me, but your mileage may vary.
Hopefully this prevents anyone else trying this from finding out the hard way.
Can you please post some text for the manpage of lavrec, explaining the option. And for what card/chipset it it can be used, And also important where it won't work.
Will this do?
This option adds support for the EM28XX USB driver. As this driver is V4L2. As the original BTTV
software implementation assumes that the driver supports V4L it will not work with the EM28XX
driver, not even with the V4L1 emulation layer. This option enables two things:
1) It enables the V4L2 calls to make interaction with this driver possible
2) It select the cards YUV Packed format and converts this in software to YUV Planar
The process is after this the same as for the BTTV driver.
Some things of note are the fact that the EM28XX driver expects 48KHz audio recording. If you
choose slower things will work, but a lot of deleted/inserted frames will occur. The lower the
sample rate, the worse this problem gets. Recording at 48KHz is therefore recommended.
Forgot to add:
This code was tested and found working with a DVC100 Pinnacle Dazzle. This option should work with any EM28XX, but this hasnt been tested. It might work for any other V4L2 device that outputs YUV packed format, this has however not been tested.
I have uploaded the changes to the CVS. The option will appear in the next release of the mjpegtools.
The format of the manpage lookes a bit different but that shouldn't matter. I will post a note of the change to the mjpeg-users mailing list and change the mjpeg homepage.