[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")?
> In (planar) GBRP format: GGGGGGBBBBBBRRRRRR
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