Line 0
Link Here
|
|
|
1 |
Fix build with ffmpeg-4.x |
2 |
|
3 |
Obtained from: |
4 |
https://git.archlinux.org/svntogit/packages.git/tree/trunk/qtwebengine-ffmpeg4.patch?h=packages/qt5-webengine&id=421103a8798335f7788498e56b5eef3f33ecba26 |
5 |
|
6 |
--- src/3rdparty/chromium/media/base/decoder_buffer.h.orig 2018-01-15 11:39:43 UTC |
7 |
+++ src/3rdparty/chromium/media/base/decoder_buffer.h |
8 |
@@ -37,7 +37,7 @@ class MEDIA_EXPORT DecoderBuffer |
9 |
: public base::RefCountedThreadSafe<DecoderBuffer> { |
10 |
public: |
11 |
enum { |
12 |
- kPaddingSize = 32, |
13 |
+ kPaddingSize = 64, |
14 |
#if defined(ARCH_CPU_ARM_FAMILY) |
15 |
kAlignmentSize = 16 |
16 |
#else |
17 |
--- src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc.orig 2018-01-15 11:39:43 UTC |
18 |
+++ src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc |
19 |
@@ -30,10 +30,10 @@ EncryptionScheme GetEncryptionScheme(const AVStream* s |
20 |
|
21 |
} // namespace |
22 |
|
23 |
-// Why FF_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are |
24 |
+// Why AV_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are |
25 |
// padded. Check here to ensure FFmpeg only receives data padded to its |
26 |
// specifications. |
27 |
-static_assert(DecoderBuffer::kPaddingSize >= FF_INPUT_BUFFER_PADDING_SIZE, |
28 |
+static_assert(DecoderBuffer::kPaddingSize >= AV_INPUT_BUFFER_PADDING_SIZE, |
29 |
"DecoderBuffer padding size does not fit ffmpeg requirement"); |
30 |
|
31 |
// Alignment requirement by FFmpeg for input and output buffers. This need to |
32 |
@@ -429,11 +429,11 @@ void AudioDecoderConfigToAVCodecContext(const AudioDec |
33 |
} else { |
34 |
codec_context->extradata_size = config.extra_data().size(); |
35 |
codec_context->extradata = reinterpret_cast<uint8_t*>( |
36 |
- av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE)); |
37 |
+ av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE)); |
38 |
memcpy(codec_context->extradata, &config.extra_data()[0], |
39 |
config.extra_data().size()); |
40 |
memset(codec_context->extradata + config.extra_data().size(), '\0', |
41 |
- FF_INPUT_BUFFER_PADDING_SIZE); |
42 |
+ AV_INPUT_BUFFER_PADDING_SIZE); |
43 |
} |
44 |
} |
45 |
|
46 |
@@ -561,11 +561,11 @@ void VideoDecoderConfigToAVCodecContext( |
47 |
} else { |
48 |
codec_context->extradata_size = config.extra_data().size(); |
49 |
codec_context->extradata = reinterpret_cast<uint8_t*>( |
50 |
- av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE)); |
51 |
+ av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE)); |
52 |
memcpy(codec_context->extradata, &config.extra_data()[0], |
53 |
config.extra_data().size()); |
54 |
memset(codec_context->extradata + config.extra_data().size(), '\0', |
55 |
- FF_INPUT_BUFFER_PADDING_SIZE); |
56 |
+ AV_INPUT_BUFFER_PADDING_SIZE); |
57 |
} |
58 |
} |
59 |
|
60 |
--- src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc.orig 2018-01-15 11:39:43 UTC |
61 |
+++ src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc |
62 |
@@ -53,7 +53,7 @@ static void ReleaseAudioBufferImpl(void* opaque, uint8 |
63 |
// AVCodecContext.opaque to get the object reference in order to call |
64 |
// GetAudioBuffer() to do the actual allocation. |
65 |
static int GetAudioBuffer(struct AVCodecContext* s, AVFrame* frame, int flags) { |
66 |
- DCHECK(s->codec->capabilities & CODEC_CAP_DR1); |
67 |
+ DCHECK(s->codec->capabilities & AV_CODEC_CAP_DR1); |
68 |
DCHECK_EQ(s->codec_type, AVMEDIA_TYPE_AUDIO); |
69 |
|
70 |
// Since this routine is called by FFmpeg when a buffer is required for audio |
71 |
--- src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc.orig 2018-01-15 11:39:43 UTC |
72 |
+++ src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc |
73 |
@@ -415,12 +415,11 @@ bool FFmpegVideoDecoder::ConfigureDecoder(bool low_del |
74 |
codec_context_->thread_type = |
75 |
FF_THREAD_SLICE | (low_delay ? 0 : FF_THREAD_FRAME); |
76 |
codec_context_->opaque = this; |
77 |
- codec_context_->flags |= CODEC_FLAG_EMU_EDGE; |
78 |
codec_context_->get_buffer2 = GetVideoBufferImpl; |
79 |
codec_context_->refcounted_frames = 1; |
80 |
|
81 |
if (decode_nalus_) |
82 |
- codec_context_->flags2 |= CODEC_FLAG2_CHUNKS; |
83 |
+ codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS; |
84 |
|
85 |
AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id); |
86 |
if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) { |