* [FFmpeg-devel] [PATCH] avformat/mpegtsenc: correct bitstream check
@ 2024-03-16 4:41 Gyan Doshi
2024-03-16 8:32 ` Marton Balint
0 siblings, 1 reply; 3+ messages in thread
From: Gyan Doshi @ 2024-03-16 4:41 UTC (permalink / raw)
To: ffmpeg-devel
8559cce3c3 made the bitstream check generic using a LUT.
However, one of the comparisons which involves a bitwise AND
and equality check is faulty due to operator precedence.
First reported and analysed at
https://github.com/streamlink/streamlink/issues/5876
Fixes #10908
---
libavformat/mpegtsenc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index 06e88e9879..b8efc535a7 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -2319,7 +2319,7 @@ static int mpegts_check_bitstream(AVFormatContext *s, AVStream *st,
pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 &&
(AV_RB24(pkt->data) != 0x000001 ||
(st->codecpar->extradata_size > 0 &&
- (st->codecpar->extradata[0] & e->mask == e->value))))
+ ((st->codecpar->extradata[0] & e->mask) == e->value))))
return ff_stream_add_bitstream_filter(st, e->bsf_name, NULL);
}
return 1;
--
2.44.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/mpegtsenc: correct bitstream check
2024-03-16 4:41 [FFmpeg-devel] [PATCH] avformat/mpegtsenc: correct bitstream check Gyan Doshi
@ 2024-03-16 8:32 ` Marton Balint
2024-03-16 9:01 ` Gyan Doshi
0 siblings, 1 reply; 3+ messages in thread
From: Marton Balint @ 2024-03-16 8:32 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Sat, 16 Mar 2024, Gyan Doshi wrote:
> 8559cce3c3 made the bitstream check generic using a LUT.
> However, one of the comparisons which involves a bitwise AND
> and equality check is faulty due to operator precedence.
>
> First reported and analysed at
> https://github.com/streamlink/streamlink/issues/5876
>
> Fixes #10908
> ---
> libavformat/mpegtsenc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
> index 06e88e9879..b8efc535a7 100644
> --- a/libavformat/mpegtsenc.c
> +++ b/libavformat/mpegtsenc.c
> @@ -2319,7 +2319,7 @@ static int mpegts_check_bitstream(AVFormatContext *s, AVStream *st,
> pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 &&
> (AV_RB24(pkt->data) != 0x000001 ||
> (st->codecpar->extradata_size > 0 &&
> - (st->codecpar->extradata[0] & e->mask == e->value))))
> + ((st->codecpar->extradata[0] & e->mask) == e->value))))
> return ff_stream_add_bitstream_filter(st, e->bsf_name, NULL);
> }
> return 1;
> --
LGTM, thanks.
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/mpegtsenc: correct bitstream check
2024-03-16 8:32 ` Marton Balint
@ 2024-03-16 9:01 ` Gyan Doshi
0 siblings, 0 replies; 3+ messages in thread
From: Gyan Doshi @ 2024-03-16 9:01 UTC (permalink / raw)
To: ffmpeg-devel
On 2024-03-16 02:02 pm, Marton Balint wrote:
>
>
> On Sat, 16 Mar 2024, Gyan Doshi wrote:
>
>> 8559cce3c3 made the bitstream check generic using a LUT.
>> However, one of the comparisons which involves a bitwise AND
>> and equality check is faulty due to operator precedence.
>>
>> First reported and analysed at
>> https://github.com/streamlink/streamlink/issues/5876
>>
>> Fixes #10908
>> ---
>> libavformat/mpegtsenc.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
>> index 06e88e9879..b8efc535a7 100644
>> --- a/libavformat/mpegtsenc.c
>> +++ b/libavformat/mpegtsenc.c
>> @@ -2319,7 +2319,7 @@ static int
>> mpegts_check_bitstream(AVFormatContext *s, AVStream *st,
>> pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 &&
>> (AV_RB24(pkt->data) != 0x000001 ||
>> (st->codecpar->extradata_size > 0 &&
>> - (st->codecpar->extradata[0] & e->mask ==
>> e->value))))
>> + ((st->codecpar->extradata[0] & e->mask) ==
>> e->value))))
>> return ff_stream_add_bitstream_filter(st, e->bsf_name,
>> NULL);
>> }
>> return 1;
>> --
>
> LGTM, thanks.
Thanks. Pushed as f5441e441f9b0d235e49bdccc69e141ccd92e854
Regards,
Gyan
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-03-16 9:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-16 4:41 [FFmpeg-devel] [PATCH] avformat/mpegtsenc: correct bitstream check Gyan Doshi
2024-03-16 8:32 ` Marton Balint
2024-03-16 9:01 ` Gyan Doshi
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git