(2012-04-26, 14:51)maruchan Wrote: I think I remember reading that FFMPEG decides whether or not to use multithreaded decoding before it's decided whether or not to use hardware acceleration, so you cannot simply have a conditional "if not DXVA then multithread", because you cannot know whether or not DXVA is supported that early on.
Yes, but i'm not talking about the fact DXVA is
supported, i'm talking about the fact DXVA is
enabled in the UI settings. I can perfectly understand that at this stage you may still don't know if DXVA is supported, but you
always know if DXVA is enabled or not in the UI settings.
This is why in the code i've wrote "dxva is
enabled" and not "dxva is
supported". What you're talking about is realy more complex that what i suggest.
Now, the only thing i see wich
may be difficult or tricky, is to have access to this information inside the specific function this code is. If this information is easely avaible by any variable/class/structure already passed down to the function, i'm even more convinced "it's easy". If not, it may be indeed more difficult, as information must be pass down, wich indeed in that case can affect a lot of functions to modify to pass this parameter.
But i'm still convinced that it's for now the easiest (but maybe not simple
) way to enable multi-threading.
(2012-04-26, 14:51)maruchan Wrote: As a note, if there's one thing that developers hate hearing, it's that something is "simple." Trust me, some seemingly simple things can be a huge pain in the ass to implement.
I know, it's my little mistake and somehow "bad" english, and how i thought i would be interpreted. In my post i should have wrote "It seems (but maybe it's not) simple" and not "I think it's simple".