From patchwork Sun Jul 29 21:22:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 9837 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:104:0:0:0:0:0 with SMTP id c4-v6csp3191954jad; Sun, 29 Jul 2018 14:22:57 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeJ3/f7VTcz6qRpaE2Q2YxftJ5jTIIf5diTIQfj8kKNd02cXlVEdF8U89ZrEf5/lGLu60of X-Received: by 2002:a1c:1fc6:: with SMTP id f189-v6mr10215028wmf.12.1532899377662; Sun, 29 Jul 2018 14:22:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532899377; cv=none; d=google.com; s=arc-20160816; b=P/egdt8QqJoZ4qRZBtseqN7d6QlgsvJHLjE2LzLn4wHPyvUFCLHKpe5f+taIf9zq7+ KVA3dY1A5Or3CDPqF1fOhw0yKt03QdVfaBFkFLZl1aa4Tu2aGUzcHe2cgpeec7n71qEm 5UgE1DPKhmvbT5EA+ZAZLHDPdjrvjuZF3CjNH5r94kdHvnbEghtJ3h39YMVvMboxn3k7 0n5hv/5f2zqH8xtmKpsyLxbClJ0uTd5UHv7Eg05wu5PK73H58tWmDDb22guyMJ3QkZjS L5hTpnSx5MU3uJc47F4+R1uW3yExU/A2nDvdGWzdOt5TuF/1ZRlvqX0MMi7YEG3tlWtf 4fOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=82uqFmnDiGOk3jESQhXDbWuWGlKNuRqCSxDEq0E3ijc=; b=JGlAK1pTrNo25TBTZCBERDEGMbv1YCLcxZjzw/VIAniByf/2huxsWXEDeNQyyPD0re BkqmQEipd53CiNr0jPPALUV3jxx1bk7Ca0eCvoyHo4DzKH6wlbijEyQN67ti94yngo83 5prCmH8qbYJ7J8x0U13UM4cR7pMYQg3tFmsZKtSA7hb+Abz0xU84xOQzC9T3lMP+eJvU 9peie8UVQagwYS760CNKdjynstaVP73JfvGTly8Nvx1Og8fijbOZgsx+WsMlL2cu2JfG BLkTJNMjgo931xZHrarfyxE215PIkdrTnsh9BdaIN0qxYNlWsyZobNB8xjiRUK2VfgBS WW5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b="R+k/LgLn"; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q14-v6si3976864wrf.391.2018.07.29.14.22.56; Sun, 29 Jul 2018 14:22:57 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b="R+k/LgLn"; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9027B68A3C3; Mon, 30 Jul 2018 00:22:38 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BBCFF689D40 for ; Mon, 30 Jul 2018 00:22:31 +0300 (EEST) Received: by mail-qt0-f193.google.com with SMTP id f18-v6so10196770qtp.10 for ; Sun, 29 Jul 2018 14:22:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=/d1rdGykBLTA3HNmS27msAztqiQdnvfmWX4wIZq5xMo=; b=R+k/LgLnR6uORVEAVjsD7xAWvGzcmLxivnLAdkn2xv8JoOs50yZVrO2gwCXp94sj7L JusKjVhav+G1bvnaxeyZUa/MSILo50MANey7krU95M8q9dpdEdx8C8fLIfGKIMjwnEX2 Oykwb03siHNzauexGEGyjODtmIYKONLCGAQHwP7ISkJuK0uUkaLfL25VxwZ2uwrhtpPE zPXAMB3yg0bkc110Nn9WJM/YyrjXIiMC5SxS00WOHvQdMt3zgR2gmW9VvM8sa+Hndx46 HC6W4OEyUNtU6r49x1lvZlphsuDIp2juGhb+xB5UXrUoTGwh/xp2BU/VNcjXAguskBXx 9Iiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=/d1rdGykBLTA3HNmS27msAztqiQdnvfmWX4wIZq5xMo=; b=swaJt7hDFP+alBbakLJDSsK1OfzjzVIGipExLocV6GfWBvkYfA84IQmjaiEa204iXG ZGfs0/CYByMg6CmpsG/zVXIgUVHNa8DW/ggvJKJzr4MsklMtgSpROqx6X0Nl3oj5vYlC 8gcJbGjemjQyo7SVJlRReHCFNF89+8nap2YBMHvtDvVaBebvLoWW7DuAQpfn8yGVDBUP pF3x1bSYy9pSF/TfhyE9VcYS76yNCqHlkO527/IgarqUHtFrcqmnNH7MWq1+iPt6O5k5 mg8f8KCBicLxGwGvORH35bxOXdXIHLoC8rsIRz49I27s1GHd+CGGwYIrPxdG84JOwRx3 gswg== X-Gm-Message-State: AOUpUlE1xZQDe2dhDxSbLy/EQruUOYAvcJRkVFf0Xk09Z0D1HggNny0c ZCJB4FCKqlFCfUh4g9RxR5irk/qW X-Received: by 2002:a0c:f9c8:: with SMTP id j8-v6mr12970834qvo.177.1532899366529; Sun, 29 Jul 2018 14:22:46 -0700 (PDT) Received: from localhost.localdomain ([190.188.171.140]) by smtp.gmail.com with ESMTPSA id p21-v6sm7904149qtb.32.2018.07.29.14.22.45 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 29 Jul 2018 14:22:46 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 29 Jul 2018 18:22:25 -0300 Message-Id: <20180729212225.11964-1-jamrial@gmail.com> X-Mailer: git-send-email 2.18.0 Subject: [FFmpeg-devel] [PATCH] avcodec/h264_mp4toannexb_bsf: use enum constants for the NAL unit type values X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- libavcodec/h264_mp4toannexb_bsf.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/libavcodec/h264_mp4toannexb_bsf.c b/libavcodec/h264_mp4toannexb_bsf.c index 292d106433..794c82e650 100644 --- a/libavcodec/h264_mp4toannexb_bsf.c +++ b/libavcodec/h264_mp4toannexb_bsf.c @@ -26,6 +26,7 @@ #include "avcodec.h" #include "bsf.h" +#include "h264.h" typedef struct H264BSFContext { int32_t sps_offset; @@ -209,9 +210,9 @@ static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *out) if (nal_size > buf_end - buf || nal_size < 0) goto fail; - if (unit_type == 7) + if (unit_type == H264_NAL_SPS) s->idr_sps_seen = s->new_idr = 1; - else if (unit_type == 8) { + else if (unit_type == H264_NAL_PPS) { s->idr_pps_seen = s->new_idr = 1; /* if SPS has not been seen yet, prepend the AVCC one to PPS */ if (!s->idr_sps_seen) { @@ -232,18 +233,18 @@ static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *out) /* if this is a new IDR picture following an IDR picture, reset the idr flag. * Just check first_mb_in_slice to be 0 as this is the simplest solution. * This could be checking idr_pic_id instead, but would complexify the parsing. */ - if (!s->new_idr && unit_type == 5 && (buf[1] & 0x80)) + if (!s->new_idr && unit_type == H264_NAL_IDR_SLICE && (buf[1] & 0x80)) s->new_idr = 1; /* prepend only to the first type 5 NAL unit of an IDR picture, if no sps/pps are already present */ - if (s->new_idr && unit_type == 5 && !s->idr_sps_seen && !s->idr_pps_seen) { + if (s->new_idr && unit_type == H264_NAL_IDR_SLICE && !s->idr_sps_seen && !s->idr_pps_seen) { if ((ret=alloc_and_copy(out, ctx->par_out->extradata, ctx->par_out->extradata_size, buf, nal_size, 1)) < 0) goto fail; s->new_idr = 0; /* if only SPS has been seen, also insert PPS */ - } else if (s->new_idr && unit_type == 5 && s->idr_sps_seen && !s->idr_pps_seen) { + } else if (s->new_idr && unit_type == H264_NAL_IDR_SLICE && s->idr_sps_seen && !s->idr_pps_seen) { if (s->pps_offset == -1) { av_log(ctx, AV_LOG_WARNING, "PPS not present in the stream, nor in AVCC, stream may be unreadable\n"); if ((ret = alloc_and_copy(out, NULL, 0, buf, nal_size, 0)) < 0) @@ -253,9 +254,9 @@ static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *out) buf, nal_size, 1)) < 0) goto fail; } else { - if ((ret=alloc_and_copy(out, NULL, 0, buf, nal_size, unit_type == 7 || unit_type == 8)) < 0) + if ((ret=alloc_and_copy(out, NULL, 0, buf, nal_size, unit_type == H264_NAL_SPS || unit_type == H264_NAL_PPS)) < 0) goto fail; - if (!s->new_idr && unit_type == 1) { + if (!s->new_idr && unit_type == H264_NAL_SLICE) { s->new_idr = 1; s->idr_sps_seen = 0; s->idr_pps_seen = 0;