summaryrefslogtreecommitdiff
path: root/chromium/third_party/ffmpeg/chromium/patches/README
blob: dccbbbfee8cfb00bd300b7ab7cb6605490e4cd54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
---------------------------------------------------------------------
-- Chromium Patches. Autogenerated by find_patches.pyc, do not edit --
---------------------------------------------------------------------


------------------------------------------------------------------
commit 35a9efdd9ee40dff4a5e45f0039328cd893c1264
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Fri Feb 3 16:12:21 2012 -0800

    Remove old patches, apply existing patches.

    Deleted, since from upstream:
           deleted:    from_upstream/36_theora_flush.patch
           deleted:    from_upstream/38_webm_cues_before_first_cluster.patch
           deleted:    from_upstream/51_vp3_coefficient_overflow.patch

    Deleted, since non-working according to rbultje:
           deleted:    to_upstream/15_webp_ffmpeg.patch

    Deleted, since get_bits upstreamed:
           deleted:    ugly/07_get_bits_overrun.patch
           deleted:    ugly/08_enforce_theora_oob.patch
           deleted:    ugly/09_enforce_vorbis_oob_divzero.patch
           deleted:    ugly/10_aac_oob_read.patch
           deleted:    ugly/30_enforce_mp3_oob.patch

    Deleted, since upstreamed:
           deleted:    to_upstream/14_vp8_encode_options.patch
           deleted:    to_upstream/34_ogg_memcpy.patch
           deleted:    to_upstream/37_VP8_armv6_optimizations.patch
           deleted:    to_upstream/39_VP8_fix_oob_read_writes.patch
           deleted:    to_upstream/40_MKV_fix_oob_write.patch
           deleted:    to_upstream/42_vp8_fix_segmentation_maps.patch
           deleted:    to_upstream/43_mkv_seekahead_revalidate.patch
           deleted:    to_upstream/44_vorbis_oob_read.patch
           deleted:    to_upstream/45_mkv_fix_segmap_cache_overflow.patch
           deleted:    to_upstream/46_vp3_fix_double_free_invalid_read.patch
           deleted:    to_upstream/47_vp3_fix_infloop_and_memleak.patch
           deleted:    to_upstream/48_vorbis_residue_buffer.patch
           deleted:    to_upstream/49_vorbis_buffer_defense.patch
           deleted:    to_upstream/50_vp8_fix_frame_size_changes.patch
           deleted:    to_upstream/52_vorbis_fix_floor1_vector_int_overflow.patch

    Deleted, for now, but will be fixed w/ merge:
           modified:   ugly/31_remove_attribute_deprecated.patch

    Not applied, since no longer necessary (will be deleted after testing):
           skipped:    to_upstream/01_static_pthread_O2.patch

    Also disables unchecked bitstream reading per rbultje.

    BUG=none
    TEST=ffmpeg_regression_tests

Affects:
    libavcodec/h263dec.c
    libavcodec/h264_cabac.c
    libavcodec/h264_cavlc.c
    libavcodec/h264_parser.c
    libavcodec/ituh263dec.c
    libavcodec/mpeg12.c
    libavcodec/mpeg4video_parser.c
    libavcodec/mpeg4videodec.c
    libavformat/matroskadec.c

------------------------------------------------------------------
commit 87b9d8e5781b28ae6f27b454605d8dbdf325d7e9
Merge: 3a9bce0eec c39916bc2f
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Mon Oct 1 10:30:25 2012 -0700

    FFmpeg merge for M24.

    Merges FFmpeg from c39916bc2f43eed86f9822b7d6802b8a4f2a86c8

    Conflicts:
            libavcodec/vorbisdec.c
            libavformat/matroskadec.c
            libavformat/mov.c
            libavformat/oggdec.c

Affects:
    libavformat/matroskadec.c

------------------------------------------------------------------
commit 67a3d8459c78a653192631c84611cf300c0c9b19
Merge: 82ae69cc47 d91388367f
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Mon Dec 3 14:22:52 2012 -0800

    Merge FFmpeg from upstream for M25.

    Merged from d91388367fa64b98a09b45e2b7fb8435a62b7609.

    Conflicts:
            configure
            libavcodec/aacdec.c
            libavcodec/ac3tab.h
            libavcodec/dca.h
            libavcodec/dnxhddata.h
            libavcodec/mjpeg.h
            libavcodec/mpeg4audio.h
            libavcodec/mpegaudiodata.h
            libavcodec/raw.h
            libavformat/matroskadec.c
            libavformat/mp3dec.c
            libavutil/aes.h
            libavutil/common.h
            libavutil/intmath.h
            libavutil/md5.h
            libavutil/pixdesc.h
            libavutil/sha.h
            libavutil/tree.h
            library.mak

Affects:
    libavformat/matroskadec.c

------------------------------------------------------------------
commit 3a43b481b78e54009e293c6c6172fc6c68990d8c
Author: Will Harris <wfh@chromium.org>
Date:   Wed Jan 21 20:33:15 2015 -0800

    Use the allocator shim in ffmpegsumo.

    Link ffmpegsumo.dll with the allocator shim code with 2Gb limit. Call into the allocator shim to initilize the crash on NULL from a new DllMain().

    BUG=450676, 446032, 444533
    TEST=media_unittests

    Change-Id: I6b0e5c944f3781e984cee0bc17678b0af7136948

Affects:
    libavutil/mem.c

------------------------------------------------------------------
commit 967e4da013f8997d4cc34f1008f082a9c55e191f
Author: Dan Sanders <sandersd@chromium.org>
Date:   Thu Jan 29 14:10:48 2015 -0800

    Update patches and configs for M42.

      - Adds ffversion.h.
      - Fixes to build with win8.1 SDK and for linux-noasm.
      - Removed ugly patches and replaced with descriptions;
        the patches were not being kept up to date.

    Change-Id: Ie0eab2bf3ab6c52cd088e54172792175ab7cb2de

Affects:
    libavcodec/cdxl.c
    libavcodec/huffyuvdec.c
    libavcodec/mpeg12dec.c
    libavformat/matroskadec.c

------------------------------------------------------------------
commit f3299330654ac1b40c50b3cbcae619f42eb7d838
Author: Scott Graham <scottmg@chromium.org>
Date:   Mon Apr 27 16:57:46 2015 -0700

    vs2015: add missing include in snprintf header

    Otherwise, it warns that

    d:\src\cr2\src\third_party\ffmpeg\compat\msvcrt\snprintf.c(40): error C2220: warning treated as error - no 'object' file generated
    d:\src\cr2\src\third_party\ffmpeg\compat\msvcrt\snprintf.c(40): warning C4013: 'avpriv_vsnprintf' undefined; assuming extern returning int

    I guess this is new behaviour for .c files? Not sure.

Affects:
    compat/msvcrt/snprintf.c

------------------------------------------------------------------
commit b5269bfb48c71fe17c02eee00c71b1e9762497db
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Fri May 15 16:39:13 2015 -0700

    Fix inconsistent linkage when building with MSVC.

    Exposes overriden symbols as externs and force injects these headers
    when building with the component build.

    TEST=builds with gyp/gn in component build on windows.

    Change-Id: Iad04faf4f60469a810205ae1159bb3d6f77eae35

Affects:
    compat/msvcrt/snprintf.h
    compat/strtod.c

------------------------------------------------------------------
commit 58315b1a02fa9761d05bd9211ce0ab672f8a8699
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Tue May 19 16:05:10 2015 -0700

    Fix public global symbols on the osx and linux builds.

    Fixes the conditionals on Linux so that these symbols are hidden and
    adds the Chromium-specific private_extern extension for hiding these
    symbols on OSX.

    TEST=compiles on OSX, linux, nm shows symbols hidden.

    Change-Id: I26e42fa2bc4d2f553061e8b478dbfc95f610c13f

Affects:
    libavutil/x86/x86inc.asm

------------------------------------------------------------------
commit bd4eee53ada8fab27217d37c2ca881dae3bb3ba4
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Tue Sep 15 18:37:44 2015 -0700

    Restore removal of const EbmlSyntax to fix Windows compile error.

Affects:
    libavformat/matroskadec.c

------------------------------------------------------------------
commit 703d465a5e4ffd326abb7b68e8541df370a26d55
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Wed Sep 16 15:08:49 2015 -0700

    Update configs and version numbers for M47 ffmpeg roll.

    Change-Id: Ie7873e478a496f28dbfd0739325c6e2b6d427b58

Affects:
    libavformat/mp3dec.c

------------------------------------------------------------------
commit c52070a0e537c4175617c7a8f274cf8afa54e0b4
Author: Christopher Cunningham <chcunningham@ad.corp.google.com>
Date:   Thu Apr 21 19:21:00 2016 -0700

    Fix windows build issues.

    Update VS2013 references for VS2015.

    Slight tweak to configure. src symlink for source_path doesn't work
    with cl.exe (files not found).

    Change-Id: I8074309baeefdf785778b62c680452000de7e999

Affects:
    configure

------------------------------------------------------------------
commit b4d337e66827f3cced2a5762c428035703412aed
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Fri Oct 21 15:49:44 2016 -0700

    Enable libopus builds within build_ffmpeg.py

    This prepares the path for using ffmpeg's opus decoder instead of
    our own. Allowing opus playback in WebAudio and reducing some of
    our code complexity.

    BUG=482934
    TEST=Opus media_unittests pass w/o modification.

    Change-Id: I8867b015ac9e8bd8ec3b0ae04b926f87cb2aae09
    Reviewed-on: https://chromium-review.googlesource.com/402028
    Reviewed-by: Matthew Wolenetz <wolenetz@chromium.org>

Affects:
    configure

------------------------------------------------------------------
commit e4decbe7fd3f49d90f296e83bcbf2beb8edf202a
Merge: b4d337e668 134233972e
Author: Matt Wolenetz <wolenetz@chromium.org>
Date:   Tue Oct 25 14:31:38 2016 -0700

    Merge FFmpeg for M56.

    Conflicts:
            .gitignore
            configure
            libavcodec/h264.c
            libavcodec/h264_parser.c
            libavformat/matroskadec.c
            libavformat/mov.c
            libavformat/movenc.c
            libavformat/utils.c

Affects:
    libavformat/matroskadec.c

------------------------------------------------------------------
commit b259f2d64436ebdcaa48f619154edde2ad5cd29b
Author: Matt Wolenetz <wolenetz@chromium.org>
Date:   Tue Oct 25 16:38:27 2016 -0700

    Chromium patch and README updates

    Updated date/hash of merge in README.chromium
    Updated Chromium patches:
      The merge from upstream tentatively took the rewritten upstream
        version of configure's mips64 logic. Previously, a downstream patch
        to configure was necessary to prevent mips arch selection conflict.
      The merge from upstream also removed our custom downstream declaration
        of matroska_read_close from lavf/matroskadec.c now that upstream
        includes it later in that file.
      In the merge from upstream, previously 8b946dec7 removed lavf/mov.c
        mov_seek_stream()'s |ret| local, but more recent dd34e89f needed it.
        Resolved by declaring |ret|.
      The merge commit included additional removal of extra const from
        static EbmlSyntax arrays in lavf/matroskadec.c
      riffdec.c VS2015 update 1 codegen workaround is now in ffmpeg
        upstream.
      Removed from README previous cherry-picks from upstream, confirmed in
        git history.
      generate_gn.py should now autorename to escape conflicts like
        lavc/videodsp.S and lavc/aarch64/videodsp.S which otherwise both
        result in videodsp.o in the same folder. Removed the temporary
        downstream rename of lavc/aarch64/videodsp.S to videodsp_aarch64.S
    Removed more UNCHECKED_BITSTREAM_READER defines from lavc/*

Affects:
    libavcodec/dnxhddec.c
    libavcodec/h264dec.c

------------------------------------------------------------------
commit b281073a7b1ccff67b2cd8ec636facceeeb82327
Author: Matt Wolenetz <wolenetz@chromium.org>
Date:   Wed Nov 16 14:05:47 2016 -0800

    Enable mac build_ffmpeg of lavf/wavdec.c

    Mac searches more extensively for symbols when building dynamic
    libaries.  Since last ffmpeg roll, wavdec.c now conditionally calls a
    method ff_spdif_probe, which is not included in build
    (CONFIG_SPDIF_DEMUXER is disabled), and build_ffmpeg on mac thus fails.

    This change uses a downstream #if to completely remove the call to
    ff_spdif_probe in wavdec.c

Affects:
    libavformat/wavdec.c

------------------------------------------------------------------
commit 5d76f94a515900260f185d5949f72ed6fa4bdd94
Author: Matt Wolenetz <wolenetz@chromium.org>
Date:   Thu Nov 17 12:17:10 2016 -0800

    Enable windows Chrom* build including lavf/wavdec.c

    Expands the downstream #if's to exclude more code blocks including
    symbols not in our builds, gated by each of CONFIG_SPDIF_DEMUXER and
    CONFIG_W64_DEMUXER. At least the windows toolchain otherwise would fail
    linking Chrom* pieces due to resolved symbols without this change.

    BUG=264459

    Change-Id: I554740ec871f5cf70294bbd762deb464e484b241
    Reviewed-on: https://chromium-review.googlesource.com/412440
    Reviewed-by: Dale Curtis <dalecurtis@chromium.org>

Affects:
    libavformat/wavdec.c

------------------------------------------------------------------
commit 65d55e6e21ea7eaeef9324641aef36524fdd477f
Author: liberato@chromium.org <liberato@chromium.org>
Date:   Tue Jan 17 17:44:18 2017 -0800

    Make matroskadec and cpu.c compile on Windows.

    Matroskadec included an explicit and implicit 'const', which the compiler
    didn't like.

    cpu.c used stdatomic.h, which Windows doesn't provide.

    BUG=

    Change-Id: I84a55b28c145e5cc3bbdb8cbe3de644bb23406c6
    Reviewed-on: https://chromium-review.googlesource.com/429390
    Reviewed-by: Frank Liberato <liberato@chromium.org>

Affects:
    compat/atomics/win32/stdatomic.h
    libavformat/matroskadec.c

------------------------------------------------------------------
commit f058fa86bb0e7e43d4208eb05a71c8ce46487611
Author: Thomas Guilbert <tguilbert@chromium.org>
Date:   Mon Mar 20 11:15:26 2017 -0700

    Skip ID3v1 tags

    Recent changes to mp3dec.c caused the custom flag we added to the
    AVFormatContext to be overwritten.

    This CL adds an explicit check for our custom "skip_id3v1_tags"
    metadata value in mp3_read_header, before it is overwritten.

    BUG=
    TEST= ran media_unittests before/after

    Change-Id: Ia83e9ffcdff0775bacfa40c2eab633539cd9906c
    Reviewed-on: https://chromium-review.googlesource.com/457249
    Reviewed-by: Dale Curtis <dalecurtis@chromium.org>

Affects:
    libavformat/mp3dec.c

------------------------------------------------------------------
commit 23a7be520d523e37fc1eb31ff23ac0e59e737e09
Author: Thomas Guilbert <tguilbert@chromium.org>
Date:   Tue Apr 11 16:26:39 2017 -0700

    Fix dictionary leak in mp3dec

    Upstream changes in mp3dec.c introduced a leak. s->metadata is
    (correctly) assumed to be NULL when entering mp3_read_header,
    but Chromium uses a custom dictionary entry to skip id3v1 tag
    parsing, which requires an additional call to av_dict_free.

    Bug:703965

    Change-Id: I5fbe4a7bd71d7097cf074f60f9ff3700d153930d
    Reviewed-on: https://chromium-review.googlesource.com/475026
    Reviewed-by: Matthew Wolenetz <wolenetz@chromium.org>

Affects:
    libavformat/mp3dec.c

------------------------------------------------------------------
commit d4512b74a80eca1a4ea5c682300171efe0f721ff
Merge: bb7fe72a56 8ef2c791c9
Author: John Rummell <jrummell@chromium.org>
Date:   Mon May 8 13:56:56 2017 -0700

    Merge FFmpeg for M60.

    Conflicts:
      configure
      libavcodec/utils.c
      libavformat/mov.c
      libavformat/oggparseogm.c

Affects:
    configure

------------------------------------------------------------------
commit 824c9515cb40d3806408c13ee52cce120118328d
Author: John Rummell <jrummell@chromium.org>
Date:   Wed May 31 14:54:11 2017 -0700

    Always use av_realloc() for |extradata|

    Chromium debug builds do not allow mixing calls to posix_memalign() and
    realloc(). So always use realloc() when allocating |extradata|.

    BUG=721872
    TEST=Cr444539/FFmpegRegressionTest.BasicPlayback/0 test passes without ASAN

    Change-Id: Ibfcf99b3c23656ee46dd471cea1c5831b9176872
    Reviewed-on: https://chromium-review.googlesource.com/520342
    Reviewed-by: Thomas Guilbert <tguilbert@chromium.org>

Affects:
    libavformat/mov.c

------------------------------------------------------------------
commit 1e201feaa3260336aa63545c9471b76e5aef2e0a
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Fri Aug 25 16:58:16 2017 -0700

    Shave ~158kb in strings from ffmpeg. Use #define to null-route logs.

    Official builds never log these strings anywhere; we always set
    AV_LOG_QUIET and don't surface these to MEDIA_LOG.

    158kb difference is the final chrome executable on linux with
    a static link.

    BUG=none
    TEST=compile, observe binary size delta of chrome

    Change-Id: I78782079dbe54822e4ded1a4f41c1b98621f83f7
    Reviewed-on: https://chromium-review.googlesource.com/636748
    Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>

Affects:
    libavutil/internal.h
    libavutil/log.c
    libavutil/log.h

------------------------------------------------------------------
commit 4a74bbe9c6a37e7cadd7fa3b4e9fb943b57e3f00
Merge: bb424af97f 6a50a8f340
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Fri Nov 3 12:06:55 2017 -0700

    Merge remote-tracking branch 'upstream/master' into merge-m64

    Synced from upstream/6a50a8f340161a0b65feb3537591b0381a6a6b38

Affects:
    configure

------------------------------------------------------------------
commit 76b57e9f808de42f6f1bb7df97531aa4b5cb7bb0
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Mon Nov 6 17:37:45 2017 -0800

    Drop Linux MIPS. Fix Android MIPS64. Clang for everything.

Affects:
    configure
    libavcodec/mips/aacdec_mips.c

------------------------------------------------------------------
commit 732525a160bc98935b757d6e13b8a0115e62d929
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Fri Nov 17 15:44:24 2017 -0800

    Disable unused ogg codec parsers; they have bugs we don't care about.

    Ogg has parsers for a bunch of codecs we don't care about. Long ago
    we also disabled these, but we re-enabled them because it didn't
    matter at the time. We would just fail during demuxing instead; but
    now it seems there are bugs in these parsers, so disable them to
    avoid bringing their issues along.

    The issue in this case is bad timestamps, but there's no good fix
    for this in the speex code that I can see, so it's simpler to just
    blanket disable.

    BUG=654612
    TEST=media_unittests still pass

    Change-Id: I4f4e683a338dafe2df11ade6efca57ad0498f974
    Reviewed-on: https://chromium-review.googlesource.com/777969
    Reviewed-by: Dan Sanders <sandersd@chromium.org>

Affects:
    libavformat/oggdec.c

------------------------------------------------------------------
commit 54813536efea1f447067a2af02fd89e25b65b920
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Tue Nov 21 15:15:20 2017 -0800

    Update wrap_bits fix to work with wrap_bits == 63,64.

    BUG=783459

    Signed-off-by: Dale Curtis <dalecurtis@chromium.org>

Affects:
    libavformat/utils.c

------------------------------------------------------------------
commit e881e753b0d47f3dd82484695dc24a321a948002
Author: Dan Sanders <sandersd@chromium.org>
Date:   Tue Feb 13 14:35:49 2018 -0800

    Prevent NULL dereference in mov_read_sidx()

    When there are no segments in a sidx, mov_read_sidx() will try to
    dereference a NULL pointer. This patch adds an early return for empty sidx
    boxes.

    Change-Id: I99145a3a3372c2f3af3bea9cd2c32fb23487cb6f
    Bug: 802335
    Reviewed-on: https://chromium-review.googlesource.com/917229
    Reviewed-by: Dale Curtis <dalecurtis@chromium.org>

Affects:
    libavformat/mov.c

------------------------------------------------------------------
commit 9ed334093692f2dc77c4ad8186ddadde584e1e20
Author: Dan Sanders <sandersd@chromium.org>
Date:   Tue Feb 13 15:18:47 2018 -0800

    Prevent NULL dereference in mov_seek_fragment()

    If the fragment index is empty, mov_seek_fragment() will try to read the
    first index entry anyway. This patch adds an early return in that case.

    Bug: 804070
    Change-Id: I2e4c3b9859c0434181dc3e62486f314166617fe6
    Reviewed-on: https://chromium-review.googlesource.com/917381
    Reviewed-by: Dale Curtis <dalecurtis@chromium.org>

Affects:
    libavformat/mov.c

------------------------------------------------------------------
commit eac51b1c76474daab2815b95a3514a1176fa5e52
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Fri Feb 23 10:59:11 2018 -0800

    Skip trailing junk data when flushing parser.

    The parser should only return valid mpeg audio packets; it generally
    does so, but in the case of flush, it returns whatever happens to
    be in the buffer instead of ensuring its first a valid mpeg packet.

    The fix is to check whether a valid frame size has been parsed and
    if not discard the packet when flushing.

    This should fix all sorts of mp3 files with trailing garbage.

    Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
    Bug: 794782
    Change-Id: I4ed8e5e31573f3dc6a3ff3872f4ae8fb9f294091
    Reviewed-on: https://chromium-review.googlesource.com/935081
    Reviewed-by: Xiaohan Wang <xhwang@chromium.org>

Affects:
    libavcodec/mpegaudio_parser.c

------------------------------------------------------------------
commit 261398f81e512e41302fa036afc6e6f8a3a10811
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Fri Feb 23 11:16:05 2018 -0800

    Don't invoke trailing garbage discard for every flush.

    Check needs buf_size > 0.

    Signed-off-by: Dale Curtis <dalecurtis@chromium.org>

Affects:
    libavcodec/mpegaudio_parser.c

------------------------------------------------------------------
commit 4468d4967f5dd6a733860af355ef61095b5cd5b1
Author: Matt Wolenetz <wolenetz@chromium.org>
Date:   Mon Mar 5 12:36:28 2018 -0800

    lavf/oggparseflac: Free flac extradata before reallocating.

    Otherwise ff_alloc_extradata() just leaks any existing allocated
    memory.

    BUG=789835

    Change-Id: I8e1c21a16749d28c7f050f5f5d8bffda3b419638
    Reviewed-on: https://chromium-review.googlesource.com/949415
    Reviewed-by: Xiaohan Wang <xhwang@chromium.org>

Affects:
    libavformat/oggparseflac.c

------------------------------------------------------------------
commit 24bf13b3c13a22c5d1ae4295badc9b79f94e6398
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Tue Apr 17 11:14:57 2018 -0700

    Add support for building the Windows ffmpeg configuration on Linux!

    This adds cross-compiling support for Windows ffmpeg configurations;
    it also updates the configurations with the generated results!

    This uses a couple of existing Chromium scripts for setting up the
    correct MSVC paths and passing the right cflags and ldflags to
    chromium such that compilation can succeed.

    This also pulls in an upstream patch for configure to make it detect
    the proper command line flag type '/' vs '-':
    https://patchwork.ffmpeg.org/patch/7469/

    There's one further change to the makedef line in configure to
    ensure that it's run using the substituted AR and NM commands
    instead of the defaults lib and dumpbin.

    BUG=783021
    TEST=chrome works!

    Change-Id: Ia6951b66ae7ecf1e6c700d6cf8bc92f4ea2ef985
    Reviewed-on: https://chromium-review.googlesource.com/1013323
    Reviewed-by: Frank Liberato <liberato@chromium.org>

Affects:
    configure

------------------------------------------------------------------
commit a5ef4a7a43af84dda13a34db34d709bad59f004c
Author: liberato@chromium.org <liberato@chromium.org>
Date:   Wed May 9 10:50:32 2018 -0700

    Explicitly turn off v4l2 in configure.

    configure seems to enable v4l2-m2m even if we explicitly turn it
    off with arguments.

    This CL makes configure check the command-line arguments, and skip
    v4l2 (and v4l2-m2m) if they're turned off.

    Bug: 841360
    Change-Id: I3c597c12e91631ecd9b526cdea056e064901e008
    Reviewed-on: https://chromium-review.googlesource.com/1052372
    Reviewed-by: Matthew Wolenetz <wolenetz@chromium.org>

Affects:
    configure

------------------------------------------------------------------
commit f3680cd7365f99a0c3f77b06d664adc69a0624c4
Author: liberato@chromium.org <liberato@chromium.org>
Date:   Thu May 24 13:43:24 2018 -0700

    Add null check for encryption info.

    Bug: 846009
    Change-Id: If6f11b1ff2b730f6bdd0555cc3be6b6036ba1c59
    Reviewed-on: https://chromium-review.googlesource.com/1072163
    Reviewed-by: Matthew Wolenetz <wolenetz@chromium.org>

Affects:
    libavutil/encryption_info.c

------------------------------------------------------------------
commit 9846ee38e057a93db62f6730d0107bf68d8329ae
Merge: bbe6b81a6c 179ed2d2e0
Author: John Rummell <jrummell@chromium.org>
Date:   Fri Sep 28 10:56:34 2018 -0700

    Merge remote-tracking branch 'upstream/master' into sushi-2018-09-28-10-43-19

    Conflicts:
      configure
      libavcodec/utvideodec.c

Affects:
    libavcodec/utvideodec.c

------------------------------------------------------------------
commit 81f7d1dd5fa4ff50d9a8cd86e7b76796c056459d
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Thu Nov 8 10:55:58 2018 -0800

    Drop function: prefix in x86util.asm for macOS ffmpeg builds.

    nasm doesn't want the function prefix before the visibliity
    on macOS (which remains private_extern). I'm not sure why it's
    fine with it on other platforms, but it is ¯\_(ツ)_/¯

    BUG=766721
    R=chcunningham

    Change-Id: I3f20ca7268eb482198c51647caf8c9cc9d52bb1e
    Reviewed-on: https://chromium-review.googlesource.com/c/1327383
    Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>

Affects:
    libavutil/x86/x86inc.asm

------------------------------------------------------------------
commit d19d9dd0a834fb9ce89df31c321d981cdfeaf76c
Author: chcunningham <chcunningham@chromium.org>
Date:   Mon Jan 7 17:47:21 2019 -0800

    Update ffmpeg configs, patches, and fix android arm64 build error.

    See patches/README for details of android arm64 fix

    Bug: 916298
    Test: media_unittests, ffmpeg_regression_tests
    Change-Id: Ia0f1095a8d1a1e347102c09a9831e428296d15f3
    Reviewed-on: https://chromium-review.googlesource.com/c/1395497
    Reviewed-by: John Rummell <jrummell@chromium.org>

Affects:
    libavutil/avsscanf.c

------------------------------------------------------------------
commit 7262141e8c14462f47e79ed6ba457321dea9cc5d
Author: Dale Curtis <dalecurtis@chromium.org>
Date:   Thu Feb 28 13:51:30 2019 -0800

    Don't trigger errors for multiple id3 tags.

    Such errors may make sense for specific formats, but general parsing
    logic shouldn't be treating these as errors regardless of the error
    recognition mode.

    Fixes loading of the following wave when using -err_detect explode:
    https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/webaudio/resources/4ch-440.wav

    Signed-off-by: Dale Curtis <dalecurtis@chromium.org>

Affects:
    libavformat/utils.c

------------------------------------------------------------------
commit b62555c76193045c2e3643c626e8e8d7a8f4b93f
Author: liberato@chromium.org <liberato@chromium.org>
Date:   Mon Mar 4 14:01:22 2019 -0800

    Check return value of avio_read().

    Otherwise, it can use an uninitialized value immediately after.

    Bug: 937663
    Change-Id: I59bfb59982c18c2d523b015045b7ad261fb6aca8
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/1500992
    Reviewed-by: Dale Curtis <dalecurtis@chromium.org>

Affects:
    libavformat/mov.c