diff --git a/k230_sdk_overlay/src/big/mpp/kernel/lib/libvpu.a b/k230_sdk_overlay/src/big/mpp/kernel/lib/libvpu.a deleted file mode 100644 index bb528a7..0000000 Binary files a/k230_sdk_overlay/src/big/mpp/kernel/lib/libvpu.a and /dev/null differ diff --git a/micropython/port/builtin_py/media/display.py b/micropython/port/builtin_py/media/display.py index 7e5d009..48ca8bc 100755 --- a/micropython/port/builtin_py/media/display.py +++ b/micropython/port/builtin_py/media/display.py @@ -116,8 +116,8 @@ def __del__(self): # flag @classmethod def bind_layer(cls, **kwargs): - if cls._is_inited: - raise AssertionError("please run Display.bind_layer() before Display.init()") + # if cls._is_inited: + # raise AssertionError("please run Display.bind_layer() before Display.init()") src = kwargs.get('src', None) if src is None: @@ -155,6 +155,12 @@ def bind_layer(cls, **kwargs): layer_config = Display.LayerConfig(layer, rect, pix_format, flag, alpha) cls._layer_bind_cfg[layer] = Display.BindConfig(src, dst, layer_config) + if cls._is_inited: + if (Display.LAYER_VIDEO1 <= layer <= Display.LAYER_VIDEO2): + cls.__config_video_layer(layer_config) + elif (Display.LAYER_OSD0 <= i <= Display.LAYER_OSD3): + cls.__config_osd_layer(layer_config) + @classmethod def unbind_layer(cls, layer): if isinstance(cls._layer_bind_cfg[chn], Display.BindConfig): diff --git a/micropython/port/builtin_py/media/player.py b/micropython/port/builtin_py/media/player.py index e449a82..7775682 100644 --- a/micropython/port/builtin_py/media/player.py +++ b/micropython/port/builtin_py/media/player.py @@ -49,19 +49,19 @@ def _init_media_buffer(self): self.pyaudio = PyAudio() self.pyaudio.initialize(48000//25) - bind_info = self.vdec.bind_info(width=self.video_info.width,height=self.video_info.height,chn=vdecoder.Decoder.get_free_chn_index()) - #bind_info = self.vdec.bind_info(width=self.video_info.width,height=self.video_info.height,chn=self.vdec.get_vdec_channel()) - Display.bind_layer(**bind_info, layer = Display.LAYER_VIDEO1) - Display.init(Display.LT9611) + Display.init(Display.LT9611) MediaManager.init() #vb buffer初始化 - if (self.audio_track): - self.adec.create() - if (self.video_track): self.vdec.create() + bind_info = self.vdec.bind_info(width=self.video_info.width,height=self.video_info.height,chn=self.vdec.get_vdec_channel()) + Display.bind_layer(**bind_info, layer = Display.LAYER_VIDEO1) + + if (self.audio_track): + self.adec.create() + def _deinit_media_buffer(self): if (self.video_track):