sg3-utils: add newer buildable version
[openembedded.git] / recipes / ti / ti-codecs-omap3530_4.00.00.00.bb
1 DESCRIPTION = "TI Codecs and Server Combo for OMAP3530"
2 SECTION = "multimedia"
3 LICENSE = "TI"
4
5 require ti-paths.inc
6 require ti-staging.inc
7
8 PR="${MACHINE_KERNEL_PR}"
9 PR_append = "a"
10
11 PV="4_00_00_00"
12
13 LIC_FILES_CHKSUM = "file://packages/ti/sdo/server/cs/docs/cs1omap3530_software_manifest.pdf;md5=84444ba7c7abe117c30f9c960d1930ec"
14
15 CODEC_SUITE_NAME="${WORKDIR}/${PN}_${PV}"
16
17 SRCREV = "8393c892b09e0ac42b19ff1531e232478c3b1a6c"
18
19 require ti-eula-unpack.inc
20
21 SRC_URI="http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_h264enc_2_01_013_production.bin;name=h264enc \
22     http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_h264dec_2_01_007_production.bin;name=h264dec \
23     http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_jpegenc_02_01_01_00_production.bin;name=jpegenc \
24     http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Video//C64XPlus_Video_latest/c64xplus_jpegdec_02_00_01_01_production.bin;name=jpegdec \
25     http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Video//C64XPlus_Video_latest/c64xplus_mpeg2dec_02_00_02_00_production.bin;name=mpeg2dec \
26     http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_mpeg4enc_02_04_00_00_production.bin;name=mpeg4enc \
27     http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Video//C64XPlus_Video_latest/c64xplus_mpeg4dec_02_01_00_00_production.bin;name=mpeg4dec \
28     http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Audio//C64XPlus_Audio_latest/c64xplus_aachedec_01_30_03_00_production.bin;name=aachedec \
29     http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Speech//C64XPlus_Speech_latest/c64xplus_g711_1_12_00_000_production.bin;name=g711 \
30     http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/OMAP35xx_DM37xx_C64xPLUS_Algorithms/01_00_00_07//exports/c64xplus_deinterlacer_01_00_00_07_production.bin;name=i2p \
31     git://arago-project.org/git/projects/codec-servers.git;protocol=git \
32     \
33     file://disable-c6accel.diff;patch=1 \
34 "
35
36 SRC_URI[h264enc.md5sum] = "4a7a4698b1db360fe103aae76127a4ec"
37 SRC_URI[h264enc.sha256sum] = "8fd970d83004bb099f51420b0eecd660b4ba9dccc87b2759d0b5a0be46f8f1a0"
38
39 SRC_URI[h264dec.md5sum] = "81980df2d9dbedc5b64789c4e5575819"
40 SRC_URI[h264dec.sha256sum] = "19d65e71ba0342670cb217e0fa6617263ff68a513e8444a8dfd5f34bd641b24f"
41
42 SRC_URI[jpegenc.md5sum] = "c2e8ad88e90c04d2de7b199517019ac8"
43 SRC_URI[jpegenc.sha256sum] = "6525e067cb5dd00cfc0b38045c44dcbed05866f8ad20188ceac630812502d473"
44
45 SRC_URI[jpegdec.md5sum] = "cf2886c3406ab41409a586e5d550918d"
46 SRC_URI[jpegdec.sha256sum] = "6b0c9f1b8f023070c6a59af690f015f84f2c7f3143235f788ddd1a4a7b229089"
47
48 SRC_URI[mpeg2dec.md5sum] = "da3d0561f3073352be43dce96ce1ea62"
49 SRC_URI[mpeg2dec.sha256sum] = "06cdb31242b8649bdd46bc07b9276de0ccd5f4e1c137d3cb79e0866c1ed04264"
50
51 SRC_URI[mpeg4enc.md5sum] = "07c36e5d03368e1326df75a1f0c4934d"
52 SRC_URI[mpeg4enc.sha256sum] = "a9566c8978f7230936053de9b1f3bfe8820ae555262ceba87243abdf60e5193f"
53
54 SRC_URI[mpeg4dec.md5sum] = "4a27cda2d5a859e6322680a4855b6b88"
55 SRC_URI[mpeg4dec.sha256sum] = "ca35db6841586fc2c22dd9c07a7f5b8557f480fa907e8a3471b660d4ada76e40"
56
57 SRC_URI[aachedec.md5sum] = "649f2e79b4950719295cfecbff2ea82b"
58 SRC_URI[aachedec.sha256sum] = "34d19e40d624ccdc1b371f9a5d6594b4793bdf3b7223ac65912d15d75320e020"
59
60 SRC_URI[g711.md5sum] = "fd8e9f939cc505dc5761705ed17a726c"
61 SRC_URI[g711.sha256sum] = "c87021e8df2a3f494f47e5bdce8a5fad04d667aa1b792fd9b3ecff634867b48d"
62
63 SRC_URI[i2p.md5sum] = "f67c04eec9ee49c7a686eecf5d54be33"
64 SRC_URI[i2p.sha256sum] = "3fbf8801f3ce2aabb6d31eb18e1e24e41ca861696b3140536f1d66adc76f0323"
65
66
67 TI_BIN_UNPK_CMDS = "Y:workdir"
68
69 S = "${CODEC_SUITE_NAME}"
70
71 DEPENDS = "ti-cgt6x ti-xdctools ti-dspbios ti-codec-engine ti-linuxutils"
72
73 #generic codec
74 DSPSUFFIX_omap3530 = "x64P"
75
76 python do_unpack () {
77     bb.build.exec_func('base_do_unpack', d)
78
79     bb.data.setVar("BINFILE", "omap3530_h264enc_2_01_013_production.bin", d)
80     bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/omap3530_h264enc_2_01_013_production.tar", d)
81     bb.build.exec_func('ti_bin_do_unpack', d)
82
83     bb.data.setVar("BINFILE", "omap3530_h264dec_2_01_007_production.bin", d)
84     bb.data.setVar("TARFILE", "omap3530_h264dec_2_01_007_production/omap3530_h264dec_2_01_007_production.tar", d)
85     bb.build.exec_func('ti_bin_do_unpack', d)
86
87     bb.data.setVar("BINFILE", "omap3530_jpegenc_02_01_01_00_production.bin", d)
88     bb.data.setVar("TARFILE", "omap3530_jpegenc_02_01_01_00_production/omap3530_jpegenc_02_01_01_00_production.tar", d)
89     bb.build.exec_func('ti_bin_do_unpack', d)
90
91     bb.data.setVar("BINFILE", "c64xplus_jpegdec_02_00_01_01_production.bin", d)
92     bb.data.setVar("TARFILE", "c64xplus_jpegdec_02_00_01_01_production/c64xplus_jpegdec_02_00_01_01_production.tar", d)
93     bb.build.exec_func('ti_bin_do_unpack', d)
94
95     bb.data.setVar("BINFILE", "c64xplus_mpeg2dec_02_00_02_00_production.bin", d)
96     bb.data.setVar("TARFILE", "c64xplus_mpeg2dec_02_00_02_00_production/c64xplus_mpeg2dec_02_00_02_00_production.tar", d)
97     bb.build.exec_func('ti_bin_do_unpack', d)
98
99     bb.data.setVar("BINFILE", "omap3530_mpeg4enc_02_04_00_00_production.bin", d)
100     bb.data.setVar("TARFILE", "omap3530_mpeg4enc_02_04_00_00_production/omap3530_mpeg4enc_02_04_00_00_production.tar", d)
101     bb.build.exec_func('ti_bin_do_unpack', d)   
102
103     bb.data.setVar("BINFILE", "c64xplus_mpeg4dec_02_01_00_00_production.bin", d)
104     bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/c64xplus_mpeg4dec_02_01_00_00_production.tar", d)
105     bb.build.exec_func('ti_bin_do_unpack', d)
106
107     bb.data.setVar("BINFILE", "c64xplus_aachedec_01_30_03_00_production.bin", d)
108     bb.data.setVar("TARFILE", "c64xplus_aachedec_01_30_03_00_production/dm6446_aachedec_01_30_03_00_production.tar", d)
109     bb.build.exec_func('ti_bin_do_unpack', d)
110
111     bb.data.setVar("BINFILE", "c64xplus_g711_1_12_00_000_production.bin", d)
112     bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/dm6446_g711enc_1_12_00_000_production.tar", d)
113     bb.build.exec_func('ti_bin_do_unpack', d)
114
115     bb.data.setVar("BINFILE", "c64xplus_g711_1_12_00_000_production.bin", d)
116     bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/dm6446_g711dec_1_12_00_000_production.tar", d)
117     bb.build.exec_func('ti_bin_do_unpack', d)
118
119     bb.data.setVar("BINFILE", "c64xplus_deinterlacer_01_00_00_07_production.bin", d)
120     bb.data.setVar("TARFILE", "c64xplus_deinterlacer_01_00_00_07/c64xplus_deinterlacer_01_00_00_07_production.tar", d)
121     bb.data.setVar("TI_BIN_UNPK_CMDS", "y: :q: ", d)
122     bb.build.exec_func('ti_bin_do_unpack', d)
123
124 }
125
126 addtask prepsources after do_unpack before do_patch
127
128 do_prepsources () {
129
130     mkdir -p ${CODEC_SUITE_NAME}/packages/ti/sdo/server/cs
131     cp ${WORKDIR}/git/omap3530/cs1omap3530/rel-files/*  ${CODEC_SUITE_NAME}/  
132     cp ${WORKDIR}/git/omap3530/cs1omap3530/source/*  ${CODEC_SUITE_NAME}/packages/ti/sdo/server/cs
133     cp -a "${WORKDIR}/git/omap3530/cs1omap3530/docs"  ${CODEC_SUITE_NAME}/packages/ti/sdo/server/cs 
134
135     mkdir -p ${CODEC_SUITE_NAME}/packages/ti/sdo/codecs
136     cp -a "${WORKDIR}/omap3530_h264enc_2_01_013_production/packages/ti/sdo/codecs/h264enc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
137     cp -a "${WORKDIR}/omap3530_h264dec_2_01_007_production/packages/ti/sdo/codecs/h264dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
138     cp -a "${WORKDIR}/omap3530_jpegenc_02_01_01_00_production/packages/ti/sdo/codecs/jpegenc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
139     cp -a "${WORKDIR}/c64xplus_jpegdec_02_00_01_01_production/packages/ti/sdo/codecs/jpegdec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
140     cp -a "${WORKDIR}/c64xplus_mpeg2dec_02_00_02_00_production/packages/ti/sdo/codecs/mpeg2dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
141     cp -a "${WORKDIR}/omap3530_mpeg4enc_02_04_00_00_production/packages/ti/sdo/codecs/mpeg4enc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
142     cp -a "${WORKDIR}/c64xplus_mpeg4dec_02_01_00_00_production/packages/ti/sdo/codecs/mpeg4dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
143     chmod -R +w "${WORKDIR}/dm6446_aachedec_01_30_03_00_production/packages/ti/sdo/codecs/aachedec/docs"
144     cp -a "${WORKDIR}/dm6446_aachedec_01_30_03_00_production/packages/ti/sdo/codecs/aachedec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
145     cp -a "${WORKDIR}/dm6446_g711enc_1_12_00_000_production/packages/ti/sdo/codecs/g711enc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
146     cp -a "${WORKDIR}/dm6446_g711dec_1_12_00_000_production/packages/ti/sdo/codecs/g711dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
147     cp -a "${WORKDIR}/c64xplus_deinterlacer_01_00_00_07_production/packages/ti/sdo/codecs/deinterlacer" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs"
148     chmod 755 -R ${CODEC_SUITE_NAME}
149 }
150
151 do_compile() {
152
153     cd "${S}"
154
155     make \
156              CE_INSTALL_DIR=${CE_INSTALL_DIR} \
157              FC_INSTALL_DIR=${FC_INSTALL_DIR} \
158              LINK_INSTALL_DIR=${LINK_INSTALL_DIR} \
159              CMEM_INSTALL_DIR=${CMEM_INSTALL_DIR} \
160              LPM_INSTALL_DIR=${LPM_INSTALL_DIR} \
161              BIOS_INSTALL_DIR=${BIOS_INSTALL_DIR} \
162              CODEGEN_INSTALL_DIR=${CODEGEN_INSTALL_DIR} \
163              XDC_INSTALL_DIR=${XDC_INSTALL_DIR} \
164              CODEC_INSTALL_DIR="${S}" \
165              XDCARGS="prod" \
166              C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \
167              clean
168
169     make \
170              CE_INSTALL_DIR=${CE_INSTALL_DIR} \
171              FC_INSTALL_DIR=${FC_INSTALL_DIR} \
172              LINK_INSTALL_DIR=${LINK_INSTALL_DIR} \
173              CMEM_INSTALL_DIR=${CMEM_INSTALL_DIR} \
174              LPM_INSTALL_DIR=${LPM_INSTALL_DIR} \
175              BIOS_INSTALL_DIR=${BIOS_INSTALL_DIR} \
176              CODEGEN_INSTALL_DIR=${CODEGEN_INSTALL_DIR} \
177              XDC_INSTALL_DIR=${XDC_INSTALL_DIR} \
178              CODEC_INSTALL_DIR="${S}" \
179              XDCARGS="prod" \
180              C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \
181              all
182 }
183
184 do_install() {
185
186     install -d ${D}/${installdir}/ti-codecs-server
187     cd ${S}
188
189     # Install the DSP Server Binary 
190     for file in `find . -name *.${DSPSUFFIX}`; do
191         cp ${file} ${D}/${installdir}/ti-codecs-server
192     done
193
194     # Install docs (codec qualiTI test reports, server config datasheet, etc)
195     for file in `find . -name *.html`; do
196         cp ${file} ${D}/${installdir}/ti-codecs-server
197     done
198
199     install -d ${D}${CODEC_INSTALL_DIR_RECIPE}
200     cp -pPrf ${CODEC_SUITE_NAME}/* ${D}${CODEC_INSTALL_DIR_RECIPE}
201 }
202
203 PACKAGE_ARCH = "${MACHINE_ARCH}"
204
205 PACKAGES += "ti-codecs-omap3530-server"
206 FILES_ti-codecs-omap3530-server = "${installdir}/ti-codecs-server/*"
207
208