• hong86
    了解作者
  • Visual C++
    开发工具
  • 19KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 61
    下载次数
  • 2007-06-11 08:29
    上传日期
一个可以用于实现mp3编码的源程序,可以看一下
mp3coding.rar
内容介绍
September 7, 2005 Intel(R) Integrated Performance Primitives Version 5.0 MP3 Encoder Sample Code for Linux* on Intel(R) Personal Internet Client Architecture Processors ================================================================ CONTENTS: 1. Overview 2. Package Contents 3. Directory Organization and File List 4. System Requirements 5. Installation and Build 6. Running the Software 7. Intel IPP Functional Coverage 8. Key Module Description 9. Known Limitations 10. Technical Support and Feedback 11. License Definition 12. Disclaimer and Legal Information ================================================================ 1. Overview The MP3 Encoder sample code supports ISO/IEC 11172-3:1993 Audio Layer III encoder. The purpose of the MP3 Encoder sample code is to provide an example to show how to use Intel(R) Integrated Performance Primitives (Intel(R) IPP) Audio Coding Domain primitives to build up a baseline MP3 encoder. Additional information on this software as well as other Intel(R) software performance products is available at http://developer.intel.com/software/products/. ================================================================ 2. Package Contents The MP3 encoder sample code package contains the following: * Readme file * Makefile * Sample code source files and header files ================================================================ 3. Directory Organization and File List The following files reside in these directories (where ~ is the directory chosen as the root of this sample code package): ~ Root path of MP3 Encoder sample code package makefile_sample_mp3_enc Make file for this MP3 encoder sample code ~/doc readme_mp3_enc.txt This readme file ~/src/arm_linux/audio/mp3/encoder Source Path mp3enc.c Functions for frame-based encoding mp3einit.c Functions for initialize encoder state mp3emain.c Main entry of application mp3etbl.c Tables mp3eutil.c Functions for supporting utility ~/src/include General header file path sampdefs.h General header file ~/src/arm_linux/audio/mp3/_include MP3 encoder header file path sampmp3.h MP3 encoder header file ================================================================ 4. System Requirements This sample code is targeted for Intel(R) Personal Internet Client Architecture (PCA) Processors with Intel(R) Wireless MMX(TM) Technology. It requires: Hardware requirements: * Host PC: An Intel(R) Pentium(R) 4 processor 1.5 GHz, with 512 MB RAM, or greater * Target platform: platforms that support Intel PCA Processors with Intel Wireless MMX technology, such as the Intel(R) PXA27x Processor Development Kit Software requirements: * Operating system on host machine: Red Hat* Linux* Release 7.2, or higher version. * Development tools: -- iwmmxt_le-gcc 3.3.1 (MontaVista), glibc 2.3.2 and binutils 2.14 20030612 -- Red Hat* RPM version 4.0.3 or higher version * Intel IPP 5.0 for Linux on Intel PCA Processors with Intel Wireless MMX Technology Image Coding Component Library ================================================================ 5. Installation and Build Extract all files in l_ipp-PCA-MP3-encode_*.tgz to a desired folder. Please make sure to preserve the directory structure. The files for this sample are in the ./ipp_sample/PCA/MP3-encode/ folder. Follow the steps below to build the MP3 Encoder application. Before you begin, make sure the Intel IPP 5.0 for Linux on Intel PCA Processors with Intel Wireless MMX Technology has already been installed on the same host machine. 1) Modify makefile_sample_mp3 to make sure the variable PATH_IPP_ROOT is the current Intel Integrated Performance Primitives installation path. With default settings, the variable should be: PATH_IPP_ROOT=/opt/intel/ipp/5.0/pca_wmmx Modify other toolchain paths if necessary in this make file. 2) Make the application with the command: make -f makefile_sample_mp3_enc ================================================================ 6. Running the Software If successfully built, the executable is generated in the path $(PATH_USR_BIN) defined in the make file, with the default name mp3enc. The command line format is: mp3enc -i inputFile -o outputFile -c channelNumber -b bitRate -s sampleRate Simply type mp3enc -h to invoke help information. ================================================================ 7. Intel IPP Functional Coverage The MP3 Encoder sample demonstrates how to combine PQMF analysis filterbank, forward MDCT, psychoacoustic model, joint stereo coding, quantization, and Huffman encoding to construct the MP3 Encoder. Specifically, the sample incorporates the following Intel IPP Audio Coding Domain primitives: Bit reservoir ippsBitReservoirInit_MP3 initialization Frame header packing ippsPackFrameHeader_MP3 Side information ippsPackSideInfo_MP3 packing Noiseless scalefactor ippsPackScaleFactors_MP3_8s1u encoding Noiseless spectral ippsHuffmanEncode_MP3_32s1u coefficient encoding Psychoacoustic model ippsPsychoacousticModelTwo_MP3_16s Joint stereo coding ippsJointStereoEncode_MP3_32s_I Quantization ippsQuantize_MP3_32s_I PQMF analysis ippsAnalysisPQMF_MP3_16s32s filterbank Forward MDCT ippsMDCTFwd_MP3_32s Please refer to the Intel Integrated Performance Primitives on Intel Personal Internet Client Architecture Processors Reference Manual (Version 5.0) for the use of these primitives. ================================================================ 8. Key Module Description 1) MP3 encoder state structure mp3_enc_state Location: Defined in sampmp3.h Description: This structure reserves the state that is used during the whole encoding process. It contains the current frame information, pointers for all process and working buffers. 2)encoder_init_alloc_mp3 Location: mp3einit.c Description: It allocates the buffer for storing PCM input and bit stream output. It also initializes encoder state structure, PCM sound structure and bit stream structure. This function does the following steps: (1) Allocates the working buffer for input PCM and output bit stream. (2) Initializes PCM sound structure and outputs bit stream structure. (3) Initializes working buffer, pointers and encoder state structure. Calling procedure: It is called in the main function before encoding the first frame. 3)encode_mp3 Location: mp3enc.c Description: It encodes one frame of MP3 in the following steps: (1) Encodes one frame of MP3. (2) Updates encoder general state structure. Calling procedure: It is called after the initialize module. It is in a loop to encode all frames into the MP3 bit stream. 4)encoder_free_mpeg4 Location: mp3einit.c Description: MP3 Encoder free function. It frees the working buffer used to store the input PCM and output bit stream. Calling procedure: It's called from the main function after all the frames have been encoded 5)encoder_flushbitstream_mp3 Location: mp3eutil.c Description: Flushes t
评论
    相关推荐
    • VC++ 录音并储存为MP3编码
      VC++ 录音并储存为MP3编码 源码 很实用
    • pprmnt:WASM中的MP3编码
      由Web Assembly驱动的安全MP3编码器。 我们为什么需要这个? 首先,为什么我需要这样做:我是一个节拍大师,我做节拍。 当我将节拍发送给其他人或将其上传到,我需要先将它们转换为MP3。 我的DAW吐出的无损WAV版本...
    • MP3文件编码程序,C语言实现
      本工程是MP3文件的编码程序,VS208下使用C语言实现。 调试通过,希望对多媒体开发领域的同道有所帮助。
    • C++ 录制麦克风MP3编码
      录制麦克风,并可提供MP3编码方式,实现边采集音频数据,边压缩的设计。
    • lamejs:javascript中的mp3编码
      用JavaScript编写的快速mp3编码器。 在我的机器上,无论是在节点上还是在Chrome上,它的工作速度都比实时速度快20倍(它将在6.5秒内编码132秒的长样本)。 lamejs是对jump3r-code的重写,而后者是对libmp3lame的...
    • MP3编码算法分析论文
      论文对流媒体(MP3)压缩算法进行研究,剖析流媒体给我们生活带来的重要影响,并以MP3为例子来说明流媒体的压缩算法,在此基础上介绍其他相关的一些压缩算法,综合的来分析流媒体的压缩算法。
    • mp3编码压缩解码原理及文件格式
      mp3编码原理解码原理以及实现,文件格式分析,编码算法表述
    • android mp3编码
      一个将mp3编解码的DEMO, 详情自己看吧
    • mp3编码解码源程序
      不错的东西,自己研究,在Linux下测试可用!
    • mp3文件编码和解码详解
      详解介绍了mp3文件的格式,以及mp3编码和解码的详细过程。对正在学习编解码的人员是很好的参考资料。