PDA

View Full Version : x264 mini-feature request


audyovydeo
29th April 2008, 15:49
Hello

would it be possible to have x264 include this information in the metadata in the encoded stream ?

x264 [info]: SSIM Mean Y:0.9789981

I use it extensively to compare my encodes. right now I include this value in the filename, but it's obviously klunky.
I guess there are no tech obstacles since the bitrate value is already included, along with the cmdline settings.

Also I figure some people would prefer Global PSNR ...

cheers
audyovydeo

akupenguin
29th April 2008, 15:56
The bitrate included in userinfo sei is what was requested, not the result of the encode.

x264 ... -o foo.264 &> foo.log

audyovydeo
29th April 2008, 16:25
The bitrate included in userinfo sei is what was requested, not the result of the encode.



Huh ?
Bitrate: 1629.968142 kbps ?? for a crf encode ?

don't understand

cheers
a/v

ajp_anton
29th April 2008, 17:11
He's saying that if your command line says "-B 2000" and you hit a bitrate of 1900, the userinfo will say 2000.

audyovydeo
29th April 2008, 17:23
He's saying that if your command line says "-B 2000" and you hit a bitrate of 1900, the userinfo will say 2000.

so what ?!
I'm saying that my ratecontrol is crf and userinfo says

Bitrate: 1629.968142 kbps

Dark Shikari
29th April 2008, 18:33
That would not be easy because the userinfo is in an SEI at the beginning of the file, while x264 doesn't know what the results of the encode are until the end of the process.

audyovydeo
29th April 2008, 18:38
That would not be easy because the userinfo is in an SEI at the beginning of the file, while x264 doesn't know what the results of the encode are until the end of the process.

Thanks DS that answers my initial question (== not possible).

But it leaves me wondering why avinaptics reports this SEI field with what obviously seems a calculated bitrate value : this is the value that x264 returned at the end of the encode.

I don't see how x264 can calculate this value *after* parsing the cmdline and *before* encoding the data.
So I keep wondering...


cheers
a/v

Dark Shikari
29th April 2008, 18:57
I don't see how x264 can calculate this value *after* parsing the cmdline and *before* encoding the data.
So I keep wondering...It doesn't. x264 does not write a "declared bitrate" field in the resulting stream like some encoders do.

audyovydeo
29th April 2008, 19:44
OK. Ergo, avinaptics calculates this value.
But then why would it place it in a "User Data" field ?

sigh...

a/v

LoRd_MuldeR
29th April 2008, 23:28
I see the following information in the Avinaptic report:
[ About H.264 encoding ]

User data: x264
User data: core 58 svn-736M
User data: H.264/MPEG-4 AVC codec
User data: Copyleft 2003-2008
User data: http://www.videolan.org/x264.html
...
User data: bitrate=927

Using a HexEditor you can check that this is exactly what x264 has written to the output file near the beginning.
So this must be target bitrate as specified in the commandline, not the actual bitrate calculated at the end of processing.

Furthermore I can not find anything similar to this (http://forum.doom9.org/showpost.php?p=1130260&postcount=5) in the Avinaptic report's "About H.264 encoding" (User data) section.
I only see it in the "Video track" section! And those information are obviously calculated by Avinaptic ;)
[ Video track ]

FourCC: H264/H264
Resolution: 688 x 288
...
Bitrate: 927.309310 kbps

audyovydeo
30th April 2008, 11:19
LoRd_MuldeR, you've hit the nail on the head : I stand corrected.

cheers
a/v