Re: [FFmpeg-devel] [PATCH 1/2] lavc/riffenc: Fix msrle support on Windows 95

2023-06-19 Thread Tomas Härdin
mån 2023-06-19 klockan 11:42 -0400 skrev Leo Izen:
> On 6/8/23 07:44, Tomas Härdin wrote:
> > tor 2023-06-08 klockan 13:27 +0200 skrev Paul B Mahol:
> > > But does this break it on other platforms?
> > 
> > That is a good question. What other RIFF decoders are there for
> > which
> > MSRLE support is important and depends on behavior different from
> > VfW?
> > mpv and vlc work just fine.
> > 
> > /Tomas
> > 
> 
> mpv's RIFF decoder is really avformat, so this doesn't say much. VLC
> has 
> its own though, iirc.

Yeah. Also we'd be hard pressed to find an msrle decoder that isn't
either ffmpeg, vlc or VfW

It might be necessary to do this same thing for more codecs. We only
tested msrle which was painful enough. I wouldn't be surprised if say
msvideo1 requires similar hacks. This patch is conservative until we
learn why VfW needs this.

/Tomas

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH 1/2] lavc/riffenc: Fix msrle support on Windows 95

2023-06-19 Thread Leo Izen

On 6/8/23 07:44, Tomas Härdin wrote:

tor 2023-06-08 klockan 13:27 +0200 skrev Paul B Mahol:

But does this break it on other platforms?


That is a good question. What other RIFF decoders are there for which
MSRLE support is important and depends on behavior different from VfW?
mpv and vlc work just fine.

/Tomas



mpv's RIFF decoder is really avformat, so this doesn't say much. VLC has 
its own though, iirc.


- Leo Izen

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH 1/2] lavc/riffenc: Fix msrle support on Windows 95

2023-06-19 Thread Tomas Härdin
Will push later today

/Tomas

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH 1/2] lavc/riffenc: Fix msrle support on Windows 95

2023-06-08 Thread Tomas Härdin
tor 2023-06-08 klockan 13:27 +0200 skrev Paul B Mahol:
> But does this break it on other platforms?

That is a good question. What other RIFF decoders are there for which
MSRLE support is important and depends on behavior different from VfW?
mpv and vlc work just fine.

/Tomas

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH 1/2] lavc/riffenc: Fix msrle support on Windows 95

2023-06-08 Thread Paul B Mahol
But does this break it on other platforms?
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-devel] [PATCH 1/2] lavc/riffenc: Fix msrle support on Windows 95

2023-06-08 Thread Tomas Härdin
This is important for the GoldSrc community among others.

/Tomas
From c5c2d535b3e5dc94b063e13359e475e9ce18e1b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= 
Date: Thu, 8 Jun 2023 11:55:28 +0200
Subject: [PATCH 1/2] lavc/riffenc: Fix msrle support on Windows 95

---
 libavformat/riffenc.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/riffenc.c b/libavformat/riffenc.c
index 179b0f12cb..3325419b94 100644
--- a/libavformat/riffenc.c
+++ b/libavformat/riffenc.c
@@ -239,14 +239,16 @@ void ff_put_bmp_header(AVIOContext *pb, AVCodecParameters *par,
 /* depth */
 avio_wl16(pb, par->bits_per_coded_sample ? par->bits_per_coded_sample : 24);
 /* compression type */
-avio_wl32(pb, par->codec_tag);
+// MSRLE compatibility with Media Player 3.1 and Windows 95
+avio_wl32(pb, par->codec_id == AV_CODEC_ID_MSRLE ? 1 : par->codec_tag);
 avio_wl32(pb, (par->width * par->height * (par->bits_per_coded_sample ? par->bits_per_coded_sample : 24)+7) / 8);
 avio_wl32(pb, 0);
 avio_wl32(pb, 0);
 /* Number of color indices in the color table that are used.
  * A value of 0 means 2^biBitCount indices, but this doesn't work
  * with Windows Media Player and files containing xxpc chunks. */
-avio_wl32(pb, pal_avi ? 1 << par->bits_per_coded_sample : 0);
+// MSRLE on Windows 95 requires a zero here
+avio_wl32(pb, pal_avi && par->codec_id != AV_CODEC_ID_MSRLE ? 1 << par->bits_per_coded_sample : 0);
 avio_wl32(pb, 0);
 
 if (!ignore_extradata) {
-- 
2.30.2

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".