mirrored from git://anongit.freedesktop.org/gstreamer/gst-omx
-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathChangeLog
8029 lines (5893 loc) · 279 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
=== release 1.19.2 ===
2021-09-23 01:36:02 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:
* meson.build:
Release 1.19.2
2021-07-09 15:14:15 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideodec.c:
omxvideodec: fix OMX flags on header buffer
The header (SPS/PPS) buffer should have the CODECONFIG flag
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
2021-07-09 14:52:59 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideodec.c:
omxvideodec: allow to start decoder on HEADER buffer
If the headers are sent in their own buffer
it won't have the SYNC_FRAME flag but we still
do want to start decoding rather than dropping it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
2018-09-06 21:56:57 +0000 Nicolas Dufresne <[email protected]>
* omx/gstomx.c:
* omx/gstomxh264dec.c:
* omx/gstomxh265dec.c:
* omx/gstomxvideodec.c:
omxh26xdec: videodecoder support subframe
Use of subframe API from videodecoder base class.
This subframe allows to decode subframe instead of
waiting for a whole frame.
The subframe uses the same frame over the whole
subframe passing process and will wait
for a signal to know the last subframe.
In this implementation it will use
GST_VIDEO_BUFFER_FLAG_MARKER as the
end of batch of subframes.
This implement subframe mode negotation for the Zynq based on caps
negotation. This mode can be combined with low-latency mode, in order to
reach the lowest possible latency (assuming the stream is within the
low-latency constraints for the HW).
... ! video/x-h264,alignment=nal ! omxh264dec ! ...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
2021-06-01 15:29:18 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
Back to development
=== release 1.19.1 ===
2021-06-01 00:16:41 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:
* meson.build:
Release 1.19.1
2020-11-04 18:48:13 +0530 Nirbheek Chauhan <[email protected]>
* meson.build:
meson: Enable some MSVC warnings for parity with GCC/Clang
This makes it easier to do development with MSVC by making it warn
on common issues that GCC/Clang error out for in our CI configuration.
Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/75>
2020-10-16 12:45:09 +0200 Stéphane Cerveau <[email protected]>
* examples/egl/testegl.c:
* meson.build:
meson: update glib minimum version to 2.56
In order to support the symbol g_enum_to_string in various
project using GStreamer ( gst-validate etc.), the glib minimum
version should be 2.56.0.
Remove compat code as glib requirement
is now > 2.56
Version used by Ubuntu 18.04 LTS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/74>
2020-10-05 12:32:10 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideodec.c:
omxvideodec: support interlace-mode=interleaved input
interlace-mode=alternate is a special case of interlace-mode=interleaved
where the fields are split using two different buffers.
The Zynq decoder always produces alternate content and we
used to assume that upstream will set interlace-mode=alternate in its
caps as well.
This is no longer the case as h265parse is now setting
alternate-mode=interleaved on alternate content to not break compat with
elements not supporting alternate.
As a result the decoder now accept both 'interleaved' and 'alternate' on
its input and ensures that its ouput has interlace-mode=alternate.
Needed to fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/72>
2020-09-08 17:31:06 +0100 Tim-Philipp Müller <[email protected]>
* .gitlab-ci.yml:
ci: include template from gst-ci master branch again
2020-09-08 16:59:09 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
Back to development
=== release 1.18.0 ===
2020-09-08 00:10:02 +0100 Tim-Philipp Müller <[email protected]>
* .gitlab-ci.yml:
* ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:
* meson.build:
Release 1.18.0
2020-08-27 17:19:44 +0100 Tim-Philipp Müller <[email protected]>
* config/tizonia/meson.build:
meson: fix Tizonia build
Was failing for release versions with
meson.build:414:10: ERROR: Can not set values on configuration object that has been used.
Caused by !69, but CI didn't notice at the time because it was set to a git version.
=== release 1.17.90 ===
2020-08-20 16:16:35 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:
* meson.build:
Release 1.17.90
2020-07-08 17:39:20 +0100 Tim-Philipp Müller <[email protected]>
* gst-omx.doap:
* meson.build:
* scripts/extract-release-date-from-doap-file.py:
meson: set release date from .doap file for releases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/69>
2020-07-03 02:04:16 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
Back to development
=== release 1.17.2 ===
2020-07-03 00:37:06 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:
* meson.build:
Release 1.17.2
2020-06-20 00:28:37 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
Back to development
=== release 1.17.1 ===
2020-06-19 19:27:38 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:
* meson.build:
Release 1.17.1
2020-06-16 01:20:27 +0530 Nirbheek Chauhan <[email protected]>
* docs/gst_plugins_cache.json:
docs: Update plugin cache json
https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3109574
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/68>
2020-06-03 22:24:09 -0400 Thibault Saunier <[email protected]>
* docs/gst_plugins_cache.json:
docs: Update documentation cache
2019-12-23 18:23:55 -0800 Dylan Yip <[email protected]>
* omx/gstomx.c:
omx: Add latest OMX_ALG_Index's to omx_index_type_to_str
Add following indexes to omx_index_type_to_str:
OMX_ALG_IndexParamVideoAccessUnitDelimiter
OMX_ALG_IndexParamVideoBufferingPeriodSEI
OMX_ALG_IndexParamVideoPictureTimingSEI
OMX_ALG_IndexParamVideoRecoveryPointSEI
OMX_ALG_IndexParamVideoMasteringDisplayColourVolumeSEI
OMX_ALG_IndexParamVideoContentLightLevelSEI
OMX_ALG_IndexConfigVideoRegionOfInterestByValue
OMX_ALG_IndexConfigVideoColorPrimaries
2020-05-20 17:05:33 +0200 Stéphane Cerveau <[email protected]>
* omx/gstomx.c:
zynq: change API to use public 2020.01 from vcu-omx-il
This new release 2020.01 fixes an API typo
Change to OMX_ALG_IndexConfigVideoHighDynamicRangeSEI
instead of OMX_ALG_IndexConfigVideoHighDynamicRangeSEIs
among others.
2017-12-27 17:18:54 +0100 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: factor out gst_omx_video_enc_allocate_out_buffers()
No semantic change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/66>
2020-04-10 11:47:03 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxh265enc.c:
* omx/gstomxvideo.c:
* omx/gstomxvideo.h:
* omx/gstomxvideodec.c:
* omx/gstomxvideoenc.c:
omxvideoenc: remove unsupported formats from caps template
Our encoder implementation actually supports a small subset of the
formats supported by the decoder. Those are the formats for which we
have a copy path in gst_omx_video_enc_fill_buffer() and which are not
filtered out in filter_supported_formats().
2020-04-10 09:59:02 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideo.h:
video: remove BGR from supported format
It's not supported by either decoder or encoder and is even not listed in
gst_omx_video_get_format_from_omx() so it can't work.
2020-04-10 10:21:16 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: add GRAY8 support
It's supported by Zynq encoder and was already in the sink caps
template.
2020-04-10 11:18:49 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: factor out gst_omx_video_enc_copy_plane()
No semantic change, I'm going to use it to copy GRAY8 buffers which is
actually a single plane 8-bits format.
2020-04-10 10:58:34 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: use gst_video_meta_get_plane_height() to compute slice height
This new API saves us from doing manual computation and actually work
with single planar formats, such as GRAY8.
2020-04-07 19:59:12 +0200 Stéphane Cerveau <[email protected]>
* omx/gstomxh264enc.c:
* omx/gstomxh265enc.c:
* omx/gstomxvideo.c:
* omx/gstomxvideoenc.c:
omxh26xenc: fix coverity with frame test
Coverity was complaining with:
Null pointer dereferences (REVERSE_INULL) Null-checking "frame"
suggests that it may be null, but it has already been
dereferenced on all paths leading to the check.
The frame == NULL has been removed as 'frame' is actively used
in the code above without any change of dereferencing and setting
its value to NULL before the test.
CID: 1461287
2020-03-19 16:23:41 +0100 Stéphane Cerveau <[email protected]>
* omx/gstomxvideoenc.c:
gstomxvideoenc: fix subframe output_buffer
Using more than 1 subframes was failing with
frame->output_buffer = NULL
2020-02-06 10:21:49 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideodec.c:
omxvideodec: add support of alternate interlace mode on zynq
2020-02-06 10:11:13 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxh265enc.c:
* omx/gstomxvideoenc.c:
omxvideoenc: add support of alternate interlace mode on zynq
It's only supported by the Zynq HEVC encoder for now.
2020-02-06 10:12:50 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
omx: add alternate flags to buffer_flags_map
Zynq specific flags used to tag top/bottom fields in alternate mode.
2020-02-06 09:57:48 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideo.c:
* omx/gstomxvideoenc.c:
omxvideo(enc): use GST_VIDEO_INFO_FIELD_RATE_N()
Does not change anything for now but will be needed when we'll support
interlace-mode=alternate as the field rate will be twice the frame rate.
Made the code safe from division by 0 while I was on it.
2020-02-06 09:36:20 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideodec.c:
* omx/gstomxvideoenc.c:
omxvideo{enc,dec}: use GST_VIDEO_INFO_FIELD_HEIGHT()
Does not change anything for now but will be needed when we'll support
interlace-mode=alternate as the fields will have half the frame height.
2020-02-25 10:45:47 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
omx: don't log error when failing to load conf file with generic target
The generic target is meant to only test building gst-omx. It doesn't
provide any configuration file and so is not supposed to register any
element.
I'm not aware of any user building gst-omx with this target and
providing their own conf file to actually register elements. But best to
not break this use case anyway so let's just downgrade the log message.
Fix GST_ERROR in the 'check fedora' CI job.
2020-01-27 11:56:53 +0100 Stéphane Cerveau <[email protected]>
* meson.build:
meson: add glib project fallback
Add a fallback from glib project to provide glib, gio and
gmodule dependencies.
2020-01-15 11:06:12 +0000 Stéphane Cerveau <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: fix warning
Fix warning test when OMX_BUFFERFLAG_ENDOFFRAME
is not set.
2018-08-28 13:03:14 -0700 Varunkumar Allagadapa <[email protected]>
* omx/gstomxvideoenc.c:
* omx/gstomxvideoenc.h:
omxvideoenc: Add look-ahead property to ZYNQ_USCALE_PLUS encoder
This patch adds look-ahead property to encoder
The value indicates look ahead size in frames,
the number of frames processed ahead of second pass encoding.
Dual pass encoding is disabled if look-ahead
value is less than 2.
2018-08-06 13:02:41 -0700 Varunkumar Allagadapa <[email protected]>
* omx/gstomxvideoenc.c:
* omx/gstomxvideoenc.h:
omxvideoenc: Add long-term-ref support to ZYNQ_USCALE_PLUS encoder
Custom API that upstream elements can use to notify encoders about
marking longterm ref. pictures or using longterm ref. pictures in
encoding process.
This patch adds below properties:
long-term-ref: Enable/Disable dynamically marking long-term
reference pictures in encoding process
long-term-freq: Periodicity of long-term reference picture
marking in encoding process.
If a picture is marked as long-term reference picture then it remains
in the DPB list for ever unless it overrides with new long-term pitcure with
same index. Encoder can use this long-term picture as refence for
encoding.
This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
when packet loss happens. Instead of requesting for IDR, client can request for use long-term
reference picture for encoding.
2020-01-07 10:24:19 +0530 Guillaume Desmottes <[email protected]>
* meson.build:
meson: display OMX target when configuring
I'm adding more gst-omx CI (
https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/20 ) having the
OMX targets displayed in the logs makes things clearer.
2019-08-30 10:27:32 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
omx: remove useless double negations
flush and port->flushing are both gboolean.
2019-12-20 22:19:06 -0800 Julien Isorce <[email protected]>
* meson.build:
meson: fix tizonia build
meson.build was both using path to gst-omx/openmax/OMX*
headers and path to OMX headers provided by tizilheaders.pc
so this patch makes sure we only use the later.
Also bump tizonia minimum version to 0.19.0 which
is the latest release.
2019-05-16 10:50:18 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxh265enc.c:
* omx/gstomxh265enc.h:
omxh265enc: handle CODECCONFIG buffers
Exact same code as omxh264enc.
2019-05-16 10:38:49 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxh264enc.c:
omxh264enc: send codec data downstream
We are operating in stream-format=byte-stream so the codec data buffer
is meant to be part of the buffer flow.
The base class will push it when a key frame is requested (as we stored
it with gst_video_encoder_set_headers()) but we still have to push it
right away as part of the normal buffer flow.
Also set the HEADER flag on this buffer.
2019-05-16 10:38:49 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxh264enc.c:
omxh264enc: no need to check if codeconfig has startcode
We currently only support stream-format=byte-stream so there is no point
re-checking for it when handling CODECCONFIG buffer.
2018-09-04 20:12:17 +0000 Nicolas Dufresne <[email protected]>
* omx/gstomxh264enc.c:
* omx/gstomxh265enc.c:
omxh26xenc: Negotiate subframe mode
We now negotiate subframe mode through the caps. To enabled subframe
mode, the caps need to specify alignment=nal:
... ! omxh264enc ! video/x-h264,alignment=nal ! ...
... ! omxh265enc ! video/x-h265,alignment=nal ! ...
2018-08-31 12:24:34 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: use subframe base class API
Use subframe base class support.
2018-09-04 19:34:59 +0000 Nicolas Dufresne <[email protected]>
* omx/gstomx.c:
* omx/gstomx.h:
omx: Add helper to enable/disable/read subframe mode
2019-12-19 13:51:17 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
zynq: add mapping for latest custom indexes
Fix warning when building using version 2019.2 of OMX headers.
2019-09-12 16:29:59 -0700 Varunkumar Allagadapa <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: update qp-mode settings
Adds load-qp-absolute and load-qp-relative qp-modes
2019-12-10 18:34:25 +0900 Shinya Saito <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: Add stride check for input buffer extraction
Stride of input buffer may be different from
that of omx input port even if both sizes are the same.
2019-05-15 14:04:47 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: pass padding requirements to ALLOCATION query
By passing the expected video buffer layout, the upstream producer
may be able to produce buffers fitting those requierements allowing
gst-omx to use dynamic buffer mode rather than having to copy each input
buffer.
This is particularly useful with v4l2src as it can request the capture
driver to produce buffers with the required paddings.
2019-07-09 13:07:32 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxbufferpool.c:
* omx/gstomxvideo.c:
* omx/gstomxvideo.h:
omxbufferpool: use gst_video_meta_set_alignment()
Tell buffer consumer about our paddings.
v4l2src can now uses these paddings information when trying to import
buffers to configure the v4l2 driver accordingly.
2019-05-30 11:11:34 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: fix buffer size in debug log
Use the actual OMX buffer size rather than the info.size as OMX
may require larger buffer if the port requires some padding.
2019-10-14 00:48:32 +0100 Tim-Philipp Müller <[email protected]>
* .gitignore:
* .gitmodules:
* Makefile.am:
* autogen.sh:
* common:
* config/Makefile.am:
* config/bellagio/Makefile.am:
* config/rpi/Makefile.am:
* config/tizonia/Makefile.am:
* config/zynqultrascaleplus/Makefile.am:
* configure.ac:
* examples/Makefile.am:
* examples/egl/Makefile.am:
* m4/Makefile.am:
* omx/Makefile.am:
* tests/Makefile.am:
* tests/check/.gitignore:
* tests/check/Makefile.am:
* tests/check/generic/.gitignore:
* tools/Makefile.am:
Remove autotools build
2019-10-07 16:59:10 +0000 Stéphane Cerveau <[email protected]>
* omx/gstomxallocator.c:
omxallocator: fix leak with a proper chaining finalize
2019-09-20 15:02:24 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: revert draining on ALLOCATION and DRAIN query
My latest patch introduces some regressions which I have no time to
debug properly at the moment so just revert it for now.
2019-09-17 13:02:54 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: let encoder base class handle ALLOCATION query
Fixing a regression introduced in my previous patch
(7c40a91c31aa4bcbb191f7c6a5d222edf9dfd9d1).
The ALLOCATION query needs to be handled by GstVideoEncoder (to call
propose_allocation()) so chain up the query handling rather than early
returning.
2019-08-29 12:20:56 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: drain encoder on ALLOCATION and DRAIN queries
Ensure that the encoder releases all its input buffers when requested by
upstream. Encoder input buffers may be shared with downstreaming (when
using dmabuf), upstream may then request the encoder to
drain when reconfiguring before destroying its buffers.
Also drain on ALLOCATION query as we already do in kmssink as that
notify of a format change.
Fix "decoder ! encoder" pipeline when decoding a file with different
resolutions on Zynq.
2019-08-28 15:52:41 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
omx: log the number of pending buffers when port is EOS
2019-08-28 15:49:00 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
omx: log when an output port is eos
2019-08-27 15:47:28 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: log the full input format
Make it easier to debug dynamic format changes.
2019-08-21 12:25:40 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideodec.c:
omxvideodec: fix dmabuf import
When importing dmabuf, UseBuffer() has to be called with the fd as
pBuffer rather than the mapped address of the buffer.
2019-08-21 12:48:25 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxbufferpool.c:
omxbufferpool: fix dmabuf import
When importing dmabuf from downstream, we want the allocator to be in
OTHER_POOL mode despite output_mode being DMABUF.
So check first if other_pool is set before checking for pool's
output_mode.
2019-08-22 17:55:54 +0900 Shinya Saito <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: Remove unnecessary gst_video_frame_unmap()
2019-07-25 16:30:13 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideodec.c:
omxvideodec: log supported caps by the decoder
Can be useful when debugging to check the caps supported by the decoder
before filtering.
2019-07-11 12:03:46 +0900 Shinya Saito <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: Unref frame of codec config buffer
After handling codec config, codec frame should be unreffed.
2019-06-14 16:27:37 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideo.c:
omxvideo: check difference between frame and requested ts
This has proven to be very useful when debugging to detect bugs where we
match the wrong gst frame with an output OMX buffer.
2019-06-14 10:57:29 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxvideo.c:
* omx/gstomxvideo.h:
* omx/gstomxvideodec.c:
* omx/gstomxvideoenc.c:
omxvideo: add debug infos to find_nearest_frame()
Those debug infos have proved to be very helpful when debugging
timestamp issues. They are often linked to gst-omx picking the wrong
frame when trying to map from OMX.
2019-03-05 16:57:40 +0900 Shinya Saito <[email protected]>
* omx/gstomxvideodec.c:
omxvideodec: Deactivate negotiated pool when output own buffer
If decoder outputs internal buffer and not use OMX_UseBuffer,
downstream bufferpool should be stopped.
2019-06-03 12:21:05 +0900 Shinya Saito <[email protected]>
* omx/gstomxh264enc.c:
* omx/gstomxh264enc.h:
omxh264enc: Add 'ref-frames' property
Add a property to control the number of frames for reference.
Min and max value is based on OpenMAX IL 1.2.0 Specification.
2019-06-03 07:57:02 +0200 Niels De Graef <[email protected]>
* configure.ac:
* meson.build:
meson: Bump minimal GLib version to 2.44
This means we can use some newer features and get rid of some
boilerplate code using the G_DECLARE_* macros.
As discussed on IRC, 2.44 is old enough by now to start depending on it.
2019-04-19 12:38:54 -0400 Thibault Saunier <[email protected]>
* docs/gst_plugins_cache.json:
* docs/index.md:
* docs/meson.build:
* docs/sitemap.txt:
* meson.build:
* meson_options.txt:
* omx/meson.build:
doc: Build documentation of hotdoc
2019-03-26 12:26:03 +0200 George Kiagiadakis <[email protected]>
* omx/gstomx.c:
* omx/gstomx.h:
gstomx: remove gst_omx_buffer_set_omx_buf/get_omx_buf
They are no longer used anywhere
2019-03-22 12:11:13 +0200 George Kiagiadakis <[email protected]>
* omx/Makefile.am:
* omx/gstomxallocator.c:
* omx/gstomxallocator.h:
* omx/gstomxbufferpool.c:
* omx/gstomxbufferpool.h:
* omx/gstomxvideoenc.c:
* omx/meson.build:
omxbufferpool: refactor to allow memory sharing
One big restriction of the OMX buffer pool has always been
that the GstMemory objects were flagged with NO_SHARE.
This was because the buffer pool needed to be sure that when
a buffer returned to the pool, it would be safe to release the
OMX buffer back to OpenMAX.
With this change, this is no longer a restriction. What this
commit introduces is a new allocator that allows us to track
the GstMemory objects independently. Now, when a buffer returns
to the pool, it is not necessary for the memory to be released
as well. We simply track the memory's ref count in the allocator
and we return the OMX buffer back when the memory's ref count
drops to 0.
The reason for doing this is to allow implementing zero-copy
transfers in situations where we may need to copy or map a
certain region of the buffer. For instance, omxh264enc ! h264parse
should be possible to be zero-copy by using an OMX buffer pool
between them.
2019-04-23 15:13:23 +0530 Guillaume Desmottes <[email protected]>
* omx/gstomxbufferpool.c:
omxbufferpool: fix memory mapping with offset
gst_memory_map() is already adding the offset to the mapped pointer.
Doing it in the memory implementation was resulting in the offset being
accounted twice.
It doesn't matter yet as we are only creating memory without offset for
now but it will once we'll start sharing OMX memories.
2019-04-19 10:43:58 +0100 Tim-Philipp Müller <[email protected]>
* RELEASE:
* configure.ac:
* meson.build:
Back to development
=== release 1.16.0 ===
2019-04-19 00:38:44 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-omx.doap:
* meson.build:
Release 1.16.0
2019-04-16 12:23:10 -0700 Julien Isorce <[email protected]>
* omx/gstomx.c:
Fixes build with omx >= 1.2.0
gstomx.c:1405:10: error: ‘OMX_IndexParamCustomContentPipe’ undeclared (first use in this function)
case OMX_IndexParamCustomContentPipe
Some enums have been deprecated in 1.2.0
https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/27
2018-05-18 10:55:21 +0200 Guillaume Desmottes <[email protected]>
* configure.ac:
* examples/egl/Makefile.am:
* examples/egl/meson.build:
testegl: properly detect and use rpi specific libs
Use pkg-config to detect and configure rpi specific libs used in testegl
rather than hardcoding their flags.
2018-05-18 10:53:34 +0200 Guillaume Desmottes <[email protected]>
* examples/egl/testegl.c:
testelg: include eglext.h
Neded for the declaration of eglSaneChooseConfigBRCM().
2018-05-18 10:38:33 +0200 Guillaume Desmottes <[email protected]>
* examples/egl/testegl.c:
testegl: move up pi specific macros
We need to define __VCCOREVER__ and disable redundant-decls before
including the egl.h from the pi.
=== release 1.15.90 ===
2019-04-11 00:40:52 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-omx.doap:
* meson.build:
Release 1.15.90
2019-04-10 00:19:55 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
meson: add -Wundef as additional warning flag
2019-04-10 00:16:27 +0100 Tim-Philipp Müller <[email protected]>
* omx/gstomxvideoenc.c:
omx: fix autotools build for generic target
gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
#elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
Works on meson because it doesn't use -Wundef
2018-11-12 12:51:28 +0200 Jordan Petridis <[email protected]>
* .gitlab-ci.yml:
Add Gitlab CI configuration
This commit adds a .gitlab-ci.yml file, which uses a feature
to fetch the config from a centralized repository. The intent is
to have all the gstreamer modules use the same configuration.
The configuration is currently hosted at the gst-ci repository
under the gitlab/ci_template.yml path.
Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
2019-03-25 16:30:11 +0100 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
omx: disable OMX_API_TRACE code if gst debug is disabled
No need to create debug structs which won't be used as DEBUG macros are
no-op.
2018-10-11 10:55:04 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
omx: log Get/SetParameter/Config calls
Extend OMX_API_TRACE by logging component configuration calls.
2019-02-06 14:57:05 +0100 Guillaume Desmottes <[email protected]>
* omx/gstomxbufferpool.c:
omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
This was the single place where this category was used in gst-omx so
most users, including me, are generally not turning it and were missing this
important information from logs.
The copying code uses gst_video_frame_copy() which is already logging
with CAT_PERFORMANCE so we can still have this information when using
only this debug category.
2019-02-06 14:50:44 +0100 Guillaume Desmottes <[email protected]>
* omx/gstomxvideodec.c:
omxvideodec: add debug if proposed pool can't provide enough buffers
We were silently ignoring the pool which was pretty confusing when
debugging.
2019-03-26 12:17:26 +0000 Charlie Turner <[email protected]>
* omx/gstomxaacdec.c:
* omx/gstomxaacenc.c:
* omx/gstomxamrdec.c:
* omx/gstomxh263dec.c:
* omx/gstomxh263enc.c:
* omx/gstomxh264dec.c:
* omx/gstomxh264enc.c:
* omx/gstomxh265dec.c:
* omx/gstomxh265enc.c:
* omx/gstomxmjpegdec.c:
* omx/gstomxmp3dec.c:
* omx/gstomxmp3enc.c:
* omx/gstomxmpeg2videodec.c:
* omx/gstomxmpeg4videodec.c:
* omx/gstomxmpeg4videoenc.c:
* omx/gstomxtheoradec.c:
* omx/gstomxvp8dec.c:
* omx/gstomxwmvdec.c:
omx: Add hardware classifiers to encoders/decoders
2019-03-25 16:01:48 +0100 Guillaume Desmottes <[email protected]>
* meson.build:
meson: sync warnings flags with -good
Add more warnings flags and disabled unused variable warnings if gst
debug system is disabled.
Copied from gst-plugins-good/meson.build
2019-03-04 09:16:40 +0000 Tim-Philipp Müller <[email protected]>
* NEWS:
* RELEASE:
* configure.ac:
* meson.build:
Back to development
=== release 1.15.2 ===
2019-02-26 12:02:23 +0000 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-omx.doap:
* meson.build:
Release 1.15.2
2019-02-14 23:57:09 +0000 Tim-Philipp Müller <[email protected]>
* meson.build:
* meson_options.txt:
meson: add options to disable examples, tests and tools and bump meson requirement
2019-01-04 10:11:38 +0100 Guillaume Desmottes <[email protected]>
* omx/gstomxvideo.c:
* omx/gstomxvideo.h:
* omx/gstomxvideodec.c:
* omx/gstomxvideoenc.c:
omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
Simplify the code and so we advertise the formats actually supported by
gst-omx.
2018-06-04 12:20:03 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: validate cpb-size and initial-delay
cpb-size cannot be smaller than initial-delay.
2018-10-02 10:47:06 -0400 Nicolas Dufresne <[email protected]>
* omx/gstomxvideodec.c:
omxvideodec: Remove duplicated QoS code
The 'finish' function do the exact same check / drop, there is no
need to duplicate this here.
2018-09-20 14:44:09 -0400 Nicolas Dufresne <[email protected]>
* omx/gstomxvideodec.c:
* omx/gstomxvideodec.h:
omxvideodec: Remove dead code
The omxvideodec base class have a totally unused prepare_frame() vritual
function, remove it.
2018-07-11 17:38:22 -0700 Varunkumar Allagadapa <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: add adaptive gop-mode option
Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
2018-02-13 18:25:51 +0000 Nicolas Dufresne <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: Add dynamic framerate support
Instead of going through a full reset, try and change the framerate
config on the encoder when only the framerate have change.
=== release 1.15.1 ===
2019-01-17 02:38:28 +0000 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-omx.doap:
* meson.build:
Release 1.15.1
2018-02-20 10:57:42 -0800 Varunkumar Allagadapa <[email protected]>
* omx/gstomxvideoenc.c:
omxvideoenc: Add dynamic IDR insertion support on zynq
As the pi, the zynq has its own API to request keyframe.
2019-01-07 13:29:37 +0100 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
* omx/gstomx.h:
* omx/gstomxbufferpool.c:
omxbufferpool: fix race when releasing input buffers
If buffers were released from the pool while
gst_omx_video_enc_handle_frame() was waiting for new buffers,
gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
released through OMX's messaging system.
GQueue isn't thread safe so also protect it with the lock mutex.
2018-11-15 11:17:59 +0100 Guillaume Desmottes <[email protected]>
* omx/gstomxbufferpool.c:
* omx/gstomxbufferpool.h:
* omx/gstomxvideodec.c:
* omx/gstomxvideoenc.c:
omxbufferpool: fix early input buffer release
We used to track the 'allocating' status on the pool. It is used while
allocating so output buffers aren't passed right away to OMX and input
ones are not re-added to the pending queue.
This was causing a bug when exporting buffers to v4l2src. On start
v4l2src acquires a buffer, read its stride and release it right away.
As no buffer was received by the encoder element at this point, 'allocating'
was still on TRUE and so the the buffer wasn't put back to the pending
queue and, as result, no longer available to the pool.
Fix this by checking the active status of the pool instead of manually
tracking it down. The pool is considered as active at the very end of
the activation process so we're good when buffers are released during
the activation.
2018-12-05 17:24:48 -0300 Thibault Saunier <[email protected]>
* common:
Automatic update of common submodule
From ed78bee to 59cb678
2018-11-23 12:57:15 +0100 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
The GType was missing from the second field of the struct.
2018-11-05 05:43:43 +0000 Matthew Waters <[email protected]>
* .gitmodules:
* gst-omx.doap:
Update git locations to gitlab
2018-09-18 16:50:11 +0200 Guillaume Desmottes <[email protected]>
* omx/gstomx.c:
omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
This debug category can now be used to track more OMX calls and events