Am 12.12.2014 07:46, schrieb [email protected]:
Hi,

I use the library cedarx-libs play video in linux is a problem(such as pinkish issue on A20), is there a successful case? about pinkish issue,some of the videos, some are not,I think this problem is caused by the sort of problem frames,some software encoded output is the sort of support frame, and some do not support, I use avidemux software to convert avi video to mkv, use cedarx-libs play is normal, there is no pinkish issue,but most mkv files have this problem,can you tell me how to solve this problem?

Hi,
as a workaround for the pink video, you can try to use the android libs via libhybris: http://linux-sunxi.org/CedarX/libve#Using_libhybris_wrapped_Android_libraries There are this known bugs in allwinner blobs. But they aren't removeable because of the closed source. And Allwinner themselves does not seem to be willing to fix them and provide new libs ...
Regards

On Saturday, October 5, 2013 12:38:37 AM UTC+8, Patrick Wood wrote:

    I'm starting this thread to document what is currently known about
    the A20's cedarx decoder so it's all in once place.  Some of this
    has appeared elsewhere, but as parts of running threads that may
    not be easy to pull coherent information from.

    I've spent some more time playing with the decoder using various
    libraries and tools:

    libvecore blobs from https://github.com/linux-sunxi/cedarx-libs
    <https://github.com/linux-sunxi/cedarx-libs>:
    ./libcedarv/linux-armhf/libvecore/libvecore.so
    ./libcedarv/linux-armhf2/vdecoder/libve/libvecore.so

    Android 4.1 blob from an A20 mk802 stick (libhybris)

    cedrus jpeg decoder from https://github.com/jemk/cedrus
    <https://github.com/jemk/cedrus>

    The most important, and most mysterious thing is the need to
    disable caching for the video data on the A20 in order to get any
    of these to work.  This is consistent, as even the jpeg decoder
    produces garbled results if the dcache is enabled (and it bypasses
    all the blobs) and occurs on on both the 3.3.0 and 3.4.xx kernels.
     It's mysterious because the A20's Android kernel doesn't disable
    caching, and videos play just fine with the same blob that fails
    with libhybris (note that I'll use the term "fail" to mean
    "produces garbled output").  This means that something different
    is going on with Android.

    None of the blobs above are calling ioctl to flush the cache, and
    I don't think it's very likely that the higher level Android video
    player code is making ioctls on /dev/cedar_dev.  That means
    there's probabaly something different in the Android linux
    kernel's initialization.

    Another observation is the A20's video decoder cannot operate at
    500MHz, notwithstanding the sun7i_cedar.c high water limit.  In
    fact, it cannot run reliably at 408MHz (jpeg test fails about 10%
    of the time, and all videos experience small pixelation
    anomalies).  The A10's decoder also fails at 408MHz (jpeg-test
    fails 100% of the time).  Both the A10 and A20's decoders work
    fine at 384MHz (but note: only one sample of each chip was
    tested).  The 320MHz limit in sun4i_cedar.c actually seems
    reasonable for both devices.

    Only the Android blob calls ioctl(IOCTL_SET_VE_FREQ), requesting
    180MHz for all videos, regardless of resolution or frame rate
    (okay, I didn't try a 1FPS video, but 24 and 30FPS both get
    180MHz).  (jpeg-test also calls it, but that's under our control.)

    On the A10, mali and cedarx share the pll4 clock, requring careful
    selection of the pll4 clock rate; on the A20, they currently share
    this clock, but it the cedarx module could use pll8 (new to the A20).

    Pat

--
You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to