mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-20 04:02:27 +00:00
multimedia/libav: update to 12.3
While here, convert to USES=localbase Release notes: https://libav.org/releases/libav-12.3.release PR: 233557 Submitted by: takefu@airport.fm Approved by: dem.procopiou@gmail.com (maintainer, timeout)
This commit is contained in:
parent
592b2a2b25
commit
6588eaea19
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=487203
@ -1,8 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= libav
|
||||
PORTVERSION= 12.1
|
||||
PORTREVISION= 8
|
||||
PORTVERSION= 12.3
|
||||
CATEGORIES= multimedia audio ipv6 net
|
||||
MASTER_SITES= http://libav.org/releases/
|
||||
|
||||
@ -20,14 +19,15 @@ LIB_DEPENDS= libopencv_core.so:graphics/opencv-core \
|
||||
libvdpau.so:multimedia/libvdpau \
|
||||
libhogweed.so:security/nettle
|
||||
|
||||
USES= cpe gmake perl5 pkgconfig tar:xz
|
||||
USES= cpe gmake localbase perl5 pkgconfig tar:xz
|
||||
|
||||
USE_XORG= x11
|
||||
HAS_CONFIGURE= yes
|
||||
USE_PERL5= build
|
||||
USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME}
|
||||
|
||||
HAS_CONFIGURE= yes
|
||||
NOPRECIOUSMAKEVARS= yes # ARCH
|
||||
|
||||
CPPFLAGS+= -I${LOCALBASE}/include
|
||||
CONFIGURE_ARGS= --prefix="${PREFIX}" \
|
||||
--libdir="${PREFIX}/lib/${PORTNAME}" \
|
||||
--shlibdir="${PREFIX}/lib/${PORTNAME}" \
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1495507159
|
||||
SHA256 (libav-12.1.tar.xz) = fad96aa265d3d64b9e53c159559621ec888effa022908da8372164fa4cbe5d2d
|
||||
SIZE (libav-12.1.tar.xz) = 5267292
|
||||
TIMESTAMP = 1543298830
|
||||
SHA256 (libav-12.3.tar.xz) = 6893cdbd7bc4b62f5d8fd6593c8e0a62babb53e323fbc7124db3658d04ab443b
|
||||
SIZE (libav-12.3.tar.xz) = 5267988
|
||||
|
71
multimedia/libav/files/patch-libavcodec_libfdk-aacenc.c
Normal file
71
multimedia/libav/files/patch-libavcodec_libfdk-aacenc.c
Normal file
@ -0,0 +1,71 @@
|
||||
--- libavcodec/libfdk-aacenc.c.orig 2018-02-12 21:25:59 UTC
|
||||
+++ libavcodec/libfdk-aacenc.c
|
||||
@@ -26,6 +26,11 @@
|
||||
#include "audio_frame_queue.h"
|
||||
#include "internal.h"
|
||||
|
||||
+#define FDKENC_VER_AT_LEAST(vl0, vl1) \
|
||||
+ (defined(AACENCODER_LIB_VL0) && \
|
||||
+ ((AACENCODER_LIB_VL0 > vl0) || \
|
||||
+ (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1)))
|
||||
+
|
||||
typedef struct AACContext {
|
||||
const AVClass *class;
|
||||
HANDLE_AACENCODER handle;
|
||||
@@ -286,7 +291,11 @@ static av_cold int aac_encode_init(AVCod
|
||||
}
|
||||
|
||||
avctx->frame_size = info.frameLength;
|
||||
+#if FDKENC_VER_AT_LEAST(4, 0)
|
||||
+ avctx->initial_padding = info.nDelay;
|
||||
+#else
|
||||
avctx->initial_padding = info.encoderDelay;
|
||||
+#endif
|
||||
ff_af_queue_init(avctx, &s->afq);
|
||||
|
||||
if (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
|
||||
@@ -319,28 +328,35 @@ static int aac_encode_frame(AVCodecConte
|
||||
int out_buffer_size, out_buffer_element_size;
|
||||
void *in_ptr, *out_ptr;
|
||||
int ret;
|
||||
+ uint8_t dummy_buf[1];
|
||||
AACENC_ERROR err;
|
||||
|
||||
/* handle end-of-stream small frame and flushing */
|
||||
if (!frame) {
|
||||
+ /* Must be a non-null pointer, even if it's a dummy. We could use
|
||||
+ * the address of anything else on the stack as well. */
|
||||
+ in_ptr = dummy_buf;
|
||||
+ in_buffer_size = 0;
|
||||
+
|
||||
in_args.numInSamples = -1;
|
||||
} else {
|
||||
- in_ptr = frame->data[0];
|
||||
- in_buffer_size = 2 * avctx->channels * frame->nb_samples;
|
||||
- in_buffer_element_size = 2;
|
||||
+ in_ptr = frame->data[0];
|
||||
+ in_buffer_size = 2 * avctx->channels * frame->nb_samples;
|
||||
|
||||
- in_args.numInSamples = avctx->channels * frame->nb_samples;
|
||||
- in_buf.numBufs = 1;
|
||||
- in_buf.bufs = &in_ptr;
|
||||
- in_buf.bufferIdentifiers = &in_buffer_identifier;
|
||||
- in_buf.bufSizes = &in_buffer_size;
|
||||
- in_buf.bufElSizes = &in_buffer_element_size;
|
||||
+ in_args.numInSamples = avctx->channels * frame->nb_samples;
|
||||
|
||||
/* add current frame to the queue */
|
||||
if ((ret = ff_af_queue_add(&s->afq, frame)) < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+ in_buffer_element_size = 2;
|
||||
+ in_buf.numBufs = 1;
|
||||
+ in_buf.bufs = &in_ptr;
|
||||
+ in_buf.bufferIdentifiers = &in_buffer_identifier;
|
||||
+ in_buf.bufSizes = &in_buffer_size;
|
||||
+ in_buf.bufElSizes = &in_buffer_element_size;
|
||||
+
|
||||
/* The maximum packet size is 6144 bits aka 768 bytes per channel. */
|
||||
if ((ret = ff_alloc_packet(avpkt, FFMAX(8192, 768 * avctx->channels)))) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Error getting output packet\n");
|
Loading…
Reference in New Issue
Block a user