# include "config.h"
#endif
-#include <ctype.h>
#include <errno.h>
#include <vlc_common.h>
if( !p_fmt_out->i_chroma )
p_fmt_out->i_chroma = p_image->p_dec->fmt_out.video.i_chroma;
if( !p_fmt_out->i_width && p_fmt_out->i_height )
- p_fmt_out->i_width = p_fmt_out->i_height
- * p_image->p_dec->fmt_out.video.i_aspect
- / VOUT_ASPECT_FACTOR;
+ p_fmt_out->i_width = (int64_t)p_image->p_dec->fmt_out.video.i_width *
+ p_image->p_dec->fmt_out.video.i_sar_num *
+ p_fmt_out->i_height /
+ p_image->p_dec->fmt_out.video.i_height /
+ p_image->p_dec->fmt_out.video.i_sar_den;
+
if( !p_fmt_out->i_height && p_fmt_out->i_width )
- p_fmt_out->i_height = p_fmt_out->i_width * VOUT_ASPECT_FACTOR
- / p_image->p_dec->fmt_out.video.i_aspect;
+ p_fmt_out->i_height = (int64_t)p_image->p_dec->fmt_out.video.i_height *
+ p_image->p_dec->fmt_out.video.i_sar_den *
+ p_fmt_out->i_width /
+ p_image->p_dec->fmt_out.video.i_width /
+ p_image->p_dec->fmt_out.video.i_sar_num;
if( !p_fmt_out->i_width )
p_fmt_out->i_width = p_image->p_dec->fmt_out.video.i_width;
if( !p_fmt_out->i_height )
p_fmt_out->i_height = p_fmt_out->i_visible_height = p_fmt_in->i_height;
if( !p_fmt_out->i_sar_num ) p_fmt_out->i_sar_num = p_fmt_in->i_sar_num;
if( !p_fmt_out->i_sar_den ) p_fmt_out->i_sar_den = p_fmt_in->i_sar_den;
- if( !p_fmt_out->i_aspect ) p_fmt_out->i_aspect = p_fmt_in->i_aspect;
if( p_image->p_filter )
if( p_image->p_filter->fmt_in.video.i_chroma != p_fmt_in->i_chroma ||
{ VLC_CODEC_TIFF, "tif" },
{ VLC_CODEC_TIFF, "tiff" },
{ VLC_FOURCC('l','b','m',' '), "lbm" },
+ { VLC_CODEC_PPM, "ppm" },
{ 0, NULL }
};
static picture_t *video_new_buffer( decoder_t *p_dec )
{
p_dec->fmt_out.video.i_chroma = p_dec->fmt_out.i_codec;
- return picture_New( p_dec->fmt_out.video.i_chroma,
- p_dec->fmt_out.video.i_width,
- p_dec->fmt_out.video.i_height,
- p_dec->fmt_out.video.i_aspect );
+ return picture_NewFromFormat( &p_dec->fmt_out.video );
}
static void video_del_buffer( decoder_t *p_dec, picture_t *p_pic )
p_dec->p_module = module_need( p_dec, "decoder", "$codec", false );
if( !p_dec->p_module )
{
- msg_Err( p_dec, "no suitable decoder module for fourcc `%4.4s'.\n"
+ msg_Err( p_dec, "no suitable decoder module for fourcc `%4.4s'. "
"VLC probably does not support this image format.",
(char*)&p_dec->fmt_in.i_codec );