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