Bug 1957480 - Apply mozilla patches for libvpx r=media-playback-reviewers,webrtc-reviewers,padenot,ng
Differential Revision: https://phabricator.services.mozilla.com/D248145
This commit is contained in:
committed by
cchang@mozilla.com
parent
947420ed52
commit
401e73a3a5
@@ -1004,11 +1004,20 @@ static vpx_codec_err_t vp8e_encode(vpx_codec_alg_priv_t *ctx,
|
|||||||
|
|
||||||
res = image2yuvconfig(img, &sd);
|
res = image2yuvconfig(img, &sd);
|
||||||
|
|
||||||
if (vp8_receive_raw_frame(ctx->cpi, ctx->next_frame_flag | lib_flags, &sd,
|
if (sd.y_width != ctx->cfg.g_w || sd.y_height != ctx->cfg.g_h) {
|
||||||
dst_time_stamp, dst_end_time_stamp)) {
|
/* from vpx_encoder.h for g_w/g_h:
|
||||||
|
"Note that the frames passed as input to the encoder must have this
|
||||||
|
resolution"
|
||||||
|
*/
|
||||||
|
ctx->base.err_detail = "Invalid input frame resolution";
|
||||||
|
res = VPX_CODEC_INVALID_PARAM;
|
||||||
|
} else {
|
||||||
|
if (vp8_receive_raw_frame(ctx->cpi, ctx->next_frame_flag | lib_flags,
|
||||||
|
&sd, dst_time_stamp, dst_end_time_stamp)) {
|
||||||
VP8_COMP *cpi = (VP8_COMP *)ctx->cpi;
|
VP8_COMP *cpi = (VP8_COMP *)ctx->cpi;
|
||||||
res = update_error_state(ctx, &cpi->common.error);
|
res = update_error_state(ctx, &cpi->common.error);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* reset for next frame */
|
/* reset for next frame */
|
||||||
ctx->next_frame_flag = 0;
|
ctx->next_frame_flag = 0;
|
||||||
|
|||||||
@@ -1467,6 +1467,14 @@ static vpx_codec_err_t encoder_encode(vpx_codec_alg_priv_t *ctx,
|
|||||||
timebase_units_to_ticks(timebase_in_ts, pts_end);
|
timebase_units_to_ticks(timebase_in_ts, pts_end);
|
||||||
res = image2yuvconfig(img, &sd);
|
res = image2yuvconfig(img, &sd);
|
||||||
|
|
||||||
|
if (sd.y_width != ctx->cfg.g_w || sd.y_height != ctx->cfg.g_h) {
|
||||||
|
/* from vpx_encoder.h for g_w/g_h:
|
||||||
|
"Note that the frames passed as input to the encoder must have this
|
||||||
|
resolution"
|
||||||
|
*/
|
||||||
|
ctx->base.err_detail = "Invalid input frame resolution";
|
||||||
|
res = VPX_CODEC_INVALID_PARAM;
|
||||||
|
} else {
|
||||||
// Store the original flags in to the frame buffer. Will extract the
|
// Store the original flags in to the frame buffer. Will extract the
|
||||||
// key frame flag when we actually encode this frame.
|
// key frame flag when we actually encode this frame.
|
||||||
if (vp9_receive_raw_frame(cpi, flags | ctx->next_frame_flags, &sd,
|
if (vp9_receive_raw_frame(cpi, flags | ctx->next_frame_flags, &sd,
|
||||||
@@ -1475,6 +1483,7 @@ static vpx_codec_err_t encoder_encode(vpx_codec_alg_priv_t *ctx,
|
|||||||
}
|
}
|
||||||
ctx->next_frame_flags = 0;
|
ctx->next_frame_flags = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cx_data = ctx->cx_data;
|
cx_data = ctx->cx_data;
|
||||||
cx_data_sz = ctx->cx_data_sz;
|
cx_data_sz = ctx->cx_data_sz;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !CONFIG_RUNTIME_CPU_DETECT
|
#if !CONFIG_RUNTIME_CPU_DETECT || defined(__OpenBSD__)
|
||||||
|
|
||||||
static int arm_get_cpu_caps(void) {
|
static int arm_get_cpu_caps(void) {
|
||||||
// This function should actually be a no-op. There is no way to adjust any of
|
// This function should actually be a no-op. There is no way to adjust any of
|
||||||
@@ -29,7 +29,7 @@ static int arm_get_cpu_caps(void) {
|
|||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(__APPLE__) // end !CONFIG_RUNTIME_CPU_DETECT
|
#elif defined(__APPLE__) // end !CONFIG_RUNTIME_CPU_DETECT || defined(__OpenBSD__)
|
||||||
|
|
||||||
// sysctlbyname() parameter documentation for instruction set characteristics:
|
// sysctlbyname() parameter documentation for instruction set characteristics:
|
||||||
// https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics
|
// https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics
|
||||||
|
|||||||
Reference in New Issue
Block a user