[FFmpeg-devel] [PATCH]Support for Frame Duplication (Doubling/ Tripling) by FFMPEG's HEVC Decoder by parsing the picture_struct SEI value (Requirement: http://ffmpeg.org/pipermail/ffmpeg-devel/2019-June/245521.html)

Moritz Barsnick barsnick at gmx.net
Tue Jan 7 14:12:26 EET 2020


On Tue, Jan 07, 2020 at 11:38:01 +0000, Praveen Kumar wrote:

Praveen, could you please create the patch with "git format-patch", so
that it includes a commit message?

> +            if (ctx->sei.picture_timing.picture_struct) {
> +                switch (ctx->sei.picture_timing.picture_struct) {
> +                case HEVC_SEI_PIC_STRUCT_FRAME_DOUBLING:
> +                    s->repeat_pict = 3;
> +                    break;
> +                case HEVC_SEI_PIC_STRUCT_FRAME_TRIPLING:
> +                    s->repeat_pict = 5;
> +                    break;
> +                default:
> +                    break;
> +                }
> +            } else {
> +                s->repeat_pict = ctx->sei.picture_timing.picture_struct == PICT_FRAME ? 1 : 0;
> +            }

Isn't your "else" just a "case 0:"?

> +        } else if (pic_struct == 7) {
> +            av_log(logctx, AV_LOG_DEBUG, "Frame/Field Doubling\n");
> +            h->picture_struct = HEVC_SEI_PIC_STRUCT_FRAME_DOUBLING;
> +            avctx->ticks_per_frame = 2;
> +        } else if (pic_struct == 8) {
> +            av_log(logctx, AV_LOG_DEBUG, "Frame/Field Tripling\n");
> +            h->picture_struct = HEVC_SEI_PIC_STRUCT_FRAME_TRIPLING;
> +            avctx->ticks_per_frame = 2;

Is ticks_per_frame also 2 when tripling?

Cheers,
Moritz


More information about the ffmpeg-devel mailing list