173 Commits

Author SHA1 Message Date
Quentin Renard
a7292eff12 Added error recognition flags 2025-09-23 14:15:49 +02:00
Quentin Renard
3cf710387d Fixed resampling audio example 2025-08-19 16:20:14 +02:00
Quentin Renard
5215dcddb1 Added setters for codec context color attributes 2025-08-19 12:16:59 +02:00
Quentin Renard
71be247528 Added stream disposition flags setter 2025-08-08 10:34:49 +02:00
Quentin Renard
9363923192 Added disposition flags 2025-08-07 17:18:52 +02:00
Quentin Renard
a04a77a051 Added sample format is planar and bytes per sample v0.38.0 2025-08-07 11:44:05 +02:00
Maizer
15c6928fe3 Add AVPixFmtDescriptor to retrieve flags for AVPixelFormat (#154)
* 1. Adds hardware_frames_constraints to retrieve valid HWPixelFormats and SWPixelFormats for specific hardware frame configurations.

2. Implements a HardwareFramesConstraints method in hardware_device_context to obtain these constraints for a given hardware frames context.

* Add AVPixFmtDescriptor to retrieve flags for AVPixelFormat

feat(PixelFormat): Expose `AVPixFmtDescriptor` via `Descriptor()` method

This commit introduces support for `AVPixFmtDescriptor`, which provides
detailed information about an `AVPixelFormat`, including its flags.

A new `Descriptor()` method has been added to the `PixelFormat` type
(or class) to retrieve its corresponding `AVPixFmtDescriptor`. This allows
for easier access to extended properties of pixel formats.
2025-05-23 16:01:02 +02:00
Quentin Renard
b9f3da6912 Added dictionary copy 2025-05-22 09:11:03 +02:00
Quentin Renard
bce37accc6 Added bitstream filter private data 2025-05-19 16:27:09 +02:00
Quentin Renard
3cf943164f Bumped golang version to 1.21 in go.mod v0.37.0 2025-05-15 14:39:02 +02:00
Quentin Renard
60e3d4181c Bumped golang version to 1.21 for github actions 2025-05-15 14:33:49 +02:00
Maizer
e4be514918 1. Adds hardware_frames_constraints to retrieve valid HWPixelFormats and SWPixelFormats for specific hardware frame configurations. (#151)
2. Implements a HardwareFramesConstraints method in hardware_device_context to obtain these constraints for a given hardware frames context.
2025-05-15 14:33:28 +02:00
Quentin Renard
74973f7e03 Fixed filters for windows. Thanks to @Maizer 2025-05-09 14:24:01 +02:00
Jingyang Kang
e484f69f5c Add AV1 codec id (#146)
* Add AV1 codec id

* sort codec_id alphabetically
v0.36.0
2025-04-23 09:24:14 +02:00
Quentin Renard
eb1dc676fe Updated frame/packet side data Get() signature v0.35.1 2025-03-15 17:17:49 +01:00
Quentin Renard
584153d458 Refactored frame/packet side data + added regions of interest to frame side data v0.35.0 2025-03-15 17:05:57 +01:00
Quentin Renard
0d523ba53b Fixed MacOS libx11 github action bug 2025-03-13 11:39:27 +01:00
Quentin Renard
13a8d297e8 Replaced dev branch with test-github-actions 2025-03-11 17:14:03 +01:00
dogghi no
786df5c02f Fix links to ffmpeg examples (#138) 2025-03-09 14:53:19 +01:00
David Grinberg
a1e97959c5 SetMetadata method for Stream (#136)
* SetMetadata method for Stream

* add tests, change url in doc
v0.34.0
2025-03-03 16:22:11 +01:00
Quentin Renard
f136032704 IOInterrupter actions are now atomic 2025-03-01 14:28:47 +01:00
Quentin Renard
948d39059d Oopsie poopsie v0.33.1 2025-02-16 15:24:22 +01:00
Quentin Renard
dca9296441 Now using av_malloc/av_free instead of malloc/free v0.33.0 2025-02-16 14:16:13 +01:00
Quentin Renard
685441141d Fixed heap-use-after-free v0.32.0 2025-02-09 15:08:47 +01:00
Dmitrii Okunev
30a782ddf4 packet: Add memory management *Packet functions (#128) 2025-02-09 14:23:55 +01:00
Quentin Renard
5ed56d0858 Removed AllocImage and AllocSamples v0.31.0 2025-02-08 16:12:34 +01:00
Quentin Renard
27082bb9bc Fixed doc link 2025-02-07 15:51:55 +01:00
Dmitrii Okunev
a908f287d2 stream: Add functions to get/set fields of Stream (#129) 2025-01-14 10:46:30 +01:00
oldma3095
ac7a8c390e Frame.Copy(dst *Frame) (#127) v0.30.0 2025-01-07 11:28:01 +01:00
Quentin Renard
a6280c7586 Hardware filtering example now shows how to set filters hardware device context 2024-12-24 14:19:44 +01:00
oldma3095
ee2cb0ea59 merge master and add SetHardwareDeviceContext (#126) 2024-12-24 14:14:04 +01:00
Quentin Renard
5b04a31254 Added filter to filter context 2024-12-23 15:48:33 +01:00
Quentin Renard
25626ad96a Added filter flags 2024-12-23 15:34:00 +01:00
oldma3095
b09923632f bufferSrcCtx.Initialize with dictionary (#124)
* OpenIOContextWithDictionary

* OpenIOContext

* OpenIOContext

* IOInterrupterCB

* OpenIOContext(filename string, flags IOContextFlags, ii *IOInterrupter, d *Dictionary)

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* CodecContext
MaxBFrames()
SetMaxBFrames(n int)

* another pr

* delete Flags()

* delete Flags()

* delete Flags()

* delete PmtVersion()

* SetStreamIndex

* SetStreamIndex

* MaxBFrames()
SetMaxBFrames(n int)
RcMaxRate()
SetRcMaxRate(n int64)
RcMinRate()
SetRcMinRate(n int64)
RcBufferSize()
SetRcBufferSize(n int)

* rename rate control methods

* test passed

* bufferSrcCtx initialize with dictionary

* bufferSrcCtx initialize with dictionary

* SetHardwareDeviceContext

* SetHardwareDeviceContext
2024-12-23 11:40:48 +01:00
Quentin Renard
04ab7084e1 Fixed hardware filtering example 2024-12-20 14:42:10 +01:00
Quentin Renard
805ca1b8a1 Renamed to HardwareFramesContext 2024-12-20 09:55:22 +01:00
Quentin Renard
48e9c04e2f Updated breaking changes section in readme 2024-12-20 09:40:52 +01:00
Quentin Renard
1afa99ec8e Added bit stream filter context output codec parameters 2024-12-20 09:34:13 +01:00
Quentin Renard
4b35c9a741 Removed args from NewXXXFilterContext() v0.29.0 2024-12-19 16:20:37 +01:00
Quentin Renard
ab81ca0faf Added stream discard 2024-12-19 14:37:45 +01:00
oldma3095
34fa811a4f max_b_frame and control bit_rate (#121)
* OpenIOContextWithDictionary

* OpenIOContext

* OpenIOContext

* IOInterrupterCB

* OpenIOContext(filename string, flags IOContextFlags, ii *IOInterrupter, d *Dictionary)

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* CodecContext
MaxBFrames()
SetMaxBFrames(n int)

* another pr

* delete Flags()

* delete Flags()

* delete Flags()

* delete PmtVersion()

* SetStreamIndex

* SetStreamIndex

* MaxBFrames()
SetMaxBFrames(n int)
RcMaxRate()
SetRcMaxRate(n int64)
RcMinRate()
SetRcMinRate(n int64)
RcBufferSize()
SetRcBufferSize(n int)

* rename rate control methods

* test passed
2024-12-19 14:33:08 +01:00
Quentin Renard
ff05de2f43 Added libswresample in pkg config v0.28.0 2024-12-18 09:29:54 +01:00
Quentin Renard
b86c411567 Removed Program.StreamIndex 2024-12-18 09:14:50 +01:00
oldma3095
e9341fd3e3 Program params and enum Discardxx (#119)
* OpenIOContextWithDictionary

* OpenIOContext

* OpenIOContext

* IOInterrupterCB

* OpenIOContext(filename string, flags IOContextFlags, ii *IOInterrupter, d *Dictionary)

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* CodecContext
MaxBFrames()
SetMaxBFrames(n int)

* another pr

* delete Flags()

* delete Flags()

* delete Flags()

* delete PmtVersion()

* SetStreamIndex

* SetStreamIndex
2024-12-18 09:10:12 +01:00
Quentin Renard
7dedb3f330 IOInterrupted now has a pointer to the callback + added tests for dictionary and iointerrupter for openiocontext v0.27.0 2024-12-13 11:24:16 +01:00
oldma3095
f8f8f0e7ee OpenIOContextWithDictionary (#116)
* OpenIOContextWithDictionary

* OpenIOContext

* OpenIOContext

* IOInterrupterCB

* OpenIOContext(filename string, flags IOContextFlags, ii *IOInterrupter, d *Dictionary)
v0.26.0
2024-12-12 15:26:30 +01:00
Quentin Renard
1f47f2ed3e Added proper AVOption struct 2024-12-11 12:15:49 +01:00
Quentin Renard
a29844a97f IOInterrupter is now a struct v0.25.0 2024-12-11 11:58:23 +01:00
Quentin Renard
8bf2b046a2 Added format/codec context private data + options 2024-12-10 16:46:30 +01:00
Quentin Renard
09052ff745 Added hardware filtering 2024-12-03 12:20:17 +01:00