[FFmpeg-devel] [PATCH 1/2] libavcodec/v4l2_buffers.c: set AVFrame interlaced flags
Scott Theisen
scott.the.elm at gmail.com
Mon Dec 16 22:05:17 EET 2024
On 12/15/24 22:25, James Almer wrote:
> On 12/15/2024 1:14 AM, Scott Theisen wrote:
>> Originally from:
>> https://github.com/MythTV/mythtv/commit/669955c6cb29196b4b5120451b5b998d67a65749
>>
>> ---
>> libavcodec/v4l2_buffers.c | 38 ++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 38 insertions(+)
>>
>> diff --git a/libavcodec/v4l2_buffers.c b/libavcodec/v4l2_buffers.c
>> index 23474ee143..56a8f0825c 100644
>> --- a/libavcodec/v4l2_buffers.c
>> +++ b/libavcodec/v4l2_buffers.c
>> @@ -210,6 +210,43 @@ static enum AVColorTransferCharacteristic
>> v4l2_get_color_trc(V4L2Buffer *buf)
>> return AVCOL_TRC_UNSPECIFIED;
>> }
>> +static void v4l2_get_interlacing(AVFrame *frame, V4L2Buffer *buf)
>> +{
>> + enum v4l2_field field;
>> + field = V4L2_TYPE_IS_MULTIPLANAR(buf->buf.type) ?
>> + buf->context->format.fmt.pix_mp.field :
>> + buf->context->format.fmt.pix.field;
>> +
>> + if (field == V4L2_FIELD_INTERLACED || field ==
>> V4L2_FIELD_INTERLACED_TB) {
>> + frame->flags |= AV_FRAME_FLAG_INTERLACED;
>> + frame->flags |= AV_FRAME_FLAG_TOP_FIELD_FIRST;
>> +#if FF_API_INTERLACED_FRAME
>> +FF_DISABLE_DEPRECATION_WARNINGS
>> + frame->interlaced_frame = 1;
>> + frame->top_field_first = 1;
>
> No need to set these two fields. It's done by the generic code.
>
OK, I'll remove those lines. Although it is not clear to me when those
will be set after libavcodec/pthread_frame.c calls
ff_decode_receive_frame_internal().
Regards,
Scott Theisen
More information about the ffmpeg-devel
mailing list