1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avformat/yuv4mpegdec: increase header limit

Allows demuxing UHD F1000000000:33333333 fps yuvj420p files

ffmpeg (at HEAD as of now) is creating this:

```
$ ffmpeg -y -i source.265 /tmp/foo.y4m >& /dev/null
...
$ xxd /tmp/raw.y4m |less
00000000: 5955 5634 4d50 4547 3220 5731 3932 3020  YUV4MPEG2 W1920
00000010: 4831 3038 3020 4631 3030 3030 3030 3030  H1080 F100000000
00000020: 303a 3333 3333 3333 3333 2049 7020 4130  0:33333333 Ip A0
00000030: 3a30 2043 3432 306d 7065 6732 2058 5953  :0 C420mpeg2 XYS
00000040: 4353 533d 3432 304d 5045 4732 2058 434f  CSS=420MPEG2 XCO
00000050: 4c4f 5252 414e 4745 3d4c 494d 4954 4544  LORRANGE=LIMITED
00000060: 0a46 5241 4d45 0a82 8282 8282 8282 8282  .FRAME..........
...
```

Which cannot be parsed by the same ffmpeg decoder:
```
$ ffmpeg -i /tmp/foo.y4m /tmp/bar.y4m
...
[yuv4mpegpipe @ 0x2b69a40] Header too large.
/tmp/foo.y4m: Invalid argument
```

This is kicking the ball (per 0b1ff3265e),
but seems to work.
This commit is contained in:
Chema Gonzalez 2022-10-20 09:06:37 -07:00 committed by Paul B Mahol
parent 4cfffdd551
commit a1a87b7a24

View File

@ -27,7 +27,7 @@
#include "yuv4mpeg.h" #include "yuv4mpeg.h"
/* Header size increased to allow room for optional flags */ /* Header size increased to allow room for optional flags */
#define MAX_YUV4_HEADER 96 #define MAX_YUV4_HEADER 128
#define MAX_FRAME_HEADER 80 #define MAX_FRAME_HEADER 80
static int yuv4_read_header(AVFormatContext *s) static int yuv4_read_header(AVFormatContext *s)