decode: support multi-instance on stream mode. [1/1]
authorHui Zhang <hui.zhang@amlogic.com>
Thu, 27 Feb 2020 08:10:45 +0000 (16:10 +0800)
committerZhi Zhou <zhi.zhou@amlogic.com>
Fri, 15 May 2020 11:31:05 +0000 (04:31 -0700)
commitd631e9c223ed4d7402cad987dd9c0d9c0b804ecc
tree9ae033197370d7743d47525314961d7b3b03f947
parent5f8edcbfe885c02518a1d87f70d0b9314710982a
decode: support multi-instance on stream mode. [1/1]

PD#SWPL-21360

Problem:
can not support multi-instance on stream mode.

Solution:
1. parser's wp and rp operations have been separated from decode.
2. remove register rw of parser from the stream input pipeline.
3. opitimize stbuf involves the struct and adds series of ops fun.
4. defualt used ops with esparser of stbuf, we can force switch
    non-parser mode used by the flag "enable_stream_mode_multi_dec"
    on stream_input.
echo 1 > /sys/module/decoder_common/parameters/enable_stream_mode_multi_dec

Verify:
u212, ab301
1. pass the base playeback that be tested by dailiang.
2. pass the dvb playback that be tested by chenyuanyuan.
3. pass cts testing for media that be tested by zhanggan.

Change-Id: I20abb42f894bee92bd11870b5e293b0f0a941930
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
42 files changed:
drivers/amvdec_ports/aml_vcodec_adapt.c
drivers/amvdec_ports/aml_vcodec_adapt.h
drivers/amvdec_ports/vdec_drv_if.h
drivers/frame_provider/decoder/avs/avs.c
drivers/frame_provider/decoder/avs/avsp_trans.c
drivers/frame_provider/decoder/avs2/vavs2.c
drivers/frame_provider/decoder/avs_multi/avs_multi.c
drivers/frame_provider/decoder/h264/vh264.c
drivers/frame_provider/decoder/h264_multi/vmh264.c
drivers/frame_provider/decoder/h265/vh265.c
drivers/frame_provider/decoder/mjpeg/vmjpeg_multi.c
drivers/frame_provider/decoder/mpeg12/vmpeg12_multi.c
drivers/frame_provider/decoder/mpeg4/vmpeg4_multi.c
drivers/frame_provider/decoder/real/vreal.c
drivers/frame_provider/decoder/utils/vdec.c
drivers/frame_provider/decoder/utils/vdec.h
drivers/frame_provider/decoder/vav1/vav1.c
drivers/frame_provider/decoder/vp9/vvp9.c
drivers/stream_input/Makefile
drivers/stream_input/amports/adec.c
drivers/stream_input/amports/adec.h
drivers/stream_input/amports/amports_priv.h
drivers/stream_input/amports/amstream.c
drivers/stream_input/amports/stream_buffer_base.c [new file with mode: 0644]
drivers/stream_input/amports/stream_buffer_base.h [new file with mode: 0644]
drivers/stream_input/amports/stream_buffer_interface.c [new file with mode: 0644]
drivers/stream_input/amports/streambuf.c [new file with mode: 0644]
drivers/stream_input/amports/streambuf.h [new file with mode: 0644]
drivers/stream_input/amports/streambuf_reg.h [new file with mode: 0644]
drivers/stream_input/amports/thread_rw.c [new file with mode: 0644]
drivers/stream_input/amports/thread_rw.h [new file with mode: 0644]
drivers/stream_input/parser/demux/hw_demux/hwdemux_inject.c
drivers/stream_input/parser/esparser.c
drivers/stream_input/parser/hw_demux/aml_dmx.c
drivers/stream_input/parser/psparser.c
drivers/stream_input/parser/rmparser.c
drivers/stream_input/parser/streambuf.c [deleted file]
drivers/stream_input/parser/streambuf.h [deleted file]
drivers/stream_input/parser/streambuf_reg.h [deleted file]
drivers/stream_input/parser/thread_rw.c [deleted file]
drivers/stream_input/parser/thread_rw.h [deleted file]
drivers/stream_input/parser/tsdemux.c