Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > High Efficiency Video Coding (HEVC)

Reply
 
Thread Tools Search this Thread Display Modes
Old 2nd September 2013, 12:18   #241  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
If it can read YUV files already, implementing "pipe support" (i.e. reading the YUV data from the STDIN rather than from a "physical" file) should be done with one line of code.

And then you get Avisynth or VapourSynth or FFmpeg input for free

Code:
- FILE input = fopen(input_path, "rb");
+ FILE input = (strcmp(input_path, "-")) ? fopen(input_path, "rb") : stdin;
Okay, for Windows support you'd need one more line of code:
Code:
_setmode(_fileno(stdin), _O_BINARY);

BTW: Looks like there is Y4M support already:
https://bitbucket.org/multicoreware/...cpp?at=default
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 2nd September 2013 at 12:29.
LoRd_MuldeR is offline   Reply With Quote
Old 2nd September 2013, 12:20   #242  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
Commit, MuldeR.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 3rd September 2013, 01:16   #243  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 1,351
Quote:
Originally Posted by LigH View Post
Commit, MuldeR.
No.

Compile and test. IF test.status=successful,
THEN commit = yes Yes YES
endIF

filler56789 is offline   Reply With Quote
Old 3rd September 2013, 11:43   #244  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
Due to the edit:

Quote:
Originally Posted by LoRd_MuldeR View Post
BTW: Looks like there is Y4M support already:
Yes, x265 can read Y4M, which is certainly better than reading raw YUV.

But only from a disk file, that's the drawback. Having e.g. ffmpeg pipe Y4M into x265 would be useful, but x265 would have to choose STDIN as input "file" when its name is exactly "-" (but you will know better than me what else may be necessary, depending on the OS, e.g. forcing binary file mode?).
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 4th September 2013, 07:48   #245  |  Link
turbojet
Registered User
 
Join Date: May 2008
Posts: 1,840
It's understandable the core devs are focusing on video coding and as long as they can test it with current input options it's good enough. From a user's view it's very difficult to test (special input, decoder, etc.) and progress seems stagnant although it's not. Usability of the encoder is the biggest roadblock atm, improving it by simply allowing more inputs might lead to libav/ffmpeg decoders which might lead to more pull requests coming in which may land x265 more coders. From the posts on Doom9 seems they welcome contributions and are looking for developers.

During x264's infancy it had many input options and decoder support very early on even if the video quality/speed wasn't up to xvid's at the time.
__________________
PC: FX-8320 GTS250 HTPC: G1610 GTX650
PotPlayer/MPC-BE LAVFilters MadVR-Bicubic75AR/Lanczos4AR/Lanczos4AR LumaSharpen -Strength0.9-Pattern3-Clamp0.1-OffsetBias2.0
turbojet is offline   Reply With Quote
Old 4th September 2013, 18:38   #246  |  Link
x265_Project
Guest
 
Posts: n/a
Quote:
Originally Posted by turbojet View Post
It's understandable the core devs are focusing on video coding and as long as they can test it with current input options it's good enough.
This is true... thanks for understanding. We're in the midst of making some very substantial changes to implement frame-level parallelism. We're getting there, but this is not quite done (although the results at this point are very encouraging). Testing is being done with standard YUV or Y4M files (uncompressed video frames) as input. That being said, we understand the desire for x265 to have pipe and AVIsynth support.

Quote:
Originally Posted by turbojet View Post
From a user's view it's very difficult to test (special input, decoder, etc.) and progress seems stagnant although it's not. Usability of the encoder is the biggest roadblock atm, improving it by simply allowing more inputs might lead to libav/ffmpeg decoders which might lead to more pull requests coming in which may land x265 more coders. From the posts on Doom9 seems they welcome contributions and are looking for developers.

During x264's infancy it had many input options and decoder support very early on even if the video quality/speed wasn't up to xvid's at the time.
As LoRd_MuldeR points out, the beauty of x265 being an open-source project is that anyone can contribute the improvements that they would like to see, but aren't seeing fast enough. We absolutely welcome contributions, and we are looking for developers to join the project.

Tom
  Reply With Quote
Old 5th September 2013, 13:04   #247  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
I'd love to be able to contribute, but C / C++ don't belong to the list of programming languages I know good enough...

Anyway: for being busy and research the future of video coding.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 5th September 2013, 22:09   #248  |  Link
turbojet
Registered User
 
Join Date: May 2008
Posts: 1,840
Is Lord_Mulder's 'patch' sufficient?
__________________
PC: FX-8320 GTS250 HTPC: G1610 GTX650
PotPlayer/MPC-BE LAVFilters MadVR-Bicubic75AR/Lanczos4AR/Lanczos4AR LumaSharpen -Strength0.9-Pattern3-Clamp0.1-OffsetBias2.0
turbojet is offline   Reply With Quote
Old 6th September 2013, 00:21   #249  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 1,351
@ turbojet: Lord Mulder's post does NOT indicate which file(s) are to be modified,
so, strictly speaking, his suggestion cannot be defined as a *patch*
filler56789 is offline   Reply With Quote
Old 6th September 2013, 00:51   #250  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by turbojet View Post
Is Lord_Mulder's 'patch' sufficient?
This was not an actual patch, just a broad hint on how this stuff is done in general

Actually, x265 uses C++ fstream's rather than classic FILE* pointers, so a slightly different (though equivalent) solution will be needed.

I would write a proper patch, but I'm about to leave for vacation...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 6th September 2013 at 00:55.
LoRd_MuldeR is offline   Reply With Quote
Old 18th October 2013, 00:52   #251  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 1,351
Quote:
Originally Posted by LoRd_MuldeR View Post
This was not an actual patch, just a broad hint on how this stuff is done in general

Actually, x265 uses C++ fstream's rather than classic FILE* pointers, so a slightly different (though equivalent) solution will be needed.

I would write a proper patch, but I'm about to leave for vacation...
Are you still on vacation?
filler56789 is offline   Reply With Quote
Old 19th October 2013, 15:01   #252  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 1,351
Quote:
Originally Posted by wOxxOm View Post
well, what else can I suggest? half a year has passed and x265 has no such basic feature as pipe support, so obviously it's infinitely hard to implement
Overdue update: 7.4 months have passed since their "zeroth" commit:

Code:
Steve Borho 	 09fe406 	 commit JCT-VC HM source with cmake based build scripts 		2013-03-07
( currently at the bottom of the page:
https://bitbucket.org/multicoreware/x265/commits/all?page=152 )

Last edited by filler56789; 19th October 2013 at 15:03.
filler56789 is offline   Reply With Quote
Old 21st October 2013, 00:26   #253  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,751
Quote:
Originally Posted by filler56789 View Post
Overdue update: 7.4 months have passed since their "zeroth" commit:
They are cranking HARD on improving image quality, and there's tons of x264 features to port over. I'd expect that "utility" features like this aren't going to get a lot of attention for a while yet.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is online now   Reply With Quote
Old 21st October 2013, 17:14   #254  |  Link
MoSal
Registered User
 
Join Date: Jun 2013
Posts: 95
@filler56789

Note: I didn't test x265 myself yet.

You can have pipe support with all applications at a higher level if the application does not seek.

In *nix for example, you can use process substitution which is a feature provided by shells:

Code:
# Substitute dump_command with any command that outputs to stdout
x265 -o outfile <(dump_command)
If the application is dumb enough to rely on file extensions, you can use named pipes (FIFOs):

Code:
mkfifo dump.yuv
x265 -o outfile dump.yuv
On a 2nd shell:
Code:
 dump_command > dump.yuv
However, If seeking is used on input files, neither this nor LoRd_MuldeR's patch will work.
MoSal is offline   Reply With Quote
Old 21st October 2013, 17:29   #255  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
Both may not be helpful for Windows users...

Well, it is for testers. Testers are expected to have some "pioneer attitude".

A few short "standard trailers" (e.g. Blender movies) will be fine for first experiences. Some of these are even downloadable as Y4M, I believe?
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:06.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.