bilibili / ijkplayer

Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
GNU General Public License v2.0
32.58k stars 8.13k forks source link

Hardware decoders for Rockchip 3229 #2739

Open wingsol opened 7 years ago

wingsol commented 7 years ago

Hi!

There are many IPTV STB's based on Rockchip. Latest chip version is rk3229. I have several V88 STB's (http://www.gearbest.com/tv-box-mini-pc/pp_401685.html) Please add at least two provided decoders with RANK greater than SOFTWARE into android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaCodecInfo.java OMX.rk.video_decoder.m2v (MPEG2 video) OMX.rk.video_decoder.hevc (h.265)

I tried to add them manually in order to use for playing MPEG2 and h.265 and they worked OK.

Whole media_codecs.xml from V88 box provided below

Thank you!


<MediaCodecs>
    <Include href="media_codecs_google_audio.xml" />
    <Decoders>
        <MediaCodec name="OMX.rk.video_decoder.avc" type="video/avc">
            <Limit name="size" max="4096x2160" min="176x144"/>
            <Limit name="alignment" value="8x8"/>
            <Limit name="block-size" value="16x16"/>
            <Limit name="blocks-per-second" max="244800" min="1"/>
            <Limit name="bitrate" range="1-10000000"/>
            <Feature name="adaptive-playback"/>
        </MediaCodec>
        <MediaCodec name="OMX.rk.video_decoder.m2v" type="video/mpeg2">
            <Limit name="size" max="1920x1088" min="176x144"/>
            <Limit name="alignment" value="8x8"/>
            <Limit name="block-size" value="16x8"/>
            <Limit name="blocks-per-second" max="244800" min="1"/>
            <Limit name="bitrate" range="1-10000000"/>
            <Feature name="adaptive-playback"/>
        </MediaCodec>.
        <MediaCodec name="OMX.rk.video_decoder.vp8" type="video/x-vnd.on2.vp8">
            <Limit name="size" max="1920x1088" min="176x144"/>
            <Limit name="alignment" value="8x8"/>
            <Limit name="block-size" value="16x16"/>
            <Limit name="blocks-per-second" max="244800" min="1"/>
            <Limit name="bitrate" range="1-10000000"/>
            <Feature name="adaptive-playback"/>
        </MediaCodec>..
        <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9">
            <Limit name="size" min="2x2" max="1280x720" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="blocks-per-second" range="1-983040" />
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="adaptive-playback" />
        </MediaCodec>.
        <MediaCodec name="OMX.rk.video_decoder.h263" type="video/3gpp">
            <Limit name="size" max="1920x1088" min="176x144"/>
            <Limit name="alignment" value="8x8"/>
            <Limit name="block-size" value="16x16"/>
            <Limit name="blocks-per-second" max="244800" min="1"/>
            <Limit name="bitrate" range="1-10000000"/>
            <Feature name="adaptive-playback"/>
        </MediaCodec>
        <MediaCodec name="OMX.rk.video_decoder.m4v" type="video/mp4v-es">
            <Limit name="size" max="1920x1088" min="176x144"/>
            <Limit name="alignment" value="8x8"/>
            <Limit name="block-size" value="16x16"/>
            <Limit name="blocks-per-second" max="244800" min="1"/>
            <Limit name="bitrate" range="1-10000000"/>
            <Feature name="adaptive-playback"/>
        </MediaCodec>
        <MediaCodec name="OMX.rk.video_decoder.flv1" type="video/flv">
            <Limit name="size" max="1920x1088" min="176x144"/>
            <Limit name="alignment" value="8x8"/>
            <Limit name="block-size" value="16x16"/>
            <Limit name="blocks-per-second" max="244800" min="1"/>
            <Limit name="bitrate" range="1-10000000"/>
            <Feature name="adaptive-playback"/>
        </MediaCodec>
        <MediaCodec name="OMX.rk.video_decoder.mjpeg" type="video/mjpeg">
            <Limit name="size" max="1920x1088" min="176x144"/>
            <Limit name="alignment" value="8x8"/>
            <Limit name="block-size" value="16x16"/>
            <Limit name="blocks-per-second" max="244800" min="1"/>
            <Limit name="bitrate" range="1-10000000"/>
            <Feature name="adaptive-playback"/>
        </MediaCodec>
        <MediaCodec name="OMX.rk.video_decoder.hevc" type="video/hevc">
                <Limit name="size" max="4096x2160" min="176x144"/>
                <Limit name="alignment" value="8x8"/>
                <Limit name="block-size" value="16x16"/>
                <Limit name="blocks-per-second" max="244800" min="1"/>
                <Limit name="bitrate" range="1-10000000"/>
                <Feature name="adaptive-playback"/>
        </MediaCodec>.
    </Decoders>
    <Encoders>
        <MediaCodec name="OMX.rk.video_encoder.avc" type="video/avc" >
            <Limit name="size" min="176x144" max="1920x1088" />
            <Limit name="alignment" value="16x8" />
            <Limit name="bitrate" range="1-40000000" />
            <Feature name="bitrate-modes" value="VBR,CBR" />
        </MediaCodec>
    </Encoders>
    <Include href="media_codecs_rk_vpu.xml" />
    <Include href="media_codecs_google_video.xml" />
</MediaCodecs>```
raymond1012 commented 7 years ago

Thanks for your suggestion, but we have not device based on Rockchip. Look forward to get pull request which have passed test.

2017-02-24 19:04 GMT+08:00 Eugene Bykov notifications@github.com:

Hi!

There are many IPTV STB's based on Rockchip. Latest chip version is rk3229. I have several V88 STB's (http://www.gearbest.com/tv- box-mini-pc/pp_401685.html) Please add at least two provided decoders with RANK greater than SOFTWARE into android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ ijk/media/player/IjkMediaCodecInfo.java OMX.rk.video_decoder.m2v (MPEG2 video) OMX.rk.video_decoder.hevc (h.265)

I tried to add them manually in order to use for playing MPEG2 and h.265 and they worked OK.

Whole media_codecs.xml from V88 box provided below

Thank you!

. .. . . ``` — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub , or mute the thread .