[FFmpeg-devel] [PATCH] avcodec/h264_mp4toannexb: fix missing SPS/PPS to IDR frames

Zhao Zhili quinkblack at foxmail.com
Mon Jan 9 18:46:21 EET 2023


On Thu, 2022-12-29 at 01:20 +0800, Zhao Zhili wrote:
> From: Zhao Zhili <zhilizhao at tencent.com>
> 
> If there is a single group of SPS/PPS before an IDR frame, but no
> SPS/PPS after that, we will miss the chance to reset
> idr_sps_seen/idr_pps_seen. The result is missing SPS/PPS for all
> IDR frames except the first one.
> 
> Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
> ---
>  libavcodec/h264_mp4toannexb_bsf.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/h264_mp4toannexb_bsf.c
> b/libavcodec/h264_mp4toannexb_bsf.c
> index d11be455c2..bbdeca9c44 100644
> --- a/libavcodec/h264_mp4toannexb_bsf.c
> +++ b/libavcodec/h264_mp4toannexb_bsf.c
> @@ -259,7 +259,7 @@ static int h264_mp4toannexb_filter(AVBSFContext
> *ctx, AVPacket *opkt)
>  
>              count_or_copy(&out, &out_size, buf, nal_size,
>                            unit_type == H264_NAL_SPS || unit_type ==
> H264_NAL_PPS, j);
> -            if (!new_idr && unit_type == H264_NAL_SLICE) {
> +            if (unit_type == H264_NAL_SLICE) {
>                  new_idr  = 1;
>                  sps_seen = 0;
>                  pps_seen = 0;

Ping for review.



More information about the ffmpeg-devel mailing list