mirror of https://git.ffmpeg.org/ffmpeg.git
imgconvert: Implement avcodec_find_best_pix_fmt_of_list()
The old avcodec_find_best_pix_fmt() was insufficient due to 64 pix_fmt limit. In ffmpeg this problem has been solved long ago through avcodec_find_best_pix_fmt2() Today libav has added a incompatible modified version of avcodec_find_best_pix_fmt2() under the same name, thus again breaking ABI/API ... The avcodec_find_best_pix_fmt_of_list() added in this commit here makes the libav API available to ffmpeg users too. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
23bb85b069
commit
72743aef03
|
@ -576,6 +576,19 @@ enum PixelFormat avcodec_find_best_pix_fmt2(enum PixelFormat dst_pix_fmt1, enum
|
||||||
return dst_pix_fmt;
|
return dst_pix_fmt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum PixelFormat avcodec_find_best_pix_fmt_of_list(enum PixelFormat *pix_fmt_list,
|
||||||
|
enum PixelFormat src_pix_fmt,
|
||||||
|
int has_alpha, int *loss_ptr){
|
||||||
|
int i;
|
||||||
|
|
||||||
|
enum PixelFormat best = PIX_FMT_NONE;
|
||||||
|
|
||||||
|
for(i=0; pix_fmt_list[i] != PIX_FMT_NONE; i++)
|
||||||
|
best = avcodec_find_best_pix_fmt2(best, pix_fmt_list[i], src_pix_fmt, has_alpha, loss_ptr);
|
||||||
|
|
||||||
|
return best;
|
||||||
|
}
|
||||||
|
|
||||||
void av_picture_copy(AVPicture *dst, const AVPicture *src,
|
void av_picture_copy(AVPicture *dst, const AVPicture *src,
|
||||||
enum PixelFormat pix_fmt, int width, int height)
|
enum PixelFormat pix_fmt, int width, int height)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue