-rw-r--r-- | drivers/amvdec_ports/aml_vcodec_adapt.c | 8 | ||||
-rw-r--r-- | drivers/amvdec_ports/aml_vcodec_adapt.h | 2 | ||||
-rw-r--r-- | drivers/amvdec_ports/aml_vcodec_dec.c | 19 | ||||
-rw-r--r-- | drivers/amvdec_ports/aml_vcodec_drv.h | 5 | ||||
-rw-r--r-- | drivers/frame_provider/decoder/h264_multi/vmh264.c | 24 | ||||
-rw-r--r-- | drivers/frame_provider/decoder/utils/vdec.c | 53 | ||||
-rw-r--r-- | drivers/frame_provider/decoder/utils/vdec.h | 2 | ||||
-rw-r--r-- | drivers/frame_provider/decoder/utils/vdec_v4l2_buffer_ops.c | 3 |
8 files changed, 103 insertions, 13 deletions
diff --git a/drivers/amvdec_ports/aml_vcodec_adapt.c b/drivers/amvdec_ports/aml_vcodec_adapt.c index 7ac9ad5..367da7a 100644 --- a/drivers/amvdec_ports/aml_vcodec_adapt.c +++ b/drivers/amvdec_ports/aml_vcodec_adapt.c @@ -709,14 +709,16 @@ void aml_decoder_flush(struct aml_vdec_adapt *ada_ctx) vdec_set_eos(vdec, true); } -int aml_codec_reset(struct aml_vdec_adapt *ada_ctx) +int aml_codec_reset(struct aml_vdec_adapt *ada_ctx, int *flag) { struct vdec_s *vdec = ada_ctx->vdec; int ret = 0; if (vdec) { - vdec_set_eos(vdec, false); - ret = vdec_reset(vdec); + if (*flag != 2) + vdec_set_eos(vdec, false); + ret = vdec_v4l2_reset(vdec, *flag); + *flag = 0; } return ret; |