Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

H.264 for Silverlight v3

mgarrettcallcopy_com
817 Views
I was curious if anyone has any information on encoding to a h.264 file with the endpoint of it being played back through silver light 3? I have a sample project which is encoding a bitmap but getting invalid format when I open it in silverlight. Here is the information available from silverlight sight on h.264 format required:

MPEG-4 (H.264 and AAC-LC) support

First up, as we discussed back at IBC, were adding support for MPEG-4 content in Silverlight. Specifically, were supporting

* Self-contained .mp4 (including .f4v and .m4a) and .mov file formats (no reference movies or anything fancy like that).
* H.264 video in Simple, Main, and High 4:2:0 profiles (progressive scan only)
* AAC-LC audio mono or stereo (HE AAC will play back with lower fidelity, as in QuickTime)
* Local files or http progressive download.

Or, sliced another way, Silverlight 3 will be able to play pretty much all MPEG-4 files that would play back well in both QuickTime and Flash.

The H.264 and AAC-LC decoders are exposed via the MediaStreamSource used by Smooth Streaming, which means extending support to other file formats and protocols will work there as well. And of course, Smooth Streaming will support H.264 and AAC-LC as well.


Again, any help is greatly appreciated. Thanks.
0 Kudos
1 Solution
Ying_H_Intel
Employee
817 Views
Sorry to bother you, but I was able to get it to compile and it seems to be working when I implemented the mpeg2muxer as the one article did that you sent me. When I try to change it around and reference the mpeg4_mux project using the example I get this error that I'm having a hard time resolving:

24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _enc_audio_specific_config referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _get_audio_object_type_by_adts_header referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _Byte_alignment referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _dec_adts_variable_header referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _dec_adts_fixed_header referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2001: unresolved external symbol _bstream_mask_table
24>C:SDKsIntel_IPPw_ipp-samples_p_6.1.0.038ipp-samplesaudio-video-codecsapplicationumc_video_enc_conDebugTest_Lib.exe : fatal error LNK1120: 6 unresolved externals


I've literally tried all the lib files that are distributed with the intel ipp, but am not having any luck. I figure it is something relatively easy, but i've tried googling individual bits of function calls it is bickering about but not finding any hits.

Thanks in advance.

Hello,

These unresolved symbols are defined incommon_liblibrary. You mayadd the "...._binwin32debug_asciicommoncommon.lib" (if the librarywere generated here) to your exe's project.

for example in MSVC IDE, go to Menu Toolbar->Project->Configuration Property->Linker->Commnad line ,

Additional Options box,

add "...._binwin32debug_asciicommoncommon.lib"

Best Regards,
Ying

View solution in original post

0 Kudos
6 Replies
Vladimir_Dudnik
Employee
817 Views
If you ask about possibility to encode H.264 format with IPP media codecs the answer is yet it is possible. Just should be noted that IPP sample produce simple raw compressed video file. To be reconized by Silverlight (according your specification) it need to be wrapped in MP4 or MOV container. We do not provide that functionality in IPP sample. If you have third party MP4 or MOV muxer you can try to integrate this with IPP codec.

Regards,
Vladimir
0 Kudos
mgarrettcallcopy_com
817 Views
Thank you. That was what I was suspecting, I was just curious if anyone already had a muxer they had used to put the raw stream into a container file. At least now I know the direction to look. Thanks.
0 Kudos
Ying_H_Intel
Employee
817 Views
Thank you. That was what I was suspecting, I was just curious if anyone already had a muxer they had used to put the raw stream into a container file. At least now I know the direction to look. Thanks.

Recommend you to take a look atthe article
http://software.intel.com/en-us/articles/getting-started-with-intel-ipp-unified-media-classes-sample/,
which have one sample to use mpeg2 container, you can easily modify it to mp4 container.

Regards,
Ying H.
0 Kudos
mgarrettcallcopy_com
817 Views
Quoting - Ying Hu (Intel)

Recommend you to take a look atthe article
http://software.intel.com/en-us/articles/getting-started-with-intel-ipp-unified-media-classes-sample/,
which have one sample to use mpeg2 container, you can easily modify it to mp4 container.

Regards,
Ying H.

Ying, Thank you very much for pointing me here. I think this is exactly the type of information I was looking for. Will let you know the results ;).
0 Kudos
mgarrettcallcopy_com
817 Views
Sorry to bother you, but I was able to get it to compile and it seems to be working when I implemented the mpeg2muxer as the one article did that you sent me. When I try to change it around and reference the mpeg4_mux project using the example I get this error that I'm having a hard time resolving:

24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _enc_audio_specific_config referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _get_audio_object_type_by_adts_header referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _Byte_alignment referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _dec_adts_variable_header referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _dec_adts_fixed_header referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2001: unresolved external symbol _bstream_mask_table
24>C:SDKsIntel_IPPw_ipp-samples_p_6.1.0.038ipp-samplesaudio-video-codecsapplicationumc_video_enc_conDebugTest_Lib.exe : fatal error LNK1120: 6 unresolved externals


I've literally tried all the lib files that are distributed with the intel ipp, but am not having any luck. I figure it is something relatively easy, but i've tried googling individual bits of function calls it is bickering about but not finding any hits.

Thanks in advance.
0 Kudos
Ying_H_Intel
Employee
818 Views
Sorry to bother you, but I was able to get it to compile and it seems to be working when I implemented the mpeg2muxer as the one article did that you sent me. When I try to change it around and reference the mpeg4_mux project using the example I get this error that I'm having a hard time resolving:

24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _enc_audio_specific_config referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _get_audio_object_type_by_adts_header referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _Byte_alignment referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _dec_adts_variable_header referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2019: unresolved external symbol _dec_adts_fixed_header referenced in function "protected: int __thiscall UMC::MP4Muxer::AdjustAudioData(class UMC::MediaData * &,int)" (?AdjustAudioData@MP4Muxer@UMC@@IAEHAAPAVMediaData@2@H@Z)
24>mpeg4_mux.lib(umc_mp4_mux.obj) : error LNK2001: unresolved external symbol _bstream_mask_table
24>C:SDKsIntel_IPPw_ipp-samples_p_6.1.0.038ipp-samplesaudio-video-codecsapplicationumc_video_enc_conDebugTest_Lib.exe : fatal error LNK1120: 6 unresolved externals


I've literally tried all the lib files that are distributed with the intel ipp, but am not having any luck. I figure it is something relatively easy, but i've tried googling individual bits of function calls it is bickering about but not finding any hits.

Thanks in advance.

Hello,

These unresolved symbols are defined incommon_liblibrary. You mayadd the "...._binwin32debug_asciicommoncommon.lib" (if the librarywere generated here) to your exe's project.

for example in MSVC IDE, go to Menu Toolbar->Project->Configuration Property->Linker->Commnad line ,

Additional Options box,

add "...._binwin32debug_asciicommoncommon.lib"

Best Regards,
Ying
0 Kudos
Reply