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 225C949B10 for ; Sun, 3 Mar 2024 08:47:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1157568D390; Sun, 3 Mar 2024 10:47:28 +0200 (EET) Received: from mail-yw1-f227.google.com (mail-yw1-f227.google.com [209.85.128.227]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9DB9168B5A1 for ; Sun, 3 Mar 2024 10:47:21 +0200 (EET) Received: by mail-yw1-f227.google.com with SMTP id 00721157ae682-608cf2e08f9so38373297b3.0 for ; Sun, 03 Mar 2024 00:47:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proxyid.net; s=google; t=1709455639; x=1710060439; 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=bQ3uLcogTNXCrKukPfIo7KTjMNay88OHxhPDI80ire4=; b=OHIB2ZZ5i9Q1S8LCbErVf57hlNWSon+7T/eXWb0SnB60oWH5eA7IkyeE+Y0WI80521 68LxoAl3xM97VfN84H0la1SCxd0ueF4MK7SvNWzEhYYxYXpRWWyQqHgrsPmuInot04zA pSNP29FPgyUK/pdAI3tVemk9mBw1HoLa1O64Lhhbo+ukApN5Sm7Dyj+/2ppuJn6Ljy7b ZJN9y0eLirdsIDysZU6ZYq8aPcd1KTPTl7RP1kGFCUp3SDXbC/LjGuW2iqS1SfyIa0S1 VEKTPLk869nnJqRNy98BPZ5ftpXecQtO6i8FTBheu8O5wg6ig19TdaOQ9LHrn92kaVxr 4cBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709455639; x=1710060439; 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=bQ3uLcogTNXCrKukPfIo7KTjMNay88OHxhPDI80ire4=; b=SlxX4jyJ+tWDWa4alL65GbFUtwdG7q2iJ/OIuWQSOPOQ56wK7wGUu1eGe7RFOudURt MX/gUZ15H/zAIAHKtwrW0STFCYnQ3b2wr4qdM2+0ILuYLf2shpbmQP+d04e6MMGd4E5O TNPLPDwcuSnAmfFg7T3rv+9hpHVF0vvZsRJhZz4z3OdZbzv4ar6AoguNgGh7DTBpdD0O TS1tk3re6Nv0G/ePyJDc09qnwtFAB9HCOfpt0uejaEDjBKrKPewmrdn1OJVBtVHHrVe/ 2/oeXSAWV5aS3fLDV/R9dq/vreciGCDHLncuIZpyUndayt5AXDHoYbwyQuDrxRRhF3jm 1KCA== X-Gm-Message-State: AOJu0Yy0HwgWWTrI4yOkyIy6qFSAsaftKnFQfxJraL9TpbOGyeBIkQtz vCgMndYM/Ca8rIGrq3Ud8nSrB8xHpB9KBcAUYr3dUVHA4I18bbQzDPZAsWCECw36vssD1n4/pfh YsZfVaKUQ5q+nL5oZzJ4z2hUD3d+00zYSyiynroAm X-Google-Smtp-Source: AGHT+IEteoypynoNIoaZinx336HdS7MG/j7B4SYMtqjTVtyvqeYcoxv0rNJfQo9HrzhNDFhlMxI73Sz7ChZv X-Received: by 2002:a05:690c:d95:b0:608:cebf:1bbb with SMTP id da21-20020a05690c0d9500b00608cebf1bbbmr5734487ywb.52.1709455639636; Sun, 03 Mar 2024 00:47:19 -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 c133-20020a814e8b000000b0060412bdbc8esm398864ywb.35.2024.03.03.00.47.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Mar 2024 00:47:19 -0800 (PST) X-Relaying-Domain: proxyid.net From: Marth64 To: ffmpeg-devel@ffmpeg.org Date: Sun, 3 Mar 2024 02:45:41 -0600 Message-Id: <20240303084540.2133620-1-marth64@proxyid.net> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] 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: Rebased on top of recently merged fixes (should apply correctly now). 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 7f4ecf2b61..b83ae0c2a5 100644 --- a/libavformat/dvdvideodec.c +++ b/libavformat/dvdvideodec.c @@ -507,11 +507,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; } @@ -1254,19 +1255,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 || @@ -1276,7 +1279,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 0; -- 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".