Falling back to 3 bytes broke the buffer allocation for BMP with ffmpeg, which
defaults to RGBA.
Fixes #9687
* bits_per_pixel value, without having to assume anything.
*/
const int bytesPerPixel = p_enc->fmt_out.video.i_bits_per_pixel ?
- p_enc->fmt_out.video.i_bits_per_pixel / 8 : 3;
+ p_enc->fmt_out.video.i_bits_per_pixel / 8 :
+ p_sys->p_context->bits_per_coded_sample ?
+ p_sys->p_context->bits_per_coded_sample / 8 :
+ 3;
+
const int blocksize = __MAX( FF_MIN_BUFFER_SIZE,bytesPerPixel * p_sys->p_context->height * p_sys->p_context->width + 200 );
block_t *p_block = block_Alloc( blocksize );
if( unlikely(p_block == NULL) )