mirror of
https://github.com/mpv-player/mpv
synced 2025-04-11 04:01:31 +00:00
bitmap_packet: let max=0 mean unlimited
And remove the strange PACKER_MAX_WH define. This is more convenient for users which don't care about limits, such as sd_lavc.c.
This commit is contained in:
parent
07c11656e3
commit
0cf187caca
@ -150,7 +150,6 @@ static int init(struct sd *sd)
|
|||||||
priv->displayed_id = -1;
|
priv->displayed_id = -1;
|
||||||
priv->current_pts = MP_NOPTS_VALUE;
|
priv->current_pts = MP_NOPTS_VALUE;
|
||||||
priv->packer = talloc_zero(priv, struct bitmap_packer);
|
priv->packer = talloc_zero(priv, struct bitmap_packer);
|
||||||
priv->packer->w_max = priv->packer->h_max = PACKER_MAX_WH;
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
#include <libavutil/common.h>
|
#include <libavutil/common.h>
|
||||||
|
|
||||||
@ -170,10 +171,12 @@ int packer_pack(struct bitmap_packer *packer)
|
|||||||
}
|
}
|
||||||
return packer->w != w_orig || packer->h != h_orig;
|
return packer->w != w_orig || packer->h != h_orig;
|
||||||
}
|
}
|
||||||
if (packer->w <= packer->h && packer->w != packer->w_max)
|
int w_max = packer->w_max > 0 ? packer->w_max : INT_MAX;
|
||||||
packer->w = FFMIN(packer->w * 2, packer->w_max);
|
int h_max = packer->h_max > 0 ? packer->h_max : INT_MAX;
|
||||||
else if (packer->h != packer->h_max)
|
if (packer->w <= packer->h && packer->w != w_max)
|
||||||
packer->h = FFMIN(packer->h * 2, packer->h_max);
|
packer->w = FFMIN(packer->w * 2, w_max);
|
||||||
|
else if (packer->h != h_max)
|
||||||
|
packer->h = FFMIN(packer->h * 2, h_max);
|
||||||
else {
|
else {
|
||||||
packer->w = w_orig;
|
packer->w = w_orig;
|
||||||
packer->h = h_orig;
|
packer->h = h_orig;
|
||||||
|
@ -25,8 +25,6 @@ struct bitmap_packer {
|
|||||||
|
|
||||||
struct sub_bitmaps;
|
struct sub_bitmaps;
|
||||||
|
|
||||||
#define PACKER_MAX_WH 65536
|
|
||||||
|
|
||||||
// Clear all internal state. Leave the following fields: w_max, h_max
|
// Clear all internal state. Leave the following fields: w_max, h_max
|
||||||
void packer_reset(struct bitmap_packer *packer);
|
void packer_reset(struct bitmap_packer *packer);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user