Re: [FFmpeg-devel] [PATCH v2 1/5] avcodec/parser: merge packets from the same frame

2024-03-05 Thread Michael Niedermayer
Hi

On Mon, Mar 04, 2024 at 05:38:48PM +, Nicolas Gaullier wrote:
> >De : ffmpeg-devel  De la part de Michael 
> >Niedermayer
> >Envoyé : dimanche 3 mars 2024 23:07
> >À : FFmpeg development discussions and patches 
> >Objet : Re: [FFmpeg-devel] [PATCH v2 1/5] avcodec/parser: merge packets from 
> >the same frame
> >
> >On Fri, Mar 01, 2024 at 02:39:19PM +0100, Nicolas Gaullier wrote:
> >> The mpegts demuxer splits packets according to its max_packet_size.
> >> This currently fills the AVCodecParserContext s->cur_frame_* arrays 
> >> with kind of 'empty' entries: no pts/dts.
> >> This patch merges these entries, so the parser behaviour is 
> >> independent from the demuxer settings.
> >> This patch is required for the following patch which will fetch 'past'
> >> timestamps from past cur_frames.
> >> 
> >> Signed-off-by: Nicolas Gaullier 
> >> ---
> >>  libavcodec/parser.c | 4 
> >>  1 file changed, 4 insertions(+)
> >
> >Breaks fate-seek-lavf-as
> 
> Really sorry about that, I was not aware that assert-level=2 had to be 
> enabled to get full fate tests.
> Maybe this should be documented in the fate.texi.

patch welcome


> I also checked the green light on patchwork... It seems at least 
> assert-level=1 is not supposed to consume too much cpu, so maybe it could be 
> enabled for patchwork?

CCing Andriy


thx

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you fake or manipulate statistics in a paper in physics you will never
get a job again.
If you fake or manipulate statistics in a paper in medicin you will get
a job for life at the pharma industry.


signature.asc
Description: PGP signature
___
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 v2 1/5] avcodec/parser: merge packets from the same frame

2024-03-04 Thread Nicolas Gaullier
>De : ffmpeg-devel  De la part de Michael 
>Niedermayer
>Envoyé : dimanche 3 mars 2024 23:07
>À : FFmpeg development discussions and patches 
>Objet : Re: [FFmpeg-devel] [PATCH v2 1/5] avcodec/parser: merge packets from 
>the same frame
>
>On Fri, Mar 01, 2024 at 02:39:19PM +0100, Nicolas Gaullier wrote:
>> The mpegts demuxer splits packets according to its max_packet_size.
>> This currently fills the AVCodecParserContext s->cur_frame_* arrays 
>> with kind of 'empty' entries: no pts/dts.
>> This patch merges these entries, so the parser behaviour is 
>> independent from the demuxer settings.
>> This patch is required for the following patch which will fetch 'past'
>> timestamps from past cur_frames.
>> 
>> Signed-off-by: Nicolas Gaullier 
>> ---
>>  libavcodec/parser.c | 4 
>>  1 file changed, 4 insertions(+)
>
>Breaks fate-seek-lavf-as

Really sorry about that, I was not aware that assert-level=2 had to be enabled 
to get full fate tests.
Maybe this should be documented in the fate.texi.
I also checked the green light on patchwork... It seems at least assert-level=1 
is not supposed to consume too much cpu, so maybe it could be enabled for 
patchwork?

Thank you very much for taking time for this review.
Nicolas
___
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 v2 1/5] avcodec/parser: merge packets from the same frame

2024-03-03 Thread Michael Niedermayer
On Fri, Mar 01, 2024 at 02:39:19PM +0100, Nicolas Gaullier wrote:
> The mpegts demuxer splits packets according to its max_packet_size.
> This currently fills the AVCodecParserContext s->cur_frame_* arrays with
> kind of 'empty' entries: no pts/dts.
> This patch merges these entries, so the parser behaviour is independent
> from the demuxer settings.
> This patch is required for the following patch which will fetch 'past'
> timestamps from past cur_frames.
> 
> Signed-off-by: Nicolas Gaullier 
> ---
>  libavcodec/parser.c | 4 
>  1 file changed, 4 insertions(+)

Breaks fate-seek-lavf-as


--- ./tests/ref/seek/lavf-asf   2024-02-28 23:42:14.743496132 +0100
+++ tests/data/fate/seek-lavf-asf   2024-03-03 23:06:08.850893410 +0100
@@ -1,53 +0,0 @@
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st:-1 flags:0  ts:-1.00
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st:-1 flags:1  ts: 1.894167
-ret: 0 st: 1 flags:1 dts: 0.47 pts: 0.47 pos: 147893 size:   
209
-ret: 0 st: 0 flags:0  ts: 0.788000
-ret: 0 st: 1 flags:1 dts: 0.47 pts: 0.47 pos: 147893 size:   
209
-ret: 0 st: 0 flags:1  ts:-0.317000
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st: 1 flags:0  ts: 2.577000
-ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330293 size:   
209
-ret: 0 st: 1 flags:1  ts: 1.471000
-ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330293 size:   
209
-ret: 0 st:-1 flags:0  ts: 0.365002
-ret: 0 st: 1 flags:1 dts: 0.47 pts: 0.47 pos: 147893 size:   
209
-ret: 0 st:-1 flags:1  ts:-0.740831
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st: 0 flags:0  ts: 2.153000
-ret: 0 st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301493 size:   
209
-ret: 0 st: 0 flags:1  ts: 1.048000
-ret: 0 st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301493 size:   
209
-ret: 0 st: 1 flags:0  ts:-0.058000
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st: 1 flags:1  ts: 2.836000
-ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330293 size:   
209
-ret: 0 st:-1 flags:0  ts: 1.730004
-ret: 0 st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301493 size:   
209
-ret: 0 st:-1 flags:1  ts: 0.624171
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st: 0 flags:0  ts:-0.482000
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st: 0 flags:1  ts: 2.413000
-ret: 0 st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301493 size:   
209
-ret: 0 st: 1 flags:0  ts: 1.307000
-ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330293 size:   
209
-ret: 0 st: 1 flags:1  ts: 0.201000
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st:-1 flags:0  ts:-0.904994
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st:-1 flags:1  ts: 1.989173
-ret: 0 st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301493 size:   
209
-ret: 0 st: 0 flags:0  ts: 0.883000
-ret: 0 st: 1 flags:1 dts: 0.47 pts: 0.47 pos: 147893 size:   
209
-ret: 0 st: 0 flags:1  ts:-0.222000
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
-ret: 0 st: 1 flags:0  ts: 2.672000
-ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330293 size:   
209
-ret: 0 st: 1 flags:1  ts: 1.566000
-ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330293 size:   
209
-ret: 0 st:-1 flags:0  ts: 0.460008
-ret: 0 st: 1 flags:1 dts: 0.47 pts: 0.47 pos: 147893 size:   
209
-ret: 0 st:-1 flags:1  ts:-0.645825
-ret: 0 st: 1 flags:1 dts: 0.00 pts: 0.00 pos:693 size:   
208
Test seek-lavf-asf failed. Look at tests/data/fate/seek-lavf-asf.err for 
details.
[asf @ 0x5623c91f8280] asf_read_pts failed
[asf @ 0x5623c91f8280] asf_read_pts failed
[asf @ 0x5623c91f8280] asf_read_pts failed
[asf @ 0x5623c91f8280] asf_read_pts failed
[asf @ 0x5623c91f8280] asf_read_pts failed
[asf @ 0x5623c91f8280] asf_read_pts failed
[asf @ 0x5623c91f8280] asf_read_pts failed
[asf @ 0x5623c91f8280] asf_read_pts failed
Assertion pkt->pos == asf_st->packet_pos failed at libavformat/asfdec_f.c:1478
Aborted (core dumped)
threads=1
tests/Makefile:318: recipe for target 'fate-seek-lavf-asf' failed
make: *** [fate-seek-lavf-asf] Error 134

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When the tyrant has disposed of foreign enemies by conquest or treaty, and
there is nothing more to fear from them, then he 

[FFmpeg-devel] [PATCH v2 1/5] avcodec/parser: merge packets from the same frame

2024-03-01 Thread Nicolas Gaullier
The mpegts demuxer splits packets according to its max_packet_size.
This currently fills the AVCodecParserContext s->cur_frame_* arrays with
kind of 'empty' entries: no pts/dts.
This patch merges these entries, so the parser behaviour is independent
from the demuxer settings.
This patch is required for the following patch which will fetch 'past'
timestamps from past cur_frames.

Signed-off-by: Nicolas Gaullier 
---
 libavcodec/parser.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/parser.c b/libavcodec/parser.c
index efc28b8918..249f81d4bb 100644
--- a/libavcodec/parser.c
+++ b/libavcodec/parser.c
@@ -142,6 +142,7 @@ int av_parser_parse2(AVCodecParserContext *s, 
AVCodecContext *avctx,
 memset(dummy_buf, 0, sizeof(dummy_buf));
 buf = dummy_buf;
 } else if (s->cur_offset + buf_size != 
s->cur_frame_end[s->cur_frame_start_index]) { /* skip remainder packets */
+if (pos != s->cur_frame_pos[s->cur_frame_start_index] || pos <= 0 || 
pts != AV_NOPTS_VALUE ) {
 /* add a new packet descriptor */
 i = (s->cur_frame_start_index + 1) & (AV_PARSER_PTS_NB - 1);
 s->cur_frame_start_index = i;
@@ -150,6 +151,9 @@ int av_parser_parse2(AVCodecParserContext *s, 
AVCodecContext *avctx,
 s->cur_frame_pts[i]  = pts;
 s->cur_frame_dts[i]  = dts;
 s->cur_frame_pos[i]  = pos;
+} else {
+s->cur_frame_end[s->cur_frame_start_index] = s->cur_offset + 
buf_size;
+}
 }
 
 if (s->fetch_timestamp) {
-- 
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".