[07:34] <hiroh> Hi Everyone, [07:34] <hiroh> I would like to clarify the meaning of V4L2_CID_MPEG_VIDEO_BITRATE and V4L2_CID_MPEG_VIDEO_BITRATE_PEAK when a bitrate mode is VBR. [07:34] <hiroh> In CBR encoding, V4L2_CID_MPEG_VIDEO_BITRATE_PEAK is just ignored and a driver does their best to produce a bitstream whose bitrate is specified with V4L2_CID_MPEG_VIDEO_BITRATE. [07:34] <hiroh> In general of VBR encoding, a range of bitrates is configured. I think we should set V4L2_CID_MPEG_VIDEO_BITRATE_PEAK to the max bitrate. [07:34] <hiroh> But I wonder what we should set V4L2_CID_MPEG_VIDEO_BITRATE. Is it the average of the bitrate, or the min? If it is the average, how the minimum bitrate is computed in a driver? [07:36] <hverkuil> hiroh: it's the average bitrate. That could be clearer in the documentation, I'll make a quick patch for that. [07:39] <hverkuil> The documentation for V4L2_CID_MPEG_VIDEO_BITRATE_PEAK actually refers to V4L2_CID_MPEG_VIDEO_BITRATE as the average video bitrate, but 'average' is missing in the V4L2_MPEG_VIDEO_BITRATE doc itself. [07:40] <hiroh> Thanks. How does a driver decide a minimum bitrate from the average and max in VBR encoding? [07:42] <hverkuil> hiroh: That's driver/firmware/hardware specific. [07:42] <hiroh> I see. Is there any recommended way of computing the average value from min and max? [07:42] <hverkuil> If there is hardware that supports a minimum video bitrate, then there would be a good case for adding a new control for that. Haven't heard about anything like that, though. [07:43] <hverkuil> Not a clue :-) [07:48] <hiroh> Hmm, it is something like ABR actually. [07:48] <hiroh> https://en.wikipedia.org/wiki/Average_bitrate [07:50] <hiroh> IMO, ABR is good if multi-pass encoding is allowed. But I think v4l2 encoder can do single-pass encoding. [07:50] <hiroh> Anyway, thanks for clarifying. [08:29] <tomba> I want to split a sensor subdev into two subdevs, but I'm a bit confused... Do I need to linux devices to represent those subdevs? I can't just create "virtual" subdevs? [09:53] <hverkuil> ezequielg: I discovered why my test build didn't catch the kerneldoc issues in the vp8 series: it will find kerneldoc issues in sources (happens automatically when you add W=1 to make), but the headers are not checked. As far as I can tell you need to do that manually. [09:55] <hverkuil> I added code to my build script to do that for all media headers, and got about 1000 warnings and errors :-) [09:55] <hverkuil> 1158 to be precise [12:03] <ezequielg> hverkuil: ouch ^_^ [12:59] <v4lusr> anybody here know abotu rate control ? [14:13] *** koike1 has left