Hi Aysun,

It seems that for some reason you don't have enough memory available in continuous memory pool. There is already a considerable amount of Memory_Contigallocs in videoThrFxn(), maybe try to decrease it's size of allocation which is D1_FRAME_SIZE by default.

Concerning framesize and capturesize, you should probably also add parameters to the command line.

Best,

Aysun Tasyapi wrote:
Hi Adam
I've configured parseArgs(...) function as you said. And then i've opened yuv input file in void *videoThrFxn(void *arg)" . I've disabled some function. I 've allocated to buffer (for my input yuv file) with Memory_Contigalloc. Then it gave a cmem error, memorymap error.Shoud i change CMEM?
Should i setup framesize and capturesize values as manuel?
Best Regards..


    Hi again,
I've configured parseArgs(...) function as you said. And then i've
    opened yuv input file in void *videoThrFxn(void *arg)" .
I've disabled some function. I 've allocated to buffer (for my input yuv file) with
    Memory_Contigalloc. Then it gave a cmem error, memorymap error.Shoud
    i change CMEM?
    Should i setup framesize and capturesize values as manuel?
Best Regards..


2007/2/21, Adam Dawidziuk <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>:

        Aysun Tasyapi wrote:
        >  I am trying to give a yuv file(4.2.2) to encode demo instead
        of using
        >  camera.
        >
        >  But i don't know what i must change. What must i change in code?
        >  If you know Would you help me? Would you explain please?

        Easy:

        1. Add new parameter to the command options, e.g. -f | --file
        Edit main.c
        static void parseArgs(...)
        {
        const struct shortOptions -> add "f:" at the beginning/end of
        the string
        const struct longOptions -> add: {"file", required_argument, NULL,
        'f'} at the beginning/end of the table (must match with shortOptions

        in the switch statement (which checks for valid params add:
        switch(c) {
               case: 'f': (do your yuv file checks here, save the name,
        etc.)
        }

        You can really skip this step and hardcode filename in the
        source, w/e.

        2. Edit video.c

        in "void *videoThrFxn(void *arg)" add the following:

        a) open the desired file
        b) in "while (!gblGetQuit()) {" loop find all occurrences to
        ioctl(..).
        Ioctl is used to exchange buffers with the v4l driver. Comment
        out these
        sections.

        Instead of getting a framebuffer from the driver (first ioctl in
        while()
        loop) do reading the next frame from file (you've previously
        opened).
        You should read frames from file to some kind of buffer, which
        you can
        allocate anywhere before while() loop.

        You should also make this frame visible as an input buffer to the
        encoder, you can do this by replacing:

        e.frameBuffer = vidBufs[v4l2buf.index].start;

        with

        e.frameBuffer = your_buffer_with_a_raw_frame;

        (NOTE: you can leave ioctl's where they are, and just don't use the
        buffers returned by them, instead use the buffer read from the
        file, w/e)

        And that's it. Of course you have to handle end of file
        conditions, etc.

        Best,

        --
        Adam Dawidziuk
        Sentivision





--
Adam Dawidziuk
Sentivision

_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to