Menu

#49 Support for EM28XX style cards

open-accepted
None
5
2011-07-10
2011-06-26
rst
No

Hi,

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

Discussion

  • rst

    rst - 2011-06-26
     
  • rst

    rst - 2011-06-26
     
  • rst

    rst - 2011-06-26

    I did some testing with this, and it works fine with my Pinnacle DVC100.

     
  • Bernhard Praschinger

    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.

     
  • Bernhard Praschinger

    • assigned_to: nobody --> waldviertler
     
  • rst

    rst - 2011-06-29

    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.

     
  • Bernhard Praschinger

    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.

     
  • rst

    rst - 2011-07-08

    Will this do?

    --software-encoding-yuvp
    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.
    
     
  • rst

    rst - 2011-07-08

    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.

     
  • Bernhard Praschinger

    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.

     
  • Bernhard Praschinger

    • status: open --> open-accepted
     
  • rst

    rst - 2011-07-10

    Thanks. I'll see if I can modify it more in the coming weeks so it uses V4L2 only. That should support more cards

     
  • rst

    rst - 2011-07-17
     
  • rst

    rst - 2011-07-17

    Hi,

    Added performance_patch. This is needed when trying to capture full res PAL 704x576 movies, as stripes are appearing on the screen. With this patch the stripes are lessened but not gone. It seems to be caused by the encoding thread as far as I can find. Likely the software implementation costs too much time. If i take away the extra memcpy before doing the YUV packed -> YUV planar conversion the stripes get worse. Increasing num_procs makes it worse too.

    Any suggestions?

    Rogier

    Any suggestions on fixing this issue?

     
  • Bernhard Praschinger

    I hope you know the concept of holidays.

    I have updated the CVS so the patch is safe. I have no idea about the problem. I will post a mail to the mjpeg-users mailing list, maybe somebody has a idea how to fix that problem.

     

Log in to post a comment.