Bug 1921863 - Apply mozilla patches for libvpx r=chunmin

Differential Revision: https://phabricator.services.mozilla.com/D224146
This commit is contained in:
Updatebot 2024-10-02 01:16:01 +00:00
parent 4c42e5be43
commit 375af9e565
3 changed files with 29 additions and 11 deletions

View File

@ -994,10 +994,19 @@ static vpx_codec_err_t vp8e_encode(vpx_codec_alg_priv_t *ctx,
res = image2yuvconfig(img, &sd);
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;
res = update_error_state(ctx, &cpi->common.error);
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 {
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;
res = update_error_state(ctx, &cpi->common.error);
}
}
/* reset for next frame */

View File

@ -1466,13 +1466,22 @@ static vpx_codec_err_t encoder_encode(vpx_codec_alg_priv_t *ctx,
timebase_units_to_ticks(timebase_in_ts, pts_end);
res = image2yuvconfig(img, &sd);
// Store the original flags in to the frame buffer. Will extract the
// key frame flag when we actually encode this frame.
if (vp9_receive_raw_frame(cpi, flags | ctx->next_frame_flags, &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
// key frame flag when we actually encode this frame.
if (vp9_receive_raw_frame(cpi, flags | ctx->next_frame_flags, &sd,
dst_time_stamp, dst_end_time_stamp)) {
res = update_error_state(ctx, &cpi->common.error);
res = update_error_state(ctx, &cpi->common.error);
}
ctx->next_frame_flags = 0;
}
ctx->next_frame_flags = 0;
}
cx_data = ctx->cx_data;

View File

@ -16,7 +16,7 @@
#include <sys/sysctl.h>
#endif
#if !CONFIG_RUNTIME_CPU_DETECT
#if !CONFIG_RUNTIME_CPU_DETECT || defined(__OpenBSD__)
static int arm_get_cpu_caps(void) {
// 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;
}
#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:
// https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics