View Full Version : x264 Development Blog
Dark Shikari
2nd May 2008, 03:17
Linkage (http://x264dev.multimedia.cx/)
If there's anything you want me to talk about on the blog or clarify, e.g. a recent change, a particular feature of x264, or whatever, say so.
Also, I fully reserve the right to talk about anything non-x264-related there, much like Michael Niedermayer does on his (http://guru.multimedia.cx/).
Update: Blog moved to multimedia.cx.
Avenger007
2nd May 2008, 03:57
Most users ever online was 4,975, 1st May 2007
What happened in x264 development around this time last year?
Dark Shikari
2nd May 2008, 03:59
What happened in x264 development around this time last year?Nothing particular as far as the git log shows.
Avenger007
2nd May 2008, 04:08
Another question: Is there going to be any development in long term frame referencing or something like in this (http://forum.doom9.org/showthread.php?p=1091870#post1091870) post?
Dark Shikari
2nd May 2008, 04:13
Another question: Is there going to be any development in long term frame referencing or something like in this (http://forum.doom9.org/showthread.php?p=1091870#post1091870) post?Longterm referencing can make seeking more difficult if the reference is way too far back; we have considered implementing MMCO though, which would allow more creative use of reference frames. Even without MMCO, we could already try manipulating the reference lists to do odd things; example, if you put a reference frame in both the L1 and L0 lists, you can use biprediction to create 8thpel precision.
Avenger007
2nd May 2008, 04:23
I don't know what MMCO is or what L1 and L0 lists are or what 8thpel precision is, but that's OK :). I was just wondering if x264 could become aware of back-and-forth camera angle changes and then that would probably help to increase quality.
This is great! Know we can have a more personal/up to date source of x264 dev news!
puffpio
2nd May 2008, 08:44
maybe you can discuss what remaining 'low hanging fruit' there are in terms of features added, optimizations, cleanup etc
it might inspire people to get involved :)
Something about the SoC projects perhaps?
DeathTheSheep
3rd May 2008, 03:18
Very effectively presented, simple, and well written, not to mention interesting as well. I'll try to keep up with this.
puffpio
3rd May 2008, 05:06
maybe you can discuss what remaining 'low hanging fruit' there are in terms of features added, optimizations, cleanup etc
it might inspire people to get involved :)
addiitionally
there are a decent amount of coders (like myself) who would love to get involved, but don't know too much about the algorithms of x264 (like myself)
perhaps there are areas of code that the developers would like changed or improved, yet they are not particularly interesting or challenging sections of code.
at that point these volunteers (like myself) can get some sense of achievement by contributing code to the project, but not messing with the fundamentals of the algorithms...
does this make sense?
Dark Shikari
3rd May 2008, 05:21
addiitionally
there are a decent amount of coders (like myself) who would love to get involved, but don't know too much about the algorithms of x264 (like myself)
perhaps there are areas of code that the developers would like changed or improved, yet they are not particularly interesting or challenging sections of code.
at that point these volunteers (like myself) can get some sense of achievement by contributing code to the project, but not messing with the fundamentals of the algorithms...
does this make sense?There's definitely stuff you can do without knowing too much about x264; that's how I got into it to begin with. Drop by #x264dev if you're interested.
On which IRC server?
I am a college freshman who is also interested in helping out, but I only have a quarter's worth of C experience and 2 quarter's worth of Java experience. I was planning on applying for the Google Summer of Code next year, when I learned how to use Assembly, but if there are things I can do right now, I would be interested.
Dark Shikari
3rd May 2008, 06:01
On which IRC server?
I am a college freshman who is also interested in helping out, but I only have a quarter's worth of C experience and 2 quarter's worth of Java experience. I was planning on applying for the Google Summer of Code next year, when I learned how to use Assembly, but if there are things I can do right now, I would be interested.Freenode.
Don't worry; the programming itself isn't the hard part ;)
Yeah, it's understanding what the f*ck you are doing with that code. And thanks, I'll check out the channel.
Trahald
3rd May 2008, 20:16
the code in x264 is excellent and is very OOPy and to understand x264 you really have to get down with pencil and paper and write down what causes what to go where in the code. track the pointers to structs as they transfer here and there. you need to allocate alot of time to that before you even get started changing anything serious. the code probably was easier to follow when it didnt do as much.
Dark Shikari
3rd May 2008, 20:23
the code in x264 is excellent and is very OOPy and to understand x264 you really have to get down with pencil and paper and write down what causes what to go where in the code. track the pointers to structs as they transfer here and there. you need to allocate alot of time to that before you even get started changing anything serious. the code probably was easier to follow when it didnt do as much.Eh, the pointers really don't move; each variable points to exactly what it says it does and nothing really changes in that regard. The only thing that can get tricky there is when you need to update information in the cache in order to run another function.
I would like to request a change in colour scheme for the blog. White text on black background causes a white/black lines to burn in in my eyes (kinda like what you get after looking at a bright light bulb), and it takes like 2 min to go away and I only read half of the FGO article... please use something softer (less contrast, at least avoid colours that are inverses of each other).
Dark Shikari
4th May 2008, 03:28
I would like to request a change in colour scheme for the blog. White text on black background causes a white/black lines to burn in in my eyes (kinda like what you get after looking at a bright light bulb), and it takes like 2 min to go away and I only read half of the FGO article... please use something softer (less contrast, at least avoid colours that are inverses of each other).Would you rather I choose an even more painful scheme, such as the dreadful black-text-on-white-background that 98% of the internet uses? I'm not even using white text; I'm using #CCCCCC, a mild grey. In fact, the "contrast" between text and background on the blog is almost exactly equivalent to the contrast between text and background on these forums.
Would you rather I choose an even more painful scheme, such as the dreadful black-text-on-white-background that 98% of the internet uses? I'm not even using white text; I'm using #CCCCCC, a mild grey. In fact, the "contrast" between text and background on the blog is almost exactly equivalent to the contrast between text and background on these forums.
Are you kidding? :confused:
In case you aren't, I don't get after images like that reading black text on white background in Word and the colour scheme of this forum is perfectly fine. I guess it's the solid black that's the greatest issue, but as it is I just can't read that blog. I don't see why you threaten me with greater abuse of my eyes. There plenty of softer colour schemes on blogger, not like I asked you to code html/css. Considering I can't change the template of your blog as a personal preference for viewing, I really can do nothing, but ask you to do it.
Further in case you thought I was exaggerating the effect in the first post because I just don't like the colours, I'm not, it really does take almost 2 min for the black/white lines to disappear from my eyes.
Dark Shikari
4th May 2008, 06:01
Are you kidding? :confused:
In case you aren't, I don't get after images like that reading black text on white background in Word and the colour scheme of this forum is perfectly fine. I guess it's the solid black that's the greatest issue, but as it is I just can't read that blog. I don't see why you threaten me with greater abuse of my eyes. There plenty of softer colour schemes on blogger, not like I asked you to code html/css. Considering I can't change the template of your blog as a personal preference for viewing, I really can do nothing, but ask you to do it.
Further in case you thought I was exaggerating the effect in the first post because I just don't like the colours, I'm not, it really does take almost 2 min for the black/white lines to disappear from my eyes.That's quite odd; I find it quite painful to look at bright websites (especially at night) and find myself turning down my monitor brightness merely to keep my eyes from hurting. Reading an all-white website is like staring into a lightbulb for me. Maybe its my oversensitive blue eyes (or the fact that I tend to be a night owl), but I just can't stand overly bright webpages. The main problem is that computer screens are not like books; unlike books, they do not merely reflect light, they emit it; therefore it makes complete sense that a black background would be optimal, IMO. A certain (http://maddox.xmission.com/) popular website uses such a color scheme for exactly this reason.
Now, if you have a specific color scheme in mind that has the following, I may consider it:
1. Dark background
2. Light text
3. High enough contrast to be readable
I can change the colors arbitrarily, so if you have a good suggestion I can try it and see how it looks.
@lexor: Personally, I don't like the colours either and have the similar problem like you. But I am not the author and this is not the only site which uses this color scheme.
I solve it in the easy way: I have the Opera browser, just click View -> Style -> High contrast (B/W) and I am done.
Dark Shikari, thanks for the blog.
I have no problems with the color scheme whatsoever. You could hold a few options for people if you like, or they can just copy and paste the text into Notepad if it really bothers them that much.
Dark Shikari
4th May 2008, 10:08
I have no problems with the color scheme whatsoever. You could hold a few options for people if you like, or they can just copy and paste the text into Notepad if it really bothers them that much.If someone can find me a quick and easy way to offer multiple color schemes on a Blogspot page, I'll add it.
wow, sorry I didn't have a blogger account before, apparently it doesn't have any nice templates built in. I guess others get their templates somewhere else (I'm googling around right now, I'll get back to you on this later). I see now what you are saying about it being too bright otherwise.
However, I only get the brightness issue at night that you described if I turn off the ambient light, that's not good for your eyes though, always have some light on.
/EDIT: screw looking for this stuff, they all try to add funky images and such, complete waste. I threw a template together (just edited colours of the standard Minima template) Linkage (http://funwithcables.blogspot.com/). What do you thing?
Dark Shikari
4th May 2008, 21:09
Try it now; I changed the background color to #000618.
It's slightly better, but still problematic.
However like any problem caused by coding this one is solved by coding :)
Here is a Greasemonkey (https://addons.mozilla.org/en-US/firefox/addon/748) script that will let you set background and text colour on that blog. Save it in a text file named x264dev.user.js and drag and drop the file to mozilla (obviously you need greasemonkey installed before drag and drop can do it's job).
// ==UserScript==
// @name x264dev
// @namespace http://someguy.com
// @description Change Colour of Blogger
// @include http://*x264dev.blogspot.com/*
// ==/UserScript==
document.body.style.backgroundColor = '#302d26';
document.body.style.color = '#b0a58b';
Problem solved. And I now have quite a few scripts to clean up some of my frequently visited pages, this is awesome!
for some reason people seem more annoyed by wb than bw pages, what i use for my black back pages a lot of time;
background-color: #181818;
color: #777;
a:link, a:visited {
color: #cccccc;
text-decoration: none;
}
a:hover {
text-decoration: none;
color: #ffffff;
}
cogman
5th May 2008, 21:53
I actually had a monitor that struggled with a dark background and darkish text (NeHe OpenGL tutorials) I don't know why exactly but it had problems with them.
My current monitor is much better about it (both LCD. The first had something weird going on with the backlight).
I personally don't mind dark backgrounds, but white text is a bit much, I like a bit darker text. Then again, I'm studying to be a computer engineer, so anything I say about aesthetics can be thrown away :D
Shinigami-Sama
6th May 2008, 06:19
I'd say you could darken up the text a tiny bit more #BFBFBF maybe
but other than that its pretty decent
I was actually thinking about suggesting this the other day but got distracted, crazy world eh?
I'll be adding this to my bookmarks now
Quarkboy
6th May 2008, 06:47
I'm curious, how much does actual published research in video compression algorithms affect x264's development.
For example, would you think implementing Particle Swarm Optimizations [PSO] like in
http://arxiv.org/PS_cache/cs/pdf/0609/0609131v1.pdf
would be worthwhile?
Or other ideas like Adaptive Block Cost Matching [ABCM]:
http://arxiv.org/ftp/arxiv/papers/0710/0710.4819.pdf
Maybe these ideas are already in the code...
Dark Shikari
6th May 2008, 06:55
For example, would you think implementing Particle Swarm Optimizations [PSO] like in
http://arxiv.org/PS_cache/cs/pdf/0609/0609131v1.pdf
would be worthwhile?The algorithm looks to be pretty ridiculous to me. Most "research" algorithms completely ignore practical considerations, such as SIMD. Also, "nearly as good as diamond search" is basically admitting the complete uselessness of an algorithm, especially given the small percentage of time spent in fullpel motion search when using such a simple algorithm.
Or other ideas like Adaptive Block Cost Matching [ABCM]:
http://arxiv.org/ftp/arxiv/papers/0710/0710.4819.pdfIt compares itself to a completely unoptimized full search, therefore its totally useless.
I'm curious, how much does actual published research in video compression algorithms affect x264's development.As a general rule, the vast majority of published research in video compression algorithms is totally worthless. A huge amount of it consists of nearly-templated papers such as "A novel ______-shaped motion estimation algorithm for H.264/AVC encoding." Most of the rest falls into one of the two useless categories:
1. Compares its speed or quality to the JM.
2. Compares its speed or quality to a full search.
(or both)
Quarkboy
6th May 2008, 07:01
As a general rule, the vast majority of published research in video compression algorithms is totally worthless. A huge amount of it consists of nearly-templated papers such as "A novel ______-shaped motion estimation algorithm for H.264/AVC encoding."
Frankly, that's what I figured... I come from the theoretical physics world where anything useful is always immediately published on the arxiv (www.arxiv.org) (along with tons of crap, too :) ).
I was just wondering if there are some actual decent up-to-date resources for learning about the theory and implementation of practical encoding algorithms, like any review papers... Or is it just a bunch of people trying different things with no real basic theories to work from?
Dark Shikari
6th May 2008, 07:03
I was just wondering if there are some actual decent up-to-date resources for learning about the theory and implementation of practical encoding algorithms, like any review papers... Or is it just a bunch of people trying different things with no real basic theories to work from?A lot of the theory is pretty established; its just that its quite easy to come up with papers repeating the obvious, so they keep doing it.
Of course, if you want a relatively recent source about practical encoding algorithms, try this one (http://akuvian.org/src/x264/overview_x264_v8_5.pdf)... ;)
Quarkboy
6th May 2008, 07:14
A lot of the theory is pretty established; its just that its quite easy to come up with papers repeating the obvious, so they keep doing it.
Of course, if you want a relatively recent source about practical encoding algorithms, try this one (http://akuvian.org/src/x264/overview_x264_v8_5.pdf)... ;)
Thanks! Although I find it excellently ironic about you complaining about papers that compare their results with JM, and then linking to one you wrote yourself which does exactly that :).
And on a side note: Why don't more computer science papers I read use LaTeX? In the physics and math fields, nearly 100% of the published papers use latex, but in CS (outside of PL theory and complexity papers, which are more math anyway), which I might add INVENTED latex/tex, it's still catching on...
I just don't understand why people write scientific papers of any sort in Word...
Shinigami-Sama
6th May 2008, 07:17
Thanks! Although I find it excellently ironic about you complaining about papers that compare their results with JM, and then linking to one you wrote yourself which does exactly that :).
And on a side note: Why don't more computer science papers I read use LaTeX? In the physics and math fields, nearly 100% of the published papers use latex, but in CS (outside of PL theory and complexity papers, which are more math anyway), which I might add INVENTED latex/tex, it's still catching on...
I just don't understand why people write scientific papers of any sort in Word...
a lot of good programmers probably still write all their stuff in vi/, emacs
or their IDE of choice and just paste it into their file afterwards
I know I've done that quite a few times with last minute papers that I need to get finished...
Dark Shikari
6th May 2008, 07:26
Thanks! Although I find it excellently ironic about you complaining about papers that compare their results with JM, and then linking to one you wrote yourself which does exactly that :).The only alternative to comparing to JM is really to compare to x264, or to implement one's algorithm in x264 and compare to basic x264. There are no other practical open source alternatives.
... so when you're writing a paper about x264, what do you compare it to? You're forced to use JM :p
Thanks for a link to that paper. I will read more of it when I have some time. Right now I am studying for my Algorithm Analysis and Data Trees class.
Quarkboy
6th May 2008, 07:44
Oh, I suppose I should say that I DO have a CS background too... B.S. in computer science, carnegie mellon 2002... But then silly me when to physics grad school and got a phd there.
KafesneBikaina
6th May 2008, 09:40
Thanks, I will read your blog with interest :)
Avenger007
14th May 2008, 19:25
@Dark Shikari,
In the last option of your poll, assuming you can implement all possible quality improvements without breaking H.264 specs, how much is "that last bit of quality"?
Also, what about the idea of specializing the x264 encoder to use specialized algorithms if assumptions are made about the input video? These assumptions would be given as parameters by the user and would probably be most useful as zone parameters.
As an extreme example, if you customized x264 to encode the FRAPS captures of Touhou Project games as best as possible, how much improvement in quality would there be over using the 'generic' x264 with various parameters?
Dark Shikari
14th May 2008, 21:03
@Dark Shikari,
In the last option of your poll, assuming you can implement all possible quality improvements without breaking H.264 specs, how much is "that last bit of quality"?A couple percent. Basically it means more RDO, better motion search, etc.
Also, what about the idea of specializing the x264 encoder to use specialized algorithms if assumptions are made about the input video? These assumptions would be given as parameters by the user and would probably be most useful as zone parameters.
As an extreme example, if you customized x264 to encode the FRAPS captures of Touhou Project games as best as possible, how much improvement in quality would there be over using the 'generic' x264 with various parameters?I'm not sure what kind of specialized algorithms one could develop of this sort; the only thing I can think of is some sort of psyopt. Of course, Touhou games already can benefit from "specialized algorithms," also known as --keyint 600 -ipratio 2.5 --partitions all --ref 16 :p
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.