• 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 » h264fhdvenc can only reach 10 fps
Share
Multimedia Software Codecs
  • Forum
Options
  • Subscribe via RSS

Forums

h264fhdvenc can only reach 10 fps

This question is answered
David
Posted by David
on Feb 26 2012 06:10 AM
Intellectual620 points

Hi,all

     The parameters are set as bellow:

    VIDENC1_DynamicParams   dynParams    = Venc1_DynamicParams_DEFAULT;

    VIDENC1_Params         params = Venc1_Params_DEFAULT;

    params.maxWidth          = 1920;
    params.maxHeight         = 1088;
    params.inputChromaFormat = XDM_YUV_420SP;
    params.reconChromaFormat = XDM_CHROMA_NA;
    params.rateControlPreset = IVIDEO_LOW_DELAY;
    params.maxBitRate        = 20000000;
    params.dataEndianness        = XDM_LE_32;
    dynParams.targetBitRate = params.maxBitRate;
    dynParams.inputWidth    = params.maxWidth;
    dynParams.inputHeight   = params.maxHeight;

Can anyone figure out the problem. Why the speed can't reach 30 frames per second as its document said.

Regards,

David

H.264 Encoder Da Vinci dm6467
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • David
    Posted by David
    on Feb 26 2012 06:14 AM
    Intellectual620 points

    And I have to use another codec write by mysel at the same time which also use L2 cache .Would this cause some cache corruption?

    thanks

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Girish Srinivasa
    Posted by Girish Srinivasa
    on Feb 27 2012 22:11 PM
    Prodigy480 points

    Can you kindly provide us the version of the codec being used? Can you as well check at a lower bit-rate?

    Girish Srinivasa Murthy TI - SDO
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • David
    Posted by David
    on Feb 27 2012 22:19 PM
    Intellectual620 points

    hi, Girish

         Thanks for your reply . H.264 Encoder Version 01.10.02.

          Did you mean params.maxBitRate        = 20000000 is too big. I will try as you suggested.

    regards,

    david

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • David
    Posted by David
    on Mar 03 2012 03:00 AM
    Intellectual620 points

    Hi

        I have tried different bitrate ,but the speed is still near 10 fps.

       Can someone from TI  provide more useful suggestion.It's very important to me.Wating for your help.

    regards,

    David

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Girish Srinivasa
    Posted by Girish Srinivasa
    on Mar 06 2012 12:38 PM
    Verified Answer
    Verified by David
    Prodigy480 points

    Hi,

           The performance of the h264fhdvenc encoder is dependent on the code placement & cache configuration. Can you kindly verify the following?

    1. Is the 64KB of L2 memory configured as cache?

    2. L1p & d  memory is configured as 32KB  cache.

    3. Have you modified the code placement for the encoder library? Need to review your linker file

    Can you also please let us know if you have the library release or modified the source code release?

    Girish Srinivasa Murthy TI - SDO
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • David
    Posted by David
    on Mar 06 2012 20:28 PM
    Intellectual620 points

    Hi,Girish

         Thanks for your sincerely help.

    Best regards,

    David

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • David
    Posted by David
    on Mar 07 2012 00:11 AM
    Intellectual620 points

    Hi,Girish

        I face a new problem ,the outBufSize I get  is 2088960=1920*1088.It seems too big.The way I get the outBufSize is posted below:

         hVe1 = Venc1_create(ce, "h264fhdvenc", &params, &dynParams);

        outBufSize = Venc1_getOutBufSize(hVe1);

       Can you help to analyse ,where the problem may be.

    Regars,

    David

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • mike soso
    Posted by mike soso
    on Mar 08 2012 09:24 AM
    Intellectual930 points

    Hi David,

    I don't understand why it's a problem ? You can't know before encoding the size of the encoded frame so you have to allocate enough memory space to be sure you will push in the encoded frame so :

    When you do that :

    outBufSize = Venc1_getOutBufSize(hVe1)

    after you may call a memory allocator of this size like :

            videnc1->hOutBufTab = gst_tidmaibuftab_new(3,

                    outBufSize, BufferGfx_getBufferAttrs (&gfxAttrsOut));

    But after you can create a buffer after encoding process with :

    *outBuf = gst_buffer_new_and_alloc(Buffer_getNumBytesUsed(videnc1->hEncOutBuf));

    and outBuf will be of the size of the encoded frame. (it's the code from TIVidenc1.c from gstreamer TI)

    If it's not helping you , please give more info about your "problem".

    Mika

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • David
    Posted by David
    on Mar 08 2012 19:10 PM
    Intellectual620 points

    Hi,Mike

         The problem has been solved .Thanks for your help.

    Regards,

    David

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Pramod Kumar Swami
    Posted by Pramod Kumar Swami
    on Mar 09 2012 01:44 AM
    Expert4845 points

    David, Can you confirm that your original query related to performance is resolved?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • David
    Posted by David
    on Mar 09 2012 02:50 AM
    Intellectual620 points

    Yes,when I only run h264 codec .The speed is 30 fps.

    And I have to use another codec writed by myself at the same time which also use L2 cache .It  cause some cache corruption.

    Engine_createNode> Remote node creation FAILED (0x80008008).//hVe1 = Venc1_create(ce, "h264fhdvenc", &params, &dynParams);

    MY own codec need use 60KB L2 cache.I wonder if the two codecs can run together in one application.

    Regards,

    David

    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 Mar 09 2012 16:55 PM
    Genius16230 points

    If you're resource constrained, this may help you understand how codecs can share resources:

    http://processors.wiki.ti.com/index.php/Codec_Engine_GroupIds

    Sharing resources may impose other constraints you may not be willing to accept (e.g. swapping context in/out may introduce new overheads), but wanted to make you aware of the option.

    Chris

    Codec Engine
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • David
    Posted by David
    on Mar 20 2012 03:40 AM
    Intellectual620 points

    Hi, Chris

          First ,sorry for so late reply .

    I set my server.tcf according the cs2dm6467 "CS" demo like below:

    /* Specify the L2 memory setting */
    var device_regs = {
        l1PMode: "32k",
        l1DMode: "32k",
        l2Mode: "64k"
    };

    ...

    if (config.hasReportedError == false) {

    bios.MEM.instance("IRAM").createHeap = 1;
    bios.MEM.instance("IRAM").heapSize = 0x00010000;//0x00008000;//0x8f18;// 0x00010000;
    bios.MEM.instance("IRAM").enableHeapLabel = 1;
    bios.MEM.instance("IRAM").heapLabel = prog.extern("IRAM_HEAP", "asm");
       prog.gen();
    }

    Now the h264 codec can work correctly. But my own codec "video_copy" which also need "64K" L2 memmory can't work.

    The "video_copy" codec asks for L2 cache in "link.cmd " like below:

    SECTIONS

    {

    .video_copy:     >   CACHE_L2

    }

    when I run the program on dm6467t board .It gives no error information ,just stucked.I must reset the board.

    Can you help figure out where the problem may be.

    Regards,

    David.

    codecs H264 Encoder Da Vinci dm6467
    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