1
0
Fork 0
Commit Graph

49659 Commits

Author SHA1 Message Date
Hendrik Leppkes 6914129057
Revert "avcodec/hevc_ps: allocate only the required HEVCHdrParams within a VPS"
This reverts commit 456c8ebe7c.

Currently broken and causing playback glitches
2024-04-05 22:06:19 +02:00
Hendrik Leppkes b58e7afc93
LAV: remove experimental flag from the vvc decoder 2024-04-05 22:06:19 +02:00
Hendrik Leppkes 1deb754a00
Restore channel count/layout update flags
Partial revert of 65ddc74988
2024-04-05 22:06:19 +02:00
Hendrik Leppkes e593d8b5c6
avcodec/av1: don't indicate success without returning a frame
Potentially fixes an assert in generic code down the line.
2024-04-05 22:06:19 +02:00
Hendrik Leppkes fe34a033e5
dca: detect dts:x extensions in dts hd-hra tracks 2024-04-05 22:06:19 +02:00
Hendrik Leppkes 50331b7c53
hevcdec: scale HDRPlus window coordinates 2024-04-05 22:06:17 +02:00
Hendrik Leppkes 25cb015389
HACK: avcodec/utils: don't error out on missing channel info, the decoders are not fixed for this yet 2024-04-05 22:06:17 +02:00
Hendrik Leppkes a860fd3c9b
dxva2/av1: add compat header 2024-04-05 22:06:17 +02:00
Hendrik Leppkes 9626e2d908
h264dec: update x264_build in the user-facing context 2024-04-05 22:06:17 +02:00
Hendrik Leppkes 7898b700b3
utvideodec: disable cached bitstream reader to fix decoding of packed streams
The cached reader is broken when using get_bits_le, disable it until
fixed
2024-04-05 22:06:17 +02:00
Hendrik Leppkes c439c233ca
Revert "avcodec/vp9: Check in decode_tiles() if there is data remaining"
This reverts commit 78862488f8.

This change can disrupt the VP9 decoders ability to recover from badly
cut streams or other cases of missing references when using frame
threading.
2024-04-05 22:06:17 +02:00
Hendrik Leppkes a22db39033
hwaccel: allow ad-hoc setup mode for d3d11 (hack) 2024-04-05 22:06:16 +02:00
Hendrik Leppkes 8cf57455ba
hevc: don't pass dummy references to the hwaccel
Instead let the hwaccel deal with generating missing references. This
improves error resilience and works around a few bugs.
2024-04-05 22:06:16 +02:00
Hendrik Leppkes 173ac2c766
dxva2: support using D3D11 hwaccel with the old API 2024-04-05 22:06:16 +02:00
Hendrik Leppkes 8a465a17f3
avcodec/extract_extradata_bsf: support extracting extradata from h264 mvc 2024-04-05 22:06:16 +02:00
Hendrik Leppkes 2cb3795029
avcodec/extract_extradata_bsf: keep SEI messages in extradata 2024-04-05 22:06:16 +02:00
Hendrik Leppkes e98f5632ab
aacdec: track pce directly instead of overriding chan_config
Modifying chan_config results in LATM decoding re-initializating every frame.
2024-04-05 22:06:16 +02:00
Hendrik Leppkes d78b84bac7
s302m: passthrough non-pcm by default and export non-pcm mode as codec tag 2024-04-05 22:06:15 +02:00
Hendrik Leppkes 50d4f8ccfb
hevc: disable intrapred intrinsics on msvc
Those two don't like each other very much.
2024-04-05 22:06:15 +02:00
Hendrik Leppkes ecd7519a6d
h264_parser: add support for parsing h264 mvc NALUs 2024-04-05 22:06:15 +02:00
Hendrik Leppkes 5fb414833d
avcodec: add h264_mvc codec id and profiles 2024-04-05 22:06:15 +02:00
Hendrik Leppkes 4a45fdf12b
Add compat header for DXVA2 VP8/9 2024-04-05 22:06:15 +02:00
Hendrik Leppkes 16bba49d54
mpeg12dec: don't assert on unknown chroma format
The chroma format can be still unset in postinit when a badly cut stream
starts with a slice instead of a sequence header. This is a common
occurance when feeding avcodec from a Live TV stream.
2024-04-05 22:06:15 +02:00
Hendrik Leppkes f2f06ed6b4
dxva2_hevc: add compat header for mingw 2024-04-05 22:06:14 +02:00
James Almer 87b6eb2f77
x86/hevc: correctly mark intrapred functions as SSE4
No SSE4.2 intrinsics are being used
2024-04-05 22:06:14 +02:00
Hendrik Leppkes 7ca704ef8c
hevc: don't use deprecated YUVJ pixel formats 2024-04-05 22:06:14 +02:00
Hendrik Leppkes 13f92da10a
mpeg12dec: properly handle a codec_id change 2024-04-05 22:06:14 +02:00
Hendrik Leppkes 973c8d59cb
Revert "avcodec/mpeg12dec: do not trust AVCodecContext input dimensions"
This reverts commit 77f1199e8f.

This change had no positive effect on LAV, and only caused troubles with DXVA2 decoding.
2024-04-05 22:06:14 +02:00
Hendrik Leppkes fa18201c75
x86/hevc: use DECLARE_ALIGNED for on-stack tmp arrays to avoid crashes 2024-04-05 22:06:13 +02:00
Hendrik Leppkes 032ad87c13
h264_parser: force grabing a new timestamp until a frame start was found 2024-04-05 22:06:13 +02:00
Hendrik Leppkes f5ddf45af5
hevc: port intra pred SIMD from OpenHEVC 2024-04-05 22:06:13 +02:00
Hendrik Leppkes e73a1e2893
hevc: port intrinsic SSE2 IDCT from OpenHEVC 2024-04-05 22:06:13 +02:00
Hendrik Leppkes 28eed77606
HACK Revert "h264: free the tables and uninitialize the context on flush"
This reverts commit 9eda9d3322.
This commit causes the flush inside the DXVA2 init to crash, so we cannot do this here.

The fix isn't required for our use-case anyway, since LAV always does a hard-flush when seeking H.264.
2024-04-05 22:06:12 +02:00
Hendrik Leppkes 5095d1cef4
h264: don't use deprecated YUVJ pixel formats
A change in pixel format cause a full decoder re-init, which can lead to dropped frames.
Instead, rely on the color_range, as its supposed to be handled anyway.
2024-04-05 22:06:12 +02:00
Hendrik Leppkes 135dbf0580
vc1: wait for bitstream recovery before starting decoding 2024-04-05 22:06:12 +02:00
Hendrik Leppkes a1246dd8ba
h264: increase MAX_SLICES to 256
This was recommended by Jason on IRC a while ago.
2024-04-05 22:06:12 +02:00
Hendrik Leppkes 186fc14a2c
HACK: hevc: ignore invalid extradata 2024-04-05 22:06:12 +02:00
Hendrik Leppkes 65e097b8ed
HACK: avcodec: export progressive_sequence information 2024-04-05 22:06:11 +02:00
Javier Cabezas b98d59b30e
Fraps: output repeat frames instead of discarding them
Signed-off-by: Javier Cabezas <jcabgz@gmail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
2024-04-05 22:06:11 +02:00
Hendrik Leppkes ca6c6c4c6f
h264: set h->sps if none is set yet 2024-04-05 22:06:11 +02:00
Hendrik Leppkes ab207da091
matroskadec_haali: send new extradata and stream params on segment changes 2024-04-05 22:06:11 +02:00
Hendrik Leppkes 637a926e74
HACK: store dvd palette info for user-app use 2024-04-05 22:06:10 +02:00
Hendrik Leppkes 0c36516659
aac: 7.1 should have side channels, and not 2 pairs of front channels. 2024-04-05 22:06:10 +02:00
Hendrik Leppkes 0b83a00429
HACK: preserve mpeg2 END_OF_SEQ code to the start of the next frame to cause a implicit decoder flush 2024-04-05 22:06:10 +02:00
Hendrik Leppkes d97f6e7972
HACK: dvdsubdec: try to improve default dvd subtitle color guessing 2024-04-05 22:06:10 +02:00
Hendrik Leppkes 107ea6c0fa
h264: flag interlaced-coded frames as such when sei_pic_struct indicates otherwise
According to the H.264 standard, Annex D, Table D-1, field_pic_flag shall be 0 when sei_pic_struct signals progressive. In the case when this restriction is not fullfilled, its safer to assume the field is actually interlaced.
Not doing so can cause a renderer to assume the frame is progressive and not deinterlace it, even if required.
2024-04-05 22:06:09 +02:00
Hendrik Leppkes df0575dc21
mpegvideo: null out current_picture_ptr when allocation failed
This avoids using an uninitialized picture in further decode calls.
2024-04-05 22:06:09 +02:00
Hendrik Leppkes 34a33b5144
Export avcodec functions used in LAV 2024-03-24 10:29:47 +01:00
Hendrik Leppkes 6bbf5c05b1
dxva2_mpeg2: prevent calling end_frame without start_frame 2024-03-24 10:29:47 +01:00
Hendrik Leppkes 539b17963b
prores: set avtx->pix_fmt based on the fourcc code during init 2024-03-24 10:29:47 +01:00