From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id C8AB0490AC for ; Sun, 3 Mar 2024 02:29:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B801368D338; Sun, 3 Mar 2024 04:29:47 +0200 (EET) Received: from mail-oi1-f227.google.com (mail-oi1-f227.google.com [209.85.167.227]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B77D668BE9D for ; Sun, 3 Mar 2024 04:29:41 +0200 (EET) Received: by mail-oi1-f227.google.com with SMTP id 5614622812f47-3c1c913508fso2358495b6e.3 for ; Sat, 02 Mar 2024 18:29:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proxyid.net; s=google; t=1709432980; x=1710037780; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=GZ/y/CHqHSfpfMHeUO5W5Oay+4LrDjaai3+/TbLFpj0=; b=KyPTj8yALa1RozD6ionbQz0XadXDJSKPqWUbtuekqIdtHe/OH8VeKrBT0LtW6F1O0Z ojz+J6A8QJXZNK/PyUFbLfk0IZwZIx2knKnGIWOA9bDLTCEcQs2kLx5LatcYBvFtYCRX Ieox9VSkUK9YxF5RTsPMJmkCpBBqyrwY7ea3ud4TrHYVkVgGeALiJzSIm2NptEm5JTpf uRvrUceqll+563WjYizw7THonazdpssFzNg/LOt/Vacdks+bxYtd+ok3KClh0/jQ91AI l4336VkHFjDT/aG5dM5CombKnZCXCpXb9bMavZ/N6GcAJ8E+FVT5kNP4tZYFF9rwN8Oi OaSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709432980; x=1710037780; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GZ/y/CHqHSfpfMHeUO5W5Oay+4LrDjaai3+/TbLFpj0=; b=GbjoX8i82OFRUgvW4ueM/fSlNZtF6Iw3D3DI5UVBn1Y77S8ZBt0cm1JRvU30J0RZF5 8oyiL1oJWGf3PPSgBQmIW4nbUsnJnAQ9PLaBXolFI0ZeZvy5bRU44/ZLjdkZAi0Us99R 2EePaV8ZXq9mC1WInr0z1liJngm4YM9lrQee16soW7q0/YPLRpRzG1BLnS0e3UzflqsZ 9DPXD+FwojQNaZxF345WOl1kUebEMfzXBSrteFa4n2A4JMPCe8jUk2bObpAhRScpVlNo UnpziQwd/nwhCEnbfo1sxoi0zZuUVrajaWNMp4Z8LpZSeU8U1luDi1/KkABFXh9yYzmj 172Q== X-Gm-Message-State: AOJu0Yyv+WUteqZ9rMqhdwCpED8D5Y2tj9Td81FGcGLEK6iR3iG6GGn/ XQT2KTUb/Lr/Ps6Ix+FUc6sLu0YGsaZKNdtu9CFyURUD0B31O3VoaVt5gEXTmr9RVGN7QgPCEFG A/b1nyGSCbj+5G49+HIiHOUVSHs/QYd4lVAVDUHmN X-Google-Smtp-Source: AGHT+IEYqSOcXfVaXyyGeBN9S7a0cIJdEoWzpkpIsmSKX0JG2jhvM66zufjlPaPSmirw54NbBqg8EhA1dSME X-Received: by 2002:a05:6808:3c8b:b0:3c0:2bf5:7c11 with SMTP id gs11-20020a0568083c8b00b003c02bf57c11mr9559311oib.17.1709432980031; Sat, 02 Mar 2024 18:29:40 -0800 (PST) Received: from wsx-cc1-001.. (c-76-141-249-38.hsd1.il.comcast.net. [76.141.249.38]) by smtp-relay.gmail.com with ESMTPS id z15-20020a17090ad78f00b0029b30e13f40sm110192pju.12.2024.03.02.18.29.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Mar 2024 18:29:40 -0800 (PST) X-Relaying-Domain: proxyid.net From: Marth64 To: ffmpeg-devel@ffmpeg.org Date: Sat, 2 Mar 2024 20:29:13 -0600 Message-Id: <20240303022912.2105313-1-marth64@proxyid.net> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/dvdvideodec: fix -pgc and -pg options X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Cc: Marth64 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: In merged DVD patch, -pgc and -pg options were broken. While these are rather advanced options, they are the only means to get content for some strangely authored discs. Signed-off-by: Marth64 --- libavformat/dvdvideodec.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/libavformat/dvdvideodec.c b/libavformat/dvdvideodec.c index 3355010356..d53aef07ff 100644 --- a/libavformat/dvdvideodec.c +++ b/libavformat/dvdvideodec.c @@ -508,11 +508,12 @@ static int dvdvideo_play_next_ps_block(AVFormatContext *s, DVDVideoPlaybackState state->celln, e_cell->cellN, is_cell_promising); if (!state->in_ps && !state->in_pgc) { - if (cur_title == c->opt_title && - cur_ptt == c->opt_chapter_start && - cur_pgcn == state->pgcn && - cur_pgn == state->entry_pgn && + if (cur_title == c->opt_title && + (c->opt_pgc || cur_ptt == c->opt_chapter_start) && + cur_pgcn == state->pgcn && + cur_pgn == state->entry_pgn && is_cell_promising) { + state->in_pgc = 1; } @@ -1266,19 +1267,21 @@ static int dvdvideo_read_header(AVFormatContext *s) } if (c->opt_pgc) { - if (c->opt_pg == 0) + if (c->opt_pg == 0) { av_log(s, AV_LOG_ERROR, "Invalid coordinates. If -pgc is set, -pg must be set too.\n"); - else if (c->opt_chapter_start > 1 || c->opt_chapter_end > 0 || c->opt_preindex) + + return AVERROR(EINVAL); + } else if (c->opt_chapter_start > 1 || c->opt_chapter_end > 0 || c->opt_preindex) { av_log(s, AV_LOG_ERROR, "-pgc is not compatible with the -preindex or " "-chapter_start/-chapter_end options\n"); - - return AVERROR(EINVAL); + return AVERROR(EINVAL); + } } if ((ret = dvdvideo_ifo_open(s)) < 0) return ret; - if (c->opt_preindex && (ret = dvdvideo_chapters_setup_preindex(s)) < 0) + if (!c->opt_pgc && c->opt_preindex && (ret = dvdvideo_chapters_setup_preindex(s)) < 0) return ret; if ((ret = dvdvideo_play_open(s, &c->play_state)) < 0 || @@ -1288,7 +1291,7 @@ static int dvdvideo_read_header(AVFormatContext *s) (ret = dvdvideo_subp_stream_add_all(s)) < 0) return ret; - if (!c->opt_preindex) + if (!c->opt_pgc && !c->opt_preindex) return dvdvideo_chapters_setup_simple(s); return ret; -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".