v4l: fixed some issues for v4l codec. [2/2]
authorNanxin Qin <nanxin.qin@amlogic.com>
Mon, 19 Aug 2019 12:50:09 +0000 (20:50 +0800)
committerNanxin Qin <nanxin.qin@amlogic.com>
Tue, 29 Oct 2019 05:24:16 +0000 (13:24 +0800)
commit0fb7e163d8876420ca6074308647b5d44be73e2b
treee749f90275cedd1aaa6b5d75cb285b75ce60cf2a
parent5108ba13c1f423fffe7ce7e407b09946215c99f6
v4l: fixed some issues for v4l codec. [2/2]

PD#SWPL-5313

Problem:
Decoder V4L2 interface Phase3(AFBC&MMU Support)

Solution:
1. fixed issue of the dpb size calc.
2. remove dpb size_margin and enable 4k.
3. fixed playback stuck when work on the muti-instance.
4. remove virt to phy address to avoid warring.
5. alloc the buf of v4l when it is about to decoding.
6. timestamp unsigned long int -> u64
7. add the common module of bitstream parser.
8. h264, vp9 & h265 supports playback with multi-resolution.
9. add mpeg12 mpeg4 and mjpeg for v4l codec.
10. supports single plane for the capture buffer.
11. only count capture buff with the mode mmap.
12. supports memory scatter for v4l codec.
13. supports ucode to parse params sets.
14. implement the interface of reset for h265 & vp9.
15. supports to switch picture formats nv12 & nv21

Verify:
u212

Change-Id: I1e7fb210e1a7c8acafa81ab6f30fd03a69b94c26
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
55 files changed:
drivers/amvdec_ports/Makefile
drivers/amvdec_ports/aml_vcodec_adapt.c
drivers/amvdec_ports/aml_vcodec_adapt.h
drivers/amvdec_ports/aml_vcodec_dec.c
drivers/amvdec_ports/aml_vcodec_dec.h
drivers/amvdec_ports/aml_vcodec_dec_drv.c
drivers/amvdec_ports/aml_vcodec_drv.h
drivers/amvdec_ports/aml_vcodec_util.c
drivers/amvdec_ports/aml_vcodec_util.h
drivers/amvdec_ports/aml_vcodec_vfm.c
drivers/amvdec_ports/aml_vcodec_vfm.h
drivers/amvdec_ports/decoder/aml_h264_parser.c [new file with mode: 0644]
drivers/amvdec_ports/decoder/aml_h264_parser.h [changed mode: 0755->0644]
drivers/amvdec_ports/decoder/aml_hevc_parser.c [new file with mode: 0644]
drivers/amvdec_ports/decoder/aml_hevc_parser.h [changed mode: 0755->0644]
drivers/amvdec_ports/decoder/aml_mjpeg_parser.c [new file with mode: 0644]
drivers/amvdec_ports/decoder/aml_mjpeg_parser.h [new file with mode: 0644]
drivers/amvdec_ports/decoder/aml_mpeg12_parser.c [new file with mode: 0644]
drivers/amvdec_ports/decoder/aml_mpeg12_parser.h [new file with mode: 0644]
drivers/amvdec_ports/decoder/aml_mpeg4_parser.c [new file with mode: 0644]
drivers/amvdec_ports/decoder/aml_mpeg4_parser.h [new file with mode: 0644]
drivers/amvdec_ports/decoder/aml_vp9_parser.c [new file with mode: 0644]
drivers/amvdec_ports/decoder/aml_vp9_parser.h [changed mode: 0755->0644]
drivers/amvdec_ports/decoder/h264_parse.c [deleted file]
drivers/amvdec_ports/decoder/h264_parse.h [deleted file]
drivers/amvdec_ports/decoder/h264_stream.c [deleted file]
drivers/amvdec_ports/decoder/h264_stream.h [deleted file]
drivers/amvdec_ports/decoder/vdec_h264_if.c
drivers/amvdec_ports/decoder/vdec_hevc_if.c
drivers/amvdec_ports/decoder/vdec_mjpeg_if.c [new file with mode: 0644]
drivers/amvdec_ports/decoder/vdec_mpeg12_if.c [new file with mode: 0644]
drivers/amvdec_ports/decoder/vdec_mpeg4_if.c [new file with mode: 0644]
drivers/amvdec_ports/decoder/vdec_vp9_if.c
drivers/amvdec_ports/decoder/vdec_vp9_trigger.h [changed mode: 0755->0644]
drivers/amvdec_ports/test/vcodec_m2m_test.c
drivers/amvdec_ports/utils/common.c [new file with mode: 0644]
drivers/amvdec_ports/utils/common.h [new file with mode: 0644]
drivers/amvdec_ports/utils/get_bits.h [new file with mode: 0644]
drivers/amvdec_ports/utils/golomb.c [new file with mode: 0644]
drivers/amvdec_ports/utils/golomb.h [new file with mode: 0644]
drivers/amvdec_ports/utils/pixfmt.h [new file with mode: 0644]
drivers/amvdec_ports/utils/put_bits.h [new file with mode: 0644]
drivers/amvdec_ports/vdec_drv_base.h
drivers/amvdec_ports/vdec_drv_if.c
drivers/amvdec_ports/vdec_drv_if.h
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/utils/Makefile
drivers/frame_provider/decoder/utils/vdec_input.c
drivers/frame_provider/decoder/utils/vdec_v4l2_buffer_ops.c [new file with mode: 0644]
drivers/frame_provider/decoder/utils/vdec_v4l2_buffer_ops.h [new file with mode: 0644]
drivers/frame_provider/decoder/vp9/vvp9.c