[FFmpeg-user] should I shoot the dog?

Mark Filipak (ffmpeg) markfilipak at bog.us
Tue Sep 29 18:25:51 EEST 2020

On 09/29/2020 10:46 AM, Michael Koch wrote:
> Am 29.09.2020 um 16:26 schrieb Mark Filipak (ffmpeg):
>> On 09/29/2020 09:37 AM, Michael Koch wrote:
>>> Am 29.09.2020 um 14:58 schrieb Mark Filipak (ffmpeg):
>>>> On 09/29/2020 04:06 AM, Michael Koch wrote:
>>>>> Am 29.09.2020 um 04:28 schrieb Mark Filipak (ffmpeg):
>>>>>> I just want to understand the frame structures that ffmpeg creates, and that ffmpeg uses in 
>>>>>> processing and filtering. Are Y, Cb, Cr separate buffers? That would be logical. Or are the Y, 
>>>>>> Cb, Cr values combined and organized similarly to macroblocks? I've found some code that 
>>>>>> supports that. Or are the Y, Cb, Cr values thrown together, pixel-by-pixel. That would be 
>>>>>> logical, too.
>>>>> As far as I understood it, that depends on the pixel format.
>>>>> For example there are "packed" pixel formats rgb24, bgr24, argb, rgba, abgr, bgra,rgb48be, 
>>>>> rgb48le, bgr48be, bgr48le.
>>>>> And there are "planar" pixel formats gbrp, bgrp16be, bgrp16le.
>>>> Hi Michael,
>>>> "Packed" and "planar", eh? What evidence do you have? ...Share the candy!
>>> As far as I know, this is not described in the official documentation. You can find it for 
>>> example here:
>>> https://video.stackexchange.com/questions/16374/ffmpeg-pixel-format-definitions
>> Thanks for that. It saved me some time. ...So, what does "planar" mean? What does "packed" mean?
> Here is an example for a very small image with 3 x 2 pixels.
> In (packed) RGB24 format:   RGBRGBRGBRGBRGBRGB

Oh, dear, that's what "packed" means? ...very misleading name, eh? How are fields handled? Are the 
pixels assumed to be unfielded (meaning so-called "progressive")?


What about fields?

In macroblock format, samples are 1st spacially divided vertically into by-16 slices, then spacially 
divided within slices into by-16 macroblocks, then, within macroblocks, divided by into (combined) 
colorant-field blocks: Ytop Ytop Ybottom Ybottom Cb Cr, and, within Cb Cr colorants, into field 
half-blocks, and finally, interleaved by 2 levels of interleaving. ...An overly complicated and (to 
me) ill-conceived set of datasets that illustrates (to me) that the video "engineers" of the Motion 
Pictures Expert Group are lightweight engineers and have hacked a "system".

It is structure to the field-level that I'm most interested in, but a deep dive would be fun.

The U.S. political problem? Amateurs are doing the street fighting.
The Princeps Senatus and the Tribunus Plebis need their own armies.

More information about the ffmpeg-user mailing list