X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcodec%2Fjpeg.c;h=454ae95241f403d3986e5590b5068060187358f3;hb=80d88b05f25b6386b067683fa0123f4931ce732a;hp=7004fcd21f3f33e9678abd1a8a0d1532475dbb56;hpb=e868212d51f4fdf5fa1dda7f44737586032ba848;p=vlc diff --git a/modules/codec/jpeg.c b/modules/codec/jpeg.c index 7004fcd21f..454ae95241 100644 --- a/modules/codec/jpeg.c +++ b/modules/codec/jpeg.c @@ -222,8 +222,8 @@ static picture_t *DecodeBlock(decoder_t *p_dec, block_t **pp_block) /* Set output properties */ p_dec->fmt_out.i_codec = VLC_CODEC_RGB24; - p_dec->fmt_out.video.i_width = p_sys->p_jpeg.output_width; - p_dec->fmt_out.video.i_height = p_sys->p_jpeg.output_height; + p_dec->fmt_out.video.i_visible_width = p_dec->fmt_out.video.i_width = p_sys->p_jpeg.output_width; + p_dec->fmt_out.video.i_visible_height = p_dec->fmt_out.video.i_height = p_sys->p_jpeg.output_height; p_dec->fmt_out.video.i_sar_num = 1; p_dec->fmt_out.video.i_sar_den = 1; p_dec->fmt_out.video.i_rmask = 0x000000ff; @@ -332,6 +332,10 @@ static block_t *EncodeBlock(encoder_t *p_enc, picture_t *p_pic) { encoder_sys_t *p_sys = p_enc->p_sys; + if (unlikely(!p_pic)) + { + return NULL; + } block_t *p_block = block_Alloc(p_sys->i_blocksize); if (p_block == NULL) { @@ -358,7 +362,9 @@ static block_t *EncodeBlock(encoder_t *p_enc, picture_t *p_pic) jpeg_set_colorspace(&p_sys->p_jpeg, JCS_YCbCr); p_sys->p_jpeg.raw_data_in = TRUE; +#if JPEG_LIB_VERSION >= 70 p_sys->p_jpeg.do_fancy_downsampling = FALSE; +#endif jpeg_set_quality(&p_sys->p_jpeg, p_sys->i_quality, TRUE); @@ -399,6 +405,8 @@ static block_t *EncodeBlock(encoder_t *p_enc, picture_t *p_pic) } free(p_row_pointers); + p_block->i_dts = p_block->i_pts = p_pic->date; + return p_block; error: