• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » Multimedia Software Codecs » Multimedia Software Codecs forum » DM365 H.264 encoder 2.10.00.06 codec-specific error flags
Share
Multimedia Software Codecs
  • Forum
Options
  • Subscribe via RSS

Forums

DM365 H.264 encoder 2.10.00.06 codec-specific error flags

This question is answered
Frank Talbot
Posted by Frank Talbot
on Apr 06 2012 00:48 AM
Intellectual560 points

Hi,

We're testing an in house encoder application that uses TI's H.264 Platinum encoder (v. 2.10.00.06) on a DM365 eval board.  The example application that comes bundled with the encoder works, so I know the right pieces are in place in Linux. 

When we try to run our encoder application, though, VIDENC1_control with a command of XDM_SETPARAMS fails.  The extendedError field in the returned VIDENC1_Status is 0x00000004, which according to the documentation for XDM_ErrorBit, is codec specific.  Wonderful, except the documentation (dm365_h264enc_02_10_00_06_production\packages\ti\sdo\codecs\h264enc\docs\h264_encoder_dm365_userguide.pdf) that comes with the encoder doesn't document any codec specific error bits.

Setting CE_DEBUG to any level over 1 results in a program crash at the VIDENC1_control() call, so is of no use.

Could somebody please explain to me what that bit signifies, or better yet point me to the documentation that has the error fields listed?

I'm passing in NULL for the dynamic parameters to this call, by the way, which should tell the codec to use default values, correct?  It didn't like what we tried to pass in before (extendedError=0x0000a00e ... has three undocumented bits set!).  Strangely, CE_DEBUG over a level of 1 in this case does not cause a program crash, but doesn't turn up anything odd... VIDENC_control() just returns with 0xffffffff for no apparent reason.

Thanks in advance for any help,

Ryan

Codec Engine XDM DM365 h264 h264enc DM368 Platinum Encoder videnc1_control
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Yashwant Dutt
    Posted by Yashwant Dutt
    on Apr 06 2012 08:56 AM
    Genius15110 points

    Frank,

    We also provide debug library along with the package. Can you please rename the encoder debug library with the normal library and rebuild yur app. Having done that, pls let us know the log.

    Also, the encoder version which you are using is old, you may like to get to a new version. http://software-dl.ti.com/dsps/dsps_public_sw/codecs/DM36x/index_FDS.html

    regards

    Yashwant

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Chris Ring
    Posted by Chris Ring
    on Apr 06 2012 18:39 PM
    Verified Answer
    Verified by Frank Talbot
    Genius16190 points

    Frank Talbot
    I'm passing in NULL for the dynamic parameters to this call, by the way, which should tell the codec to use default values, correct?  It didn't like what we tried to pass in before (extendedError=0x0000a00e ... has three undocumented bits set!).  Strangely, CE_DEBUG over a level of 1 in this case does not cause a program crash, but doesn't turn up anything odd... VIDENC_control() just returns with 0xffffffff for no apparent reason.

    dynamicParams is a required argument to VIDENC1_control(), you can't pass NULL.

    Chris

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Frank Talbot
    Posted by Frank Talbot
    on Apr 11 2012 18:02 PM
    Intellectual560 points

    Thanks for the reply, Chris, that at least clears that problem up.  Somebody might want to add that as a precondition to the documentation, as at least this version doesn't indicate that: http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce/2_26_01_09/exports/codec_engine_2_26_01_09/docs/html/group__ti__sdo__ce__video1___v_i_d_e_n_c1.html#gaf24ed59a2cf8589af04868d2c3a3ea09

    That still leaves me with the problem of deciphering what bits 0-2 signify, though, since I still get an extendedError of 0x0000a00e

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Frank Talbot
    Posted by Frank Talbot
    on Apr 11 2012 18:06 PM
    Intellectual560 points

    Yaswhant,


    Thanks, I will try the new version soon, after I get this one working.

    I have renamed the debug library so that it takes the place of the release library.  Here is the pertinent output:

    CODEC_DEBUG_ENABLE: HDVICP resoruce alloted
    CODEC_DEBUG_ENABLE: Inside Encoder Handle Structure Activate Call -> H264VENC_TI_activate
    CODEC_DEBUG_ENABLE: Inside IRES Call to Activate All Resources -> H264VENC_TI_activateAllResources
    CODEC_DEBUG_ENABLE: Control Call With SETPARAM Command
    CODEC_DEBUG_ENABLE: Error Check Target Framerate
    CODEC_DEBUG_ENABLE: Inside IRES Call to Deactivate All Resources -> H264VENC_TI_deactivateAllResources
    CODEC_DEBUG_ENABLE: Inside Encoder Handle Structure Deactivate Call -> H264VENC_TI_deactivate
    ceapp_init-> ERROR: can't control XDM_SETPARAMS for h264enc status = -1
            ext=0x0000a00e

    So, it looks like my target framerate is bad?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Veeranna Hanchinal
    Posted by Veeranna Hanchinal
    on Apr 25 2012 08:49 AM
    Verified Answer
    Verified by Frank Talbot
    Expert5315 points

    Yes target frame rate going wrong. What value you are setting for targetFrameRate and MaxFrameRate?.

    below is the text from  User guide

    This fatal error is returned invidencStatus.extendedError during XDM_SETPARAMS control call if targetFrameRate in dynamic params exceeds maxFrameRate or is less than 0 or not a multiple of 500. Control call returns IVIDENC1_EFAIL

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Frank Talbot
    Posted by Frank Talbot
    on May 25 2012 01:08 AM
    Intellectual560 points

    Sorry for the delay in my response.

    I was setting the targetFrameRate and maxFrameRate to the NTSC color standard of 29.97.  Setting it to 30 fixed the problem.

    I see that line now in the documentation; it would be nice if it had also been enumerated with the rest of the extendedError definitions... they also don't give you the actual numerical values that correspond to each symbol.  I had to look those up in ti/sdo/codecs/h264enc/ih264venc.h  Not a huge deal, but it would be nice if the codec documentation had spelled that out along with the standard extendedError values.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use