From f34411981ac4233b0fbab21ebe08af50a46dce47 Mon Sep 17 00:00:00 2001
 From: Mr-Z-2697 <[email protected]&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..80f676f30 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; 
strncasecmp(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; 
strncasecmp(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..f0d6f6fbd 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; 
strncasecmp(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; 
strncasecmp(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.windows.1

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

_______________________________________________
x265-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/x265-devel

Reply via email to