right?
if it was ‘easy’, then it would have already been done, for the good of all, yes?
right?
if it was ‘easy’, then it would have already been done, for the good of all, yes?
In German/European patent law you are allowed to perform the subject matter of a patent if it is strictly for private/non-commercial use.
Meaning if there is still active patent protection @sjpotter would be able to build anything around VC-1 for himself, but Plex as a company not. I guess this is similar in other countries.
A project like Kodi might be in-between and I don’t know how that is being judged. I
who said it’s easy. I’m under no conception that its easy. But I don’t think its impossible. I think its simple engineering, the hard part is understanding the existing code, understanding how ffmpeg does threading in the context of codecs, and figuring out how one can abstract the current vc1 code to be able to run in a threaded manner.
for instance in my research into vc1, you have frames and each frame is made up a set of macroblocks (as is traditional in codecs) Each frame can be made up of multiple slices, each slice is an integer row of macroblocks that can be decoded independently. This would see to be a good target for multithreading.
Now, slices are just a feature of vc1 advance profile and hence (guessing) codecs that originated outside of advance profile might not have been designed to be threaded and just had features tacked on to make them support advance profile features. This isn’t something I can turn around in a few days or even a few weeks. if I can make progress on it, it might take months and also a factor of free time outside of job that pays the bills.
also note: if one is concerned about vc1 patents, plex already violates them. i.e. what do you think is happening when it transcodes vc1 to h264 to play on devices that can’t hardware decode it? there is no legal difference.
Um no. Plex is using the codec provided by FFMPEG which is in compliance. Plex did not violate anything by writing their own decoder and bypassing patents.
see: https://wiki.multimedia.cx/index.php/FFmpeg_/_Libav_Summer_Of_Code_2011#Multithreading_support
at least years ago there was discussion of doing it, apparently no one did. perhaps because of lack of interest.
I’ll be investigating this in my free time.
with all this said, I still think there’s value for plex apps to be able to cpu decode codecs as one is going to have playback devices that are more powerful than the server devices (i.e. cheap NAS vs a nvidia shield) (and yes, nvidia shield is probably not the best example for vc1 as it can hardware decode it, but used more as demonstration of powerful playback device that could probably cpu decode it with ease on a single core if needed)
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.