[FFmpeg-devel] using usb hardware h264 encoders

Sergiy piratfm
Mon Nov 9 13:29:14 CET 2009


Michael Niedermayer ?????:
> what is UV12 blocked?
>   

It's bug, must be NV12 (YUV 4:2:0 image with a plane of 8 bit Y samples 
followed by an interleaved U/V plane containing 8 bit 2x2 subsampled 
colour difference samples). But width must be divisible by 64 and height 
- by 32. It also converted by some (unknown to me) algorithm, looks like 
chess desk with 32x64 cells. Some description of converting given at the 
top of crusher264/src/imgConverter.c

> whats a qbox cts ?
>   
This is "current timestamp", generated by device, here is values, 
generated for 25fps:
0 - for sps/pps.
0 - for first frame (idr).
next frames: 100, 200, 300, 400, 500 and so on...

> doesnt sound like an error
>   
> dont misuse AV_LOG_ERROR
>   
Will be fixed with next patch.


P.S. Now have some problems with live-transconding. Instead using CPU 
cycles, crusher using time-intervals for encoding (it's hardware!).
If capture device or live-stream given as source, then ffmpeg encodes 
too slow (no more than 400x304), this due slow USB transfer for 
uncompressed video. So, I want to add another thread to crusher lib, 
that moves uncompressed video to device, and ffmpeg will have more time 
for receiving/decoding.



More information about the ffmpeg-devel mailing list