Good information about tcpmp

Source: Internet
Author: User

Tcpmp compilation method favorites
This article mainly explains how to transplant and compile the tcpmp player to the Windows CE platform. The hardware platform focuses on armv4.

These days, we have prepared for a company project to compile and transplant the super open source Media Player tcpmp (commercial version name: the Core player) from the Linux system to the windwos CE platform, tcpmp is a multimedia player that currently supports a maximum of embedded devices. except for a few formats such as RM and rmvb, almost all other common video and audio formats are supported. Good things are good, but compilation is very troublesome. There are very few articles compiled on the Internet. Most of them give a rough description of their own environments, and the system is not strong. The tcpmp Media Player is successfully compiled today. Here is a summary of the experience:

Development Environment: Windows XP SP2 + evc4.0 (SP4)
Target Platform: Windows ce5.0 (armv4)

1. To download the source code, go to http://picard.exceed.hu/tcpmp/to download the tcpmpsource code. The source code version I downloaded is 0.72rc1.

2. Compile the environment. I installed evc4.2 (SP4) + standard SDK + Win32 (wce armv4) release.if it is a compilation of x861_emulator.pdf, download a nasm .this point is mentioned in readme.txt.

3. The downloaded source code package does not contain arm Decoder source code, you can download the source code of AMR decoder from the following two URLs: http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-610.zip
Http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-600.zip
And copy them to the 26104 and 26204 files in the AMR directory respectively. Similarly, this information is mentioned in readme.txt.

4. prepare the arm assembler. based on practical experience, the compiler downloaded from the arm official website reports an error during compilation and is not suitable for use. We recommend that you use the arm assembler armasm of vs2005. EXE to C:/Microsoft Embedded C ++ 4.0/EVC/wce400/bin.

5. do not rebuild all during compilation. Otherwise, a large number of errors will be reported. Select player_e3 (main project) from the project-dependencies drop-down box to see the dependency between sub-projects, therefore, player_c4is the last compiled project. Select a sub-project in the drop-down box and the common project will be found in the dependencies. This indicates that the project should be compiled first. Next we will start with the common project.

6. Set the player_e3 project as active project, and select Win32 (wce armv4) release for the compilation version. This project will be compiled at the very beginning, and the player_ce3.exe application will be generated at the end, so our goal will be achieved. However, compiling this program depends on many libraries. These libraries are provided after compilation by other projects.

7. In the file view mode on the left of EVC, select common files and right-click the build (selection only) menu to compile the common project. Next, we will compile the sub-projects in the upper and lower order. Of course, compilation is not required for projects that are not associated with the project -- dependencies (6 items in total: player_ce2, sample_e3, setup_ce2, setup_e3, template, and vorbisscsi). The other three items put down asap, FLAC, and player_e3 for final processing. The Compiler needs to be configured additionally, otherwise, a large number of errors will be reported. If there is no accident, compilation will be successful. Next, we need to process the remaining three projects.

8. Compile the ASAP project. Right-click ASAP files-> Settings-> C/C ++-> category-> Preprocessor and add the project path to additional include directories: (Note that this is a relative path, all of the following content to be added does not include quotation marks )"., ASAP, atari800/src ". otherwise, a pile of header files will not be found. add a macro definition ", ASAP" to Preprocessor definitions: which can be modified in the source code. after the settings are completed, the ASAP files project can be correctly compiled.

9. Compile the FLAC project. In the same 8, open the settings of FLAC to the same interface. In additional include directories: add the path "FLAC/include, FLAC/src/libflac/include". Otherwise, a pile of headers cannot be found. Then, add ", too many no_dll" in Preprocessor definitions ". Add this definition to avoid a lot of c2491 errors caused by _ declspec (dllexport)-defined functions. After this setting, the FLAC project should be correctly compiled.

10. similarly, to modify the player_c4project, add the path "in additional include directories ".. /ASAP ,.. /ASAP ,.. /ASAP/atari800/src, FLAC/include, FLAC/src/libflac/include ". Then add ", ASAP" in Preprocessor difinitions ". This is the last project file. It is also the main project file that successfully compiled player_ce3.exe.

11. Beibei includes all generated files including player_ce3.exe to the target board (all files must be placed in the same directory) and can be run! However, the menu is not correctly displayed. The main reason is that the real language configuration file is not loaded. You can copy the multi-language support files under the Lang directory of the source code to the same directory of the target board. Export lang_en.txt,lang_chs.txt and lang_ca.def files (the configuration files in the four languages must be in the same directory as the application). After opening the file, it is displayed in English by default. You can change it to simplified Chinese, the premise is that your CE platform supports Simplified Chinese.

I ran it using the development platform simulator in vs2005. Everything was normal, that is, the playback was not smooth and I needed to optimize it later.

I also tried to compile it to the armv4i platform, and the result was also feasible. However, due to the particularity of the platform, some configurations need to be modified, and some plug-ins are not supported, however, it does not affect the usage, which is summarized as follows:

1. Experience summary shows that some tcpmp modules are not supported during compilation on the armv4i platform, and corresponding files are missing during compilation. The Unsupported modules do not affect the normal use of the player. In the project-dependenties drop-down list, select player_e3 and remove the following ones: you do not need to compile FFMPEG, MPC, and speex.

2. You must manually create Win32 (wce armv4i) debug and release versions. In build-dependencies, select Add for each sub-project (the three items mentioned above, and do not need to be added for the six items that do not need to be compiled in the dependencies), and select Win32 (wce armv4i) for the CPU ), in copy settings from, select Win32 (wce armv4) release, and then select OK. Then, you add the corresponding compilation version for the sub-project.

3. right-click the sub-project to be compiled, select Settings-link, select general in category, and change the last line of statement:/machine: arm to/machine in the following project options: thumb (each project must be changed)

4. Follow the armv4 process above for other steps. The corresponding modifications are also required. The modifications start from common and end with player_c4.

After the above process, you can customize your own tcpmp player. You can change the appearance of tcpmp in the interface project. Of course, the first job is to optimize the specific platform :)

 

This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/ceFighter/archive/2009/04/03/4045680.aspx

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.