Forums - Error : Encoding from sample qcom_video_codec_sample_1_3_1

10 posts / 0 new
Last post
Error : Encoding from sample qcom_video_codec_sample_1_3_1
Ashish
Join Date: 16 Jul 12
Posts: 5
Posted: Tue, 2012-07-31 21:00

Hi All,

I am trying to run encoding/decoding from sample qcom_video_codec_sample_1_3_1. I followed steps mentioned in openmax_encoder_decoder.pdf using gingerbread version. I am using APQ8x60 chipset.

When i tryied to encode samplefiles, got following Logcat.

E/        (  478): QCOMOMXINTERFACE: QUERY FOR OMX COMPONENT: OMX.qcom.video.encoder.avc
E/        (  478): QCOMOMXINTERFACE: LIST NODES
E/        (  478): QCOMOMXINTERFACE - OBSERVER IS SET!
E/OMX-VENC-720p(  117):
E/OMX-VENC-720p(  117):  omx_video(): Inside Constructor()
E/OMX-VENC-720p(  117):
E/OMX-VENC-720p(  117):  omx_venc(): Inside component_init()
E/OMX-VENC-720p(  117): ERROR: Omx_venc::Comp Init Returning failure
E/OMX-VENC-720p(  117):
E/OMX-VENC-720p(  117): ERROR: venc_open failed
E/OMX-VENC-720p(  117):
E/OMX-VENC-720p(  117):  ~omx_video(): Inside Destructor()
E/OMX-VENC-720p(  117): omx_video: Waiting on Msg Thread exit
E/OMX-VENC-720p(  117): omx_video: Waiting on Async Thread exit
E/OMX-VENC-720p(  117):
E/OMX-VENC-720p(  117):  m_etb_count = 0, m_fbd_count = 0
E/OMX-VENC-720p(  117): omx_video: Destructor exit
E/OMX-VENC-720p(  117): Exiting 7x30 OMX Video Encoder ...
E/        (  478): QCOMOMXINTERFACE - Could not allocate node: OMX.qcom.video.encoder.avc -- error -2147483648
E/        (  478): QCOMOMXINTERFACE - ERROR creating encoder: 4 (Could not Allocate OpenMax Component)
E/        (  478): Could not Allocate OpenMax Component

Even i can see my encoder/decoder entried in /dev files as:

crw-rw---- system   audio    245,   0 1970-01-01 00:00 msm_vidc_dec
crw-rw---- system   audio    244,   0 1970-01-01 00:00 msm_vidc_enc

Any suggestions to overcome this issue?

Ashish

  • Up0
  • Down0
Steve L (not verified)
Posted: Wed, 2012-08-01 11:39

Hi Ashish,

Looks like the component is not present somehow.  Which device are you running on?  I noticed you said APQ8x60 chipset, is this a DragonBoard?

  • Up0
  • Down0
Steve L (not verified)
Posted: Thu, 2012-08-02 16:45

Hi Ashish, we will attempt to replicate the behavior in-house and will report back

  • Up0
  • Down0
Pranjal Verma
Join Date: 20 Jul 12
Posts: 4
Posted: Fri, 2012-08-03 07:24

Hi Steve,

Me and Ashish are doing this activity together. This is what we did:

# /data/data/qcom_omx_sample -e /sdcard/sample.176x144.yuv /sdcard/sample.dat 176 144
Hardware version: 8x60

Encoding /sdcard/sample.176x144.yuv to /sdcard/sample.dat
Script Result: Could not Allocate OpenMax Component

logcat Ashish has already mentioned.

And the output of dmesg is: (i guess this may help a bit)

# dmesg
<6>[   72.951030]  msm_vidc_enc: Inside vid_enc_open()
<4>[   72.951060]
<4>[   72.951067] res_trk_download_firmware(): Request firmware download
<3>[   72.955431]
<3>[   72.955441]  err: request_firmware for vidc_1080p.fw error -2

I have a doubt:

I have put the sample application to the device but not any of the shared library it generated. Do we need to put the shared library too somewhere in the device's filesystem?

  • Up0
  • Down0
Ashish
Join Date: 16 Jul 12
Posts: 5
Posted: Mon, 2012-08-06 01:08

Hi Steve,

Thanks for extending your cooporation.

Do you have updates on the issue?

Regard's,

Ashish

  • Up0
  • Down0
Ashish
Join Date: 16 Jul 12
Posts: 5
Posted: Mon, 2012-08-06 22:13

Steps we followed to build the Android. We get a package from BSquare containing two scripts: "getSources.sh" and "build.sh".

First i executed "getSources.sh" and then "build.sh".

Below is the content of "getSources.sh".

## This script is designed to be run from the same directory containing versioned.xml.  Please see readme.txt for more information.

wget https://www.codeaurora.org/patches/quic/la/PATCH_APQ8060_8993_Dragonboar...
tar -xzvf PATCH_APQ8060_8993_Dragonboard_required_modifications_20111103.tar.gz

#Define base directory
export ROOT_DIR=`pwd`

mkdir 8060_v3
cd 8060_v3
repo init --repo-url=git://codeaurora.org/tools/repo.git -u git://codeaurora.org/platform/manifest.git -b gingerbread
rm -rf .repo/manifest.xml
cp ../versioned.xml .repo/manifest.xml
repo sync kernel/msm -j4

source build/envsetup.sh

choosecombo 1 1 msm8660_surf eng

repo start work --all

croot
cd hardware/alsa_sound
git am --ignore-whitespace $ROOT_DIR/patches/hardware/alsa_sound/*.patch

croot
cd hardware/msm7k
git am --ignore-whitespace $ROOT_DIR/patches/hardware/msm7k/*.patch

croot
cd bootable/bootloader/lk/
git am --ignore-whitespace $ROOT_DIR/patches/bootloader/bootable/lk/*.patch

croot
cd device/qcom/msm8660_surf
git am --ignore-whitespace $ROOT_DIR/patches/device/qcom/msm8660_surf/*.patch

croot
cd kernel
git am --ignore-whitespace $ROOT_DIR/patches/kernel/*.patch

# Get patch to resolve camera issue
wget https://www.codeaurora.org/patches/quic/la/PATCH_MSM8660_8230_Dragonboar...
tar -xzvf PATCH_MSM8660_8230_Dragonboard_required_modifications_20110928.tar.gz
git am patches/local/kernel/0022-board-msm8x60-change-Ov9726-settle_cnt-to-support-th.patch
rm -rf patches/ PATCH_MSM8660_8230_Dragonboard_required_modifications

croot
cp ../build.sh .
chmod a+x build.sh

echo Your source tree now exists in 8060_v3 directory.
echo Change into 8060_v3 and issue \"./build.sh\" to build.

 

Below are the contents of  "build.sh"

# This script will set up required environment variables and initiate a build.

source build/envsetup.sh
choosecombo 1 1 msm8660_surf eng

# Build and capture the log.  The "-j4" argument may be changed based on your
# computer.  Please refer to http://source.android.com/source/building.html for
# further information.
make -j4  2>&1 | tee build.log

After executing these scripts i got the binaries which i flashed into the Dragonboard.

Then, i added the sample codec and pushed .so files in /system/lib and command line executable in /data/data

  • Up0
  • Down0
Pranjal Verma
Join Date: 20 Jul 12
Posts: 4
Posted: Wed, 2012-08-08 04:46

Hi Steve,

As observed from the dmesg the issue is related with the firmware.

# dmesg
<6>[   72.951030]  msm_vidc_enc: Inside vid_enc_open()
<4>[   72.951060]
<4>[   72.951067] res_trk_download_firmware(): Request firmware download
<3>[   72.955431]
<3>[   72.955441]  err: request_firmware for vidc_1080p.fw error -2

I think the error is occuring due to absence of firmware "vidc_1080p.fw". This firmware is not present in the filesystem, i checked. Can you tell me if we have to make some changes in our build steps so that the we can generate "vidc_1080p.fw".

  • Up0
  • Down0
Steve L (not verified)
Posted: Tue, 2012-08-14 10:58

 

Can you check to see if the camcorder video record feature is working?  This would be tied to the same feature set.  In standard releases the Camcorder should work, unless this is a different set of device images that is being loaded.

 

 

 

  • Up0
  • Down0
lowoodz
Join Date: 26 Nov 13
Posts: 2
Posted: Wed, 2013-12-11 19:09

The FastRPC overhead can be more than 10ms on my snapdragon 800 development tablet, not the '1ms' claims in the Hexagon SDK doc.

Is this normal? Need help, thank you.

And according to the SDK doc, the out and inout parameters in QAIC IDL are not supported now. I have a question is the rout parameter able to carry input data from CPU to DSP? for example:
interface {

  long process(rout sequence<octect> buffer);

};

Can I pass a data buffer to it, then modify on the DSP side, at last get the modified results on the CPU side?

I tested this, it do pass the data into DSP, and get modified results, but I am not sure it is guaranteed.

Thank you!

  • Up0
  • Down0
lowoodz
Join Date: 26 Nov 13
Posts: 2
Posted: Tue, 2013-12-17 22:48

Sorry, the overhead of RPC claims in the SDK doc should be correct, the '10ms' I said includes the overhead of dynamic loading.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.