mirror of https://github.com/mpv-player/mpv
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->current_pts = MP_NOPTS_VALUE;
|
||||
priv->packer = talloc_zero(priv, struct bitmap_packer);
|
||||
priv->packer->w_max = priv->packer->h_max = PACKER_MAX_WH;
|
||||
return 0;
|
||||
|
||||
error:
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include <limits.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;
|
||||
}
|
||||
if (packer->w <= packer->h && packer->w != packer->w_max)
|
||||
packer->w = FFMIN(packer->w * 2, packer->w_max);
|
||||
else if (packer->h != packer->h_max)
|
||||
packer->h = FFMIN(packer->h * 2, packer->h_max);
|
||||
int w_max = packer->w_max > 0 ? packer->w_max : INT_MAX;
|
||||
int h_max = packer->h_max > 0 ? packer->h_max : INT_MAX;
|
||||
if (packer->w <= packer->h && packer->w != w_max)
|
||||
packer->w = FFMIN(packer->w * 2, w_max);
|
||||
else if (packer->h != h_max)
|
||||
packer->h = FFMIN(packer->h * 2, h_max);
|
||||
else {
|
||||
packer->w = w_orig;
|
||||
packer->h = h_orig;
|
||||
|
|
|
@ -25,8 +25,6 @@ struct bitmap_packer {
|
|||
|
||||
struct sub_bitmaps;
|
||||
|
||||
#define PACKER_MAX_WH 65536
|
||||
|
||||
// Clear all internal state. Leave the following fields: w_max, h_max
|
||||
void packer_reset(struct bitmap_packer *packer);
|
||||
|
||||
|
|
Loading…
Reference in New Issue