mirror of
https://github.com/roytam1/basilisk55.git
synced 2026-05-26 15:02:46 +00:00
ffvpx: update ffmpeg to 3.4.5
This commit is contained in:
@@ -7,10 +7,6 @@ Currently, we only use the vp8 and vp9 portion of the library, and only on x86
|
||||
based platforms. If this changes, configuration files will most likely
|
||||
need to be updated.
|
||||
|
||||
AVX2 must be disabled on Linux 32 bits due to the use of yasm 1.1 on the build bots.
|
||||
Once yasm is upgraded to 1.2 or later, AVX2 code could be re-enabled.
|
||||
Add --disable-avx2 to configure on those platforms.
|
||||
|
||||
configuration files were generated as follow using the configure script:
|
||||
./configure --disable-everything --disable-protocols --disable-demuxers --disable-muxers --disable-filters --disable-programs --disable-doc --disable-parsers --enable-parser=vp8 --enable-parser=vp9 --enable-decoder=vp8 --enable-decoder=vp9 --disable-static --enable-shared --disable-debug --disable-sdl2 --disable-libxcb --disable-securetransport --disable-iconv --disable-swresample --disable-swscale --disable-avdevice --disable-avfilter --disable-avformat --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-decoder=flac --enable-asm --enable-x86asm
|
||||
|
||||
@@ -18,13 +14,12 @@ config*:
|
||||
replace: /HAVE_(MALLOC_H|ARC4RANDOM|LOCALTIME_R|MEMALIGN|POSIX_MEMALIGN)/d
|
||||
|
||||
config_darwin32.h:
|
||||
add to configure command: --disable-asm --disable-yasm --cc='clang -m32'
|
||||
add to configure command: --disable-asm --disable-x86asm --cc='clang -m32'
|
||||
|
||||
config_unix32.h:
|
||||
add to configure command: --disable-asm --disable-x86asm --cc='clang -m32'
|
||||
replace: s/HAVE_SYSCTL 1/HAVE_SYSCTL 0/ and s/HAVE_MEMALIGN 1/HAVE_MEMALIGN 0/ and s/HAVE_POSIX_MEMALIGN 1/HAVE_POSIX_MEMALIGN 0/
|
||||
|
||||
|
||||
config_unix32.h/config_unix64.h/config_unix64.asm:
|
||||
replace: s/HAVE_SYSCTL 1/HAVE_SYSCTL 0
|
||||
|
||||
|
||||
@@ -150,10 +150,10 @@ static void ps_stereo_interpolate_c(INTFLOAT (*l)[2], INTFLOAT (*r)[2],
|
||||
INTFLOAT h1 = h[0][1];
|
||||
INTFLOAT h2 = h[0][2];
|
||||
INTFLOAT h3 = h[0][3];
|
||||
INTFLOAT hs0 = h_step[0][0];
|
||||
INTFLOAT hs1 = h_step[0][1];
|
||||
INTFLOAT hs2 = h_step[0][2];
|
||||
INTFLOAT hs3 = h_step[0][3];
|
||||
UINTFLOAT hs0 = h_step[0][0];
|
||||
UINTFLOAT hs1 = h_step[0][1];
|
||||
UINTFLOAT hs2 = h_step[0][2];
|
||||
UINTFLOAT hs3 = h_step[0][3];
|
||||
int n;
|
||||
|
||||
for (n = 0; n < len; n++) {
|
||||
|
||||
@@ -714,8 +714,14 @@ int ff_h264_decode_mb_cavlc(const H264Context *h, H264SliceContext *sl)
|
||||
cbp = 0; /* avoid warning. FIXME: find a solution without slowing
|
||||
down the code */
|
||||
if (sl->slice_type_nos != AV_PICTURE_TYPE_I) {
|
||||
if (sl->mb_skip_run == -1)
|
||||
sl->mb_skip_run = get_ue_golomb_long(&sl->gb);
|
||||
if (sl->mb_skip_run == -1) {
|
||||
unsigned mb_skip_run = get_ue_golomb_long(&sl->gb);
|
||||
if (mb_skip_run > h->mb_num) {
|
||||
av_log(h->avctx, AV_LOG_ERROR, "mb_skip_run %d is invalid\n", mb_skip_run);
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
sl->mb_skip_run = mb_skip_run;
|
||||
}
|
||||
|
||||
if (sl->mb_skip_run--) {
|
||||
if (FRAME_MBAFF(h) && (sl->mb_y & 1) == 0) {
|
||||
|
||||
@@ -806,6 +806,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h)
|
||||
}
|
||||
}
|
||||
|
||||
// Detect unmarked random access points
|
||||
if ( err >= 0
|
||||
&& h->long_ref_count==0
|
||||
&& ( h->short_ref_count<=2
|
||||
|
||||
@@ -98,6 +98,8 @@ static int mpegaudio_parse(AVCodecParserContext *s1,
|
||||
} else if (codec_id == AV_CODEC_ID_MP3ADU) {
|
||||
avpriv_report_missing_feature(avctx,
|
||||
"MP3ADU full parser");
|
||||
*poutbuf = NULL;
|
||||
*poutbuf_size = 0;
|
||||
return 0; /* parsers must not return error codes */
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,20 @@
|
||||
* @param gb GetBitContext
|
||||
* @param[in] stop The bitstop value (unary code of 1's or 0's)
|
||||
* @param[in] len Maximum length
|
||||
* @return Unary length/index
|
||||
* @return unary 0 based code index. This is also the length in bits of the
|
||||
* code excluding the stop bit.
|
||||
* (in case len=1)
|
||||
* 1 0
|
||||
* 0 1
|
||||
* (in case len=2)
|
||||
* 1 0
|
||||
* 01 1
|
||||
* 00 2
|
||||
* (in case len=3)
|
||||
* 1 0
|
||||
* 01 1
|
||||
* 001 2
|
||||
* 000 3
|
||||
*/
|
||||
static inline int get_unary(GetBitContext *gb, int stop, int len)
|
||||
{
|
||||
|
||||
@@ -158,7 +158,7 @@ static av_always_inline av_const int64_t av_clip64_c(int64_t a, int64_t amin, in
|
||||
*/
|
||||
static av_always_inline av_const uint8_t av_clip_uint8_c(int a)
|
||||
{
|
||||
if (a&(~0xFF)) return (-a)>>31;
|
||||
if (a&(~0xFF)) return (~a)>>31;
|
||||
else return a;
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ static av_always_inline av_const int8_t av_clip_int8_c(int a)
|
||||
*/
|
||||
static av_always_inline av_const uint16_t av_clip_uint16_c(int a)
|
||||
{
|
||||
if (a&(~0xFFFF)) return (-a)>>31;
|
||||
if (a&(~0xFFFF)) return (~a)>>31;
|
||||
else return a;
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@ static av_always_inline av_const int av_clip_intp2_c(int a, int p)
|
||||
*/
|
||||
static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p)
|
||||
{
|
||||
if (a & ~((1<<p) - 1)) return -a >> 31 & ((1<<p) - 1);
|
||||
if (a & ~((1<<p) - 1)) return (~a) >> 31 & ((1<<p) - 1);
|
||||
else return a;
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ AVInteger av_mul_i(AVInteger a, AVInteger b){
|
||||
|
||||
if(a.v[i])
|
||||
for(j=i; j<AV_INTEGER_SIZE && j-i<=nb; j++){
|
||||
carry= (carry>>16) + out.v[j] + a.v[i]*b.v[j-i];
|
||||
carry= (carry>>16) + out.v[j] + a.v[i]*(unsigned)b.v[j-i];
|
||||
out.v[j]= carry;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,10 @@
|
||||
* This is stored as BGRA on little-endian CPU architectures and ARGB on
|
||||
* big-endian CPUs.
|
||||
*
|
||||
* @note
|
||||
* If the resolution is not a multiple of the chroma subsampling factor
|
||||
* then the chroma plane resolution must be rounded up.
|
||||
*
|
||||
* @par
|
||||
* When the pixel format is palettized RGB32 (AV_PIX_FMT_PAL8), the palettized
|
||||
* image data is stored in AVFrame.data[0]. The palette is transported in
|
||||
|
||||
Reference in New Issue
Block a user