]> git.sesse.net Git - vlc/blobdiff - modules/codec/jpeg.c
Mark unreachable code on GCC even if NDEBUG
[vlc] / modules / codec / jpeg.c
index 7004fcd21f3f33e9678abd1a8a0d1532475dbb56..454ae95241f403d3986e5590b5068060187358f3 100644 (file)
@@ -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: