Intel QSV H.264 codec for AVFoundation and DirectShow

Richard Gaskin ambassador at fourthworld.com
Mon Jul 4 11:13:40 EDT 2016


Tiemo Hollmann wrote:

> I am looking for the most standardized state of the art codec to get a
> maximum of compatibility on both platforms, so I think H.264 is the right
> choice.
>
> My special requirement is, that I have to step thru the video frame by frame
> controlled by LC.
>
> My sorenson squeeze compressor offers 4 different H.264 codecs: "Intel QSV
> H.264", "MainConcept H.264", "Sorenson MPEG-4", "x264"
>
> My LC tests showed me, that I need to set a keyframe every single frame to
> be able to step thru the video framebased (at least with DirectShow). This
> option do only the intel QSV and the x264 codec offer.
>
> The x264 codec is a opensource codec and as far as I understand it is not
> preinstalled on any system and at least on my Mac a x264 video can't be
> played (perhaps there is a chance to manually install it, what I would like
> to avoid for my customers)
>
> So up to now it seems to me that only the intel QSV H.264 is left of my
> choices. It should be supported from Windows Vista on and from OS X 10.8 on.
>
> Has anybody experiences in this field of codecs, other experiences or tipps
> or would negate some of my conclusions?

Choosing a codec is a complex issues given the scope and variety of 
their patent licensing.

My lay person's understanding is that x264 is available under GPL, so 
it's useful for GPL-governed works but as you've noted isn't as widely 
available across the many platforms we may choose to support.

H.264 is a good codec technically and has wide distribution, but AFAIK 
remains mired in a patent pool so complex it needs an FAQ to try to 
explain it:
<http://www.mpegla.com/main/programs/AVC/Pages/FAQ.aspx>

This article describes some of the legal considerations with H.264 in 
lay terms:
<http://www.zdnet.com/article/a-closer-look-at-the-costs-and-fine-print-of-h-264-licenses/>

One of the open questions for us software developers is the case of 
distributing commercial tools that use H.264.  Apple and Microsoft have 
their own license arrangements with the MPEG-LA consortium for 
distributing the codec with their respective OSes (perhaps easier for 
Apple since they're a member of that consortium), but we may need to 
review the OS EULA to determine the allowable scope of use for the codec 
in our own commercial software products.

For example, here are relevant sections of the Final Cut Pro X EULA, 
which make it explicitly clear that despite the product's name 
professional use is disallowed:

    This product is licensed under the MPEG-4 Visual Patent Portfolio
    License for the personal and noncommercial use of a consumer for
    (i) encoding video in compliance with the MPEG-4 Visual Standard
    ("MPEG-4 Video") and/or (ii) decoding MPEG-4 video that was encoded
    by a consumer engaged in a personal and non-commercial activity
    and/or was obtained from a video provider licensed by MPEG LA
    to provide MPEG-4 video. No license is granted or shall be implied
    for any other use. Additional information including that relating
    to promotional, internal and commercial uses and licensing may be
    obtained from MPEG LA, LLC. See http://www.mpegla.com.

    D. H.264/AVC Notice. To the extent that the Apple Software contains
    AVC encoding and/or decoding functionality, commercial use of
    H.264/AVC requires additional licensing and the following provision
    applies: THE AVC FUNCTIONALITY IN THIS PRODUCT IS LICENSED HEREIN
    ONLY FOR THE PERSONAL AND NON-COMMERCIAL USE OF A CONSUMER TO (i)
    ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD ("AVC VIDEO")
    AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED
    IN A PERSONAL AND NON-COMMERCIAL ACTIVITY AND/OR AVC VIDEO THAT WAS
    OBTAINED FROM A VIDEO PROVIDER LICENSED TO PROVIDE AVC VIDEO.
    INFORMATION REGARDING OTHER USES AND LICENSES MAY BE OBTAINED FROM
    MPEG LA L.L.C. SEE HTTP://WWW.MPEGLA.COM.

<http://images.apple.com/legal/sla/docs/FinalCutProX.pdf>

Given the wide variety of software components that play a role in H.264 
decoding, it may be helpful to refer to this table of expiration dates 
to attempt to determine when the relevant H.264 patents will expire:
<http://www.osnews.com/story/24954/US_Patent_Expiration_for_MP3_MPEG-2_H_264/>

When in doubt, it may be best to communicate directly with the MPEG-LA 
consortium to determine appropriate H.264 licensing requirements for 
your commercial app that requires the codec.

It may be that the commercial-use restrictions apply only to encoding 
but not decoding, so depending on the specific features of your app the 
patent restrictions may or may not apply in your specific use-case.

If you find that there's some sort of pass-through provision that can 
apply to us from the OS vendor's patent license, perhaps with the 
prohibition of commercial use by end-users as Final Cut Pro X has done, 
please let us know.

-- 
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  ____________________________________________________________________
  Ambassador at FourthWorld.com                http://www.FourthWorld.com




More information about the use-livecode mailing list