From 3a73ca478689be34a8f6cffb7b7b6ea43ceea7cb Mon Sep 17 00:00:00 2001
 From: Mr-Z-2697 <74594146+mr-z-2...@users.noreply.github.com&gt;
 Date: Wed, 7 May 2025 23:15:57 +0800
 Subject: [PATCH] Fix inputs for Windows named pipe
 
 ---
 &nbsp;source/input/y4m.cpp | 8 ++++++++
 &nbsp;source/input/yuv.cpp | 8 ++++++++
 &nbsp;2 files changed, 16 insertions(+)
 
 diff --git a/source/input/y4m.cpp b/source/input/y4m.cpp
 index 186499bd1..4b371e1ba 100644
 --- a/source/input/y4m.cpp
 +++ b/source/input/y4m.cpp
 @@ -109,7 +109,11 @@ Y4MInput::Y4MInput(InputFileInfo&amp; info, bool alpha, 
int format)
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;info.frameCount = -1;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t estFrameSize = framesize + sizeof(header) 
+ 1; /* assume basic FRAME\n headers */
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* try to estimate frame count, if this is not 
stdin */
 +#if _WIN32
 +&nbsp;&nbsp;&nbsp;&nbsp;if (ifs != stdin &amp;&amp; strncmp(info.filename, 
"\\\\.\\pipe\\", 9))
 +#else
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ifs != stdin)
 +#endif
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int64_t cur = 
ftello(ifs);
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (cur &gt;= 0)
 @@ -123,7 +127,11 @@ Y4MInput::Y4MInput(InputFileInfo&amp; info, bool alpha, 
int format)
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (info.skipFrames)
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
 +#if _WIN32
 +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ifs != stdin &amp;&amp; 
strncmp(info.filename, "\\\\.\\pipe\\", 9))
 +#else
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ifs != stdin)
 +#endif
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fseeko(ifs,
 (int64_t)estFrameSize * info.skipFrames, SEEK_CUR);
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for
 (int i = 0; i < info.skipFrames; i++)
 diff --git a/source/input/yuv.cpp b/source/input/yuv.cpp
 index c13b4f375..8afc75545 100644
 --- a/source/input/yuv.cpp
 +++ b/source/input/yuv.cpp
 @@ -104,7 +104,11 @@ YUVInput::YUVInput(InputFileInfo&amp; info, bool alpha, 
int format)
 &nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;info.frameCount = -1;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* try to estimate frame count, if this is not 
stdin */
 +#if _WIN32
 +&nbsp;&nbsp;&nbsp;&nbsp;if (ifs != stdin &amp;&amp; strncmp(info.filename, 
"\\\\.\\pipe\\", 9))
 +#else
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ifs != stdin)
 +#endif
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int64_t cur = 
ftello(ifs);
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (cur &gt;= 0)
 @@ -118,7 +122,11 @@ YUVInput::YUVInput(InputFileInfo&amp; info, bool alpha, 
int format)
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (info.skipFrames)
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
 +#if _WIN32
 +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ifs != stdin &amp;&amp; 
strncmp(info.filename, "\\\\.\\pipe\\", 9))
 +#else
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ifs != stdin)
 +#endif
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fseeko(ifs,
 (int64_t)framesize * info.skipFrames, SEEK_CUR);
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for
 (int i = 0; i < info.skipFrames; i++)
 --&nbsp;
 2.49.0

Attachment: 0001-Fix-inputs-for-Windows-named-pipe.patch
Description: Binary data

_______________________________________________
x265-devel mailing list
x265-devel@videolan.org
https://mailman.videolan.org/listinfo/x265-devel

Reply via email to