On 20 April 2018 at 20:02, Patrick Keroulas <
patrick.kerou...@savoirfairelinux.com> wrote:

> From: Damien Riegel <damien.rie...@savoirfairelinux.com>
>
> This codec is already capable of depacking some combinations of pixel
> formats and depth as defined in the RFC4175. The only difference between
> progressive and interlace is that either a packet will contain the whole
> frame, or only a field of the frame.
>
> There is no mechanism for interlaced frames reconstruction at the rtp
> demux level, so it has to be handled by the codec which needs to
> partially recompose an AVFrame with every incoming field AVPacket.
> A frame is ouput only when the frame is completed with the 2nd field
> (bottom).
>
> Signed-off-by: Damien Riegel <damien.rie...@savoirfairelinux.com>
> Signed-off-by: Patrick Keroulas <patrick.kerou...@savoirfairelinux.com>
> ---
>
> Change v1 -> v2:
>  Replaced field packets cloning with partial frame decoding.
>
>  @ Rostislav Pehlivanov: Regarding your comment on v1 (thank you for
>  that), I think we can avoid using the bottom field flag because the
>  interlaced/progressive format is determined once, at the decoder
>  initialization, more precisely when the sdp is parsed. RFC4175
>  doesn't define any dynamic flag to switch from one to another.
>  So there is no doubt that 'not top field' means 'bottom field'.
>
>
Doesn't matter what RFC4175 says, the decoder needs to be able to handle
any field order sent at any time, including switching to progressive. This
isn't a theoretical situation. What if there's packet loss or the user
switches streams? What if the user doesn't use the decoder for RFC4175 but
rather uses it as a generic unpacker to decode something packed.


  */
>  #define AV_PKT_FLAG_DISPOSABLE 0x0010
>
> +/**
> + * The packet contains a top field.
> + */
> +#define AV_PKT_FLAG_TOP_FIELD  0x0010
>

 This is wrong, AV_PKT_FLAG_DISPOSABLE == AV_PKT_FLAG_TOP_FIELD.


I think there must be a BOTTOM_FIELD flag along with a top field flag, with
neither of them flag meaning packet carries progressive.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to