Commit graph

112663 commits

Author SHA1 Message Date
nyanmisaka
a7817eed0b fixup! lavf/rkrga: add RKRGA scale, vpp and overlay filter
allow rkrga io on different hwctx.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-04-22 18:58:34 +08:00
nyanmisaka
04f5eaa11c fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
Remove `dump_extra` bsf from h264/hevc_rkmpp decoder. It causes
issues in some rstp streams, and users have been able to set
the -bsf:v option for video input in FFmpeg 7.0+.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-02-10 22:08:49 +08:00
nyanmisaka
ea9247abf4 fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
remove MAX_ERRINFO_COUNT.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-02-07 00:31:11 +08:00
nyanmisaka
4b0e666711 fixup! lavf/rkrga: add RKRGA scale, vpp and overlay filter
enable some YUVJ formats.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-01-20 19:23:50 +08:00
nyanmisaka
37d4c2129b fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
enable some YUVJ formats.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-01-20 19:23:50 +08:00
nyanmisaka
ea8a622db1 fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
enable some YUVJ formats.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-01-20 19:23:50 +08:00
nyanmisaka
4ca3b158de fixup! lavu: add RKMPP hwcontext
enable some YUVJ formats.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-01-20 19:23:50 +08:00
nyanmisaka
56590501f5 fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
refine hw_device_ctx validation.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-01-20 19:23:50 +08:00
nyanmisaka
b81c3bf1c4 fixup! lavu: add RKMPP hwcontext
fix fully-planar alignment again.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-23 16:40:02 +08:00
nyanmisaka
f22278710e fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
fix when decoding only a single packet containing an IDR frame.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-23 16:39:50 +08:00
nyanmisaka
abfc47f288 fixup! lavu: add RKMPP hwcontext
fix uninitialized hw_frames_ctx of mapped frames.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-19 16:32:39 +08:00
nyanmisaka
411d2ec5d2 fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
fix some missing commas.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-19 16:32:38 +08:00
nyanmisaka
af480a2e1d fixup! lavu: add RKMPP hwcontext
fix nv15/nv20 chroma pitch calc.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-18 13:08:22 +08:00
nyanmisaka
9dbaf5a69d fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
fix packet deinit too early.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-14 14:43:52 +08:00
nyanmisaka
841da94b13 fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
switch from ff_alloc_packet() to ff_get_encode_buffer().

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-11 20:14:12 +08:00
nyanmisaka
22959a8080 fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
fix leaks in mpp_enc_cfg.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-11 15:27:31 +08:00
nyanmisaka
57b7952f6a fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
fix artifacts caused by delayed release of MppPacket data.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-11 01:05:59 +08:00
nyanmisaka
c5e745e3c1 fixup! lavf/rkrga: add RKRGA scale, vpp and overlay filter
fix nv24/nv42 check on rga2p

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-10-23 21:42:03 +08:00
nyanmisaka
9d81e50866 fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
add initial support for rk3576

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-10-16 16:32:04 +08:00
nyanmisaka
4eea7f7fe3 fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
add initial support for rk3576

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-10-16 16:32:04 +08:00
nyanmisaka
f7617540aa fixup! lavf/rkrga: add RKRGA scale, vpp and overlay filter
add initial support for rk3576

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-10-16 16:32:04 +08:00
nyanmisaka
521affc277 fixup! lavu: add RKMPP hwcontext
add initial support for rk3576

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-10-16 16:32:04 +08:00
nyanmisaka
5ddd3d4f5b fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
support keyframe-only decoding: '-skip_frame nokey'

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-09-20 02:00:17 +08:00
nyanmisaka
27443ed8eb fixup! lavf/rkrga: add RKRGA scale, vpp and overlay filter
switch to require_pkg_config for librga.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-09-02 00:37:01 +08:00
nyanmisaka
8164ff7dad fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
fix mpeg4 rkmpp hardware decoding.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-07-17 00:35:05 +08:00
nyanmisaka
9efe5bcff0 fixup! lavu: add RKMPP hwcontext
fix the rga fully-planar alignment regression.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-05-30 11:28:31 +08:00
nyanmisaka
2093e2b984 fixup! lsws/input: add NV15 and NV20 formats support
add unscaled copy from nv15/nv20 to yuv420p1x/yuv422p1x

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-05-21 00:15:20 +08:00
nyanmisaka
09cd2a2d18 fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-05-04 16:19:04 +08:00
nyanmisaka
6f88a29491 fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
Add `dump_extra` bsf to h264/hevc_rkmpp decoder since
in rtsp, sequence header is passed through sdp and video
stream may not have sequence header.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-04-24 21:22:21 +08:00
nyanmisaka
ba84e56c51 fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
Update encoder input size quirks.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-28 21:27:15 +08:00
nyanmisaka
257e7ebf7d fixup! lavu: add RKMPP hwcontext
Fix yuv420p/yuv422p encoding at specific resolutions.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-28 21:27:15 +08:00
nyanmisaka
733309bc7e fixup! README: update for ffmpeg-rockchip
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-26 22:35:48 +08:00
nyanmisaka
ab1bad7034 lavc/rkmppenc: add RKMPP MJPEG encoder
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-26 22:16:43 +08:00
nyanmisaka
9de0f4b793 lavu/hwcontext_rkmpp: add BE formats
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-26 22:16:43 +08:00
nyanmisaka
1fa586ac7f fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
Switch the decoder logic to the lower latency one. This results
in slightly higher CPU usage in exchange for low latency and
better compatibility.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-13 22:54:00 +08:00
nyanmisaka
76203202f6 lavc/rkmppenc: add low_delay flag support for RKMPP encoders
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-13 22:54:00 +08:00
nyanmisaka
c7de8d3827 lavc/rkmppenc: add profile tier option to HEVC encoder
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-13 15:54:42 +08:00
nyanmisaka
7a0200bdfa fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
Don't return EAGAIN in draining/eof to avoid a potential frame loss.

Credit by @mcerveny

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-10 23:59:00 +08:00
nyanmisaka
27136b05e0 fixup! lavf/rkrga: add RKRGA scale, vpp and overlay filter
fix the draining/eof prematurely.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-09 21:24:37 +08:00
nyanmisaka
d43f4f54e6 fixup! lavf/rkrga: add force_{yuv,chroma} options for vpp filter
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-29 23:19:02 +08:00
nyanmisaka
97638cffe1 fixup! lavf/rkrga: add force_{yuv,chroma} options for vpp filter
Auto fallback to 8-bit formats on RGA2 hardware.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-29 22:49:05 +08:00
nyanmisaka
377fa2c622 fixup! lavf/rkrga: add RKRGA scale, vpp and overlay filter
Drain the fifo during filter reset to avoid leaking one fence_fd.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-29 17:17:59 +08:00
nyanmisaka
6b13265d70 fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
EOS frame may contain valid data. Check frame buf to determine it.

```
[hevc_rkmpp @ 0xaaab1462eb20] Received a 'EOS' frame
[hevc_rkmpp @ 0xaaab1462eb20] Received a frame
[hevc_rkmpp @ 0xaaab1462eb20] Received a 'EOS' frame
[hevc_rkmpp @ 0xaaab1462eb20] Decoder is at EOF
[vist#0:0/hevc @ 0xaaab1463e380] Decoder returned EOF, finishing
[vist#0:0/hevc @ 0xaaab1463e380] Terminating decoder thread
```

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-05 00:31:57 +08:00
boogie
28b4194646 lavf/rkrga: add force_yuv=auto option for auto un-compact 2024-01-28 23:00:24 +08:00
boogie
99ea69d6d4 lavc/rkmppdec: allow to set decoder options from env
This allows decoder options to be overriden via env FFMPEG_RKMPP_DEC_OPT
where the client has not support to change the decoder options.
Additionally AVOptions are printed as VERBOSE on infochange.
2024-01-28 01:16:06 +08:00
boogie
1a9a968810 fixup! lavc/rkmppenc: add RKMPP H264 and HEVC encoder
- Use crop_top to handle MPP decoder AFBC offset_y.
- Apply stride multiplier to drm_prime AFBC frame.

Co-authored-by: nyanmisaka <nst799610810@gmail.com>
2024-01-24 20:36:24 +08:00
boogie
1cb7e3d2e2 fixup! lavf/rkrga: add RKRGA scale, vpp and overlay filter
- Use crop_top to handle MPP decoder AFBC offset_y.
- Apply stride multiplier to drm_prime AFBC frame.

Co-authored-by: nyanmisaka <nst799610810@gmail.com>
2024-01-24 20:36:23 +08:00
boogie
74050e5a85 fixup! lavc/rkmppdec: refactor RKMPP decoders and extend codecs
- Use crop_top to handle MPP decoder AFBC offset_y.
- Apply stride multiplier to drm_prime AFBC frame.

Co-authored-by: nyanmisaka <nst799610810@gmail.com>
2024-01-24 20:36:23 +08:00
nyanmisaka
4c1997e5a8 lavf/rkrga: add force_{yuv,chroma} options for vpp filter
They are used to set the output to an uncompact and linear format while
maintaining the same chroma sub-sampling with the input. The user does
not have to know the input format in advance.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-24 20:06:50 +08:00
nyanmisaka
30b1033ec4 fixup! lavu: add RKMPP hwcontext
Enlarge the buffer size a little bit to fix a corner
case issue in RGA AFBC 8K cropping and MPP encoder.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-24 20:00:04 +08:00