From a73b96ac79a19f54675290aa0fcc3a67de1356af Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Fri, 22 Nov 2024 14:59:29 +0100 Subject: [PATCH] Refresh libavcodec-parser.patch --- chromium-131-el8-libavcodec-parser.patch | 165 +++++++++++++++++++++++ 1 file changed, 165 insertions(+) diff --git a/chromium-131-el8-libavcodec-parser.patch b/chromium-131-el8-libavcodec-parser.patch index 3a29ec34..24da282f 100644 --- a/chromium-131-el8-libavcodec-parser.patch +++ b/chromium-131-el8-libavcodec-parser.patch @@ -523,3 +523,168 @@ + + +#endif /* AVCODEC_HEVC_HEVC_H */ +--- /dev/null 2024-11-22 07:51:33.845958571 +0100 ++++ chromium-131.0.6778.85/third_party/ffmpeg/libavutil/aarch64/intreadwrite.h 2024-11-19 23:48:50.697394400 +0100 +@@ -0,0 +1,42 @@ ++/* ++ * This file is part of FFmpeg. ++ * ++ * FFmpeg is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * FFmpeg is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with FFmpeg; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#ifndef AVUTIL_AARCH64_INTREADWRITE_H ++#define AVUTIL_AARCH64_INTREADWRITE_H ++ ++#if HAVE_INTRINSICS_NEON ++ ++#include ++ ++#define AV_COPY128 AV_COPY128 ++static av_always_inline void AV_COPY128(void *d, const void *s) ++{ ++ uint8x16_t tmp = vld1q_u8((const uint8_t *)s); ++ vst1q_u8((uint8_t *)d, tmp); ++} ++ ++#define AV_ZERO128 AV_ZERO128 ++static av_always_inline void AV_ZERO128(void *d) ++{ ++ uint8x16_t zero = vdupq_n_u8(0); ++ vst1q_u8((uint8_t *)d, zero); ++} ++ ++#endif /* HAVE_INTRINSICS_NEON */ ++ ++#endif /* AVUTIL_AARCH64_INTREADWRITE_H */ +--- /dev/null 2024-11-22 07:51:33.845958571 +0100 ++++ chromium-131.0.6778.85/third_party/ffmpeg/libavcodec/opus/enc.h 2024-11-19 23:48:49.631320000 +0100 +@@ -0,0 +1,55 @@ ++/* ++ * Opus encoder ++ * Copyright (c) 2017 Rostislav Pehlivanov ++ * ++ * This file is part of FFmpeg. ++ * ++ * FFmpeg is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * FFmpeg is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with FFmpeg; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#ifndef AVCODEC_OPUS_ENC_H ++#define AVCODEC_OPUS_ENC_H ++ ++#include "libavutil/intmath.h" ++#include "opus.h" ++ ++/* Determines the maximum delay the psychoacoustic system will use for lookahead */ ++#define FF_BUFQUEUE_SIZE 145 ++#include "libavfilter/bufferqueue.h" ++ ++#define OPUS_MAX_LOOKAHEAD ((FF_BUFQUEUE_SIZE - 1)*2.5f) ++ ++#define OPUS_MAX_CHANNELS 2 ++ ++/* 120 ms / 2.5 ms = 48 frames (extremely improbable, but the encoder'll work) */ ++#define OPUS_MAX_FRAMES_PER_PACKET 48 ++ ++#define OPUS_BLOCK_SIZE(x) (2 * 15 * (1 << ((x) + 2))) ++ ++#define OPUS_SAMPLES_TO_BLOCK_SIZE(x) (ff_log2((x) / (2 * 15)) - 2) ++ ++typedef struct OpusEncOptions { ++ float max_delay_ms; ++ int apply_phase_inv; ++} OpusEncOptions; ++ ++typedef struct OpusPacketInfo { ++ enum OpusMode mode; ++ enum OpusBandwidth bandwidth; ++ int framesize; ++ int frames; ++} OpusPacketInfo; ++ ++#endif /* AVCODEC_OPUS_ENC_H */ +--- /dev/null 2024-11-22 07:51:33.845958571 +0100 ++++ chromium-131.0.6778.85/third_party/ffmpeg/libavcodec/opus/opus.h 2024-11-19 23:48:49.631320000 +0100 +@@ -0,0 +1,59 @@ ++/* ++ * Opus common header ++ * Copyright (c) 2012 Andrew D'Addesio ++ * Copyright (c) 2013-2014 Mozilla Corporation ++ * ++ * This file is part of FFmpeg. ++ * ++ * FFmpeg is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * FFmpeg is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with FFmpeg; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#ifndef AVCODEC_OPUS_OPUS_H ++#define AVCODEC_OPUS_OPUS_H ++ ++#include ++ ++#define OPUS_MAX_FRAME_SIZE 1275 ++#define OPUS_MAX_FRAMES 48 ++#define OPUS_MAX_PACKET_DUR 5760 ++ ++#define OPUS_TS_HEADER 0x7FE0 // 0x3ff (11 bits) ++#define OPUS_TS_MASK 0xFFE0 // top 11 bits ++ ++static const uint8_t opus_default_extradata[30] = { ++ 'O', 'p', 'u', 's', 'H', 'e', 'a', 'd', ++ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++}; ++ ++enum OpusMode { ++ OPUS_MODE_SILK, ++ OPUS_MODE_HYBRID, ++ OPUS_MODE_CELT, ++ ++ OPUS_MODE_NB ++}; ++ ++enum OpusBandwidth { ++ OPUS_BANDWIDTH_NARROWBAND, ++ OPUS_BANDWIDTH_MEDIUMBAND, ++ OPUS_BANDWIDTH_WIDEBAND, ++ OPUS_BANDWIDTH_SUPERWIDEBAND, ++ OPUS_BANDWIDTH_FULLBAND, ++ ++ OPUS_BANDWITH_NB ++}; ++ ++#endif /* AVCODEC_OPUS_OPUS_H */