|
FFmpeg
|
#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | AVSmpte436mAncIterator |
| Iterator over the ANC packets in a single AV_CODEC_ID_SMPTE_436M_ANC AVPacket's data. More... | |
| struct | AVSmpte291mAnc8bit |
| An ANC packet with an 8-bit payload. More... | |
| struct | AVSmpte436mCodedAnc |
| An encoded ANC packet within a single AV_CODEC_ID_SMPTE_436M_ANC AVPacket's data. More... | |
Macros | |
| #define | AV_SMPTE_291M_ANC_PAYLOAD_CAPACITY 0xFF |
| the payload capacity of AVSmpte291mAnc8bit (and of AVSmpte291mAnc10bit when that gets added) More... | |
| #define | AV_SMPTE_436M_CODED_ANC_SAMPLE_CAPACITY (AV_SMPTE_291M_ANC_PAYLOAD_CAPACITY + 4) /* 4 for did, sdid_or_dbn, data_count, and checksum */ |
| max number of samples that can be stored in the payload of AVSmpte436mCodedAnc More... | |
| #define | AV_SMPTE_436M_CODED_ANC_PAYLOAD_CAPACITY (((AV_SMPTE_436M_CODED_ANC_SAMPLE_CAPACITY + 2) / 3) * 4) |
| max number of bytes that can be stored in the payload of AVSmpte436mCodedAnc More... | |
| #define | AV_SMPTE_291M_ANC_DID_CTA_708 0x61 |
| AVSmpte291mAnc8bit::did when carrying CTA-708 data (for AV_CODEC_ID_EIA_608) More... | |
| #define | AV_SMPTE_291M_ANC_SDID_CTA_708 0x1 |
| AVSmpte291mAnc8bit::sdid_or_dbn when carrying CTA-708 data (for AV_CODEC_ID_EIA_608) More... | |
Functions | |
| int | av_smpte_436m_coded_anc_validate (const AVSmpte436mCodedAnc *anc) |
| Validate a AVSmpte436mCodedAnc structure. More... | |
| int | av_smpte_436m_anc_encode (uint8_t *out, int size, int anc_packet_count, const AVSmpte436mCodedAnc *anc_packets) |
| Encode ANC packets into a single AV_CODEC_ID_SMPTE_436M_ANC AVPacket's data. More... | |
| int | av_smpte_436m_anc_append (struct AVPacket *pkt, int anc_packet_count, const AVSmpte436mCodedAnc *anc_packets) |
| Append more ANC packets to a single AV_CODEC_ID_SMPTE_436M_ANC AVPacket's data. More... | |
| int | av_smpte_436m_anc_iter_init (AVSmpte436mAncIterator *iter, const uint8_t *buf, int buf_size) |
| Set up iteration over the ANC packets in a single AV_CODEC_ID_SMPTE_436M_ANC AVPacket's data. More... | |
| int | av_smpte_436m_anc_iter_next (AVSmpte436mAncIterator *iter, AVSmpte436mCodedAnc *anc) |
| Get the next ANC packet from the iterator, advancing the iterator. More... | |
| int | av_smpte_436m_coded_anc_payload_size (AVSmpte436mPayloadSampleCoding sample_coding, uint16_t sample_count) |
| Get the minimum number of bytes needed to store a AVSmpte436mCodedAnc payload. More... | |
| int | av_smpte_291m_anc_8bit_decode (AVSmpte291mAnc8bit *out, AVSmpte436mPayloadSampleCoding sample_coding, uint16_t sample_count, const uint8_t *payload, void *log_ctx) |
| Decode a AVSmpte436mCodedAnc payload into AVSmpte291mAnc8bit. More... | |
| void | av_smpte_291m_anc_8bit_fill_checksum (AVSmpte291mAnc8bit *anc) |
| Fill in the correct checksum for a AVSmpte291mAnc8bit. More... | |
| int | av_smpte_291m_anc_8bit_get_sample_count (const AVSmpte291mAnc8bit *anc, AVSmpte436mPayloadSampleCoding sample_coding, void *log_ctx) |
| Compute the sample count needed to encode a AVSmpte291mAnc8bit into a AVSmpte436mCodedAnc payload. More... | |
| int | av_smpte_291m_anc_8bit_encode (AVSmpte436mCodedAnc *out, uint16_t line_number, AVSmpte436mWrappingType wrapping_type, AVSmpte436mPayloadSampleCoding sample_coding, const AVSmpte291mAnc8bit *payload, void *log_ctx) |
| Encode a AVSmpte291mAnc8bit into a AVSmpte436mCodedAnc. More... | |
| int | av_smpte_291m_anc_8bit_extract_cta_708 (const AVSmpte291mAnc8bit *anc, uint8_t *cc_data, void *log_ctx) |
| Try to decode an ANC packet into EIA-608/CTA-708 data (AV_CODEC_ID_EIA_608). More... | |
| #define AV_SMPTE_291M_ANC_PAYLOAD_CAPACITY 0xFF |
the payload capacity of AVSmpte291mAnc8bit (and of AVSmpte291mAnc10bit when that gets added)
Definition at line 89 of file smpte_436m.h.
| #define AV_SMPTE_436M_CODED_ANC_SAMPLE_CAPACITY (AV_SMPTE_291M_ANC_PAYLOAD_CAPACITY + 4) /* 4 for did, sdid_or_dbn, data_count, and checksum */ |
max number of samples that can be stored in the payload of AVSmpte436mCodedAnc
Definition at line 107 of file smpte_436m.h.
| #define AV_SMPTE_436M_CODED_ANC_PAYLOAD_CAPACITY (((AV_SMPTE_436M_CODED_ANC_SAMPLE_CAPACITY + 2) / 3) * 4) |
max number of bytes that can be stored in the payload of AVSmpte436mCodedAnc
Definition at line 110 of file smpte_436m.h.
| #define AV_SMPTE_291M_ANC_DID_CTA_708 0x61 |
AVSmpte291mAnc8bit::did when carrying CTA-708 data (for AV_CODEC_ID_EIA_608)
Definition at line 237 of file smpte_436m.h.
| #define AV_SMPTE_291M_ANC_SDID_CTA_708 0x1 |
AVSmpte291mAnc8bit::sdid_or_dbn when carrying CTA-708 data (for AV_CODEC_ID_EIA_608)
Definition at line 240 of file smpte_436m.h.
Wrapping Type from Table 7 (page 13) of: https://pub.smpte.org/latest/st436/s436m-2006.pdf.
Definition at line 40 of file smpte_436m.h.
Payload Sample Coding from Table 4 (page 10) and Table 7 (page 13) of: https://pub.smpte.org/latest/st436/s436m-2006.pdf.
Definition at line 58 of file smpte_436m.h.
| int av_smpte_436m_coded_anc_validate | ( | const AVSmpte436mCodedAnc * | anc | ) |
Validate a AVSmpte436mCodedAnc structure.
Doesn't check if the payload is valid.
| [in] | anc | ANC packet to validate |
Definition at line 69 of file smpte_436m.c.
Referenced by smpte_436m_anc_decode_entry().
| int av_smpte_436m_anc_encode | ( | uint8_t * | out, |
| int | size, | ||
| int | anc_packet_count, | ||
| const AVSmpte436mCodedAnc * | anc_packets | ||
| ) |
Encode ANC packets into a single AV_CODEC_ID_SMPTE_436M_ANC AVPacket's data.
| [in] | anc_packet_count | number of ANC packets to encode |
| [in] | anc_packets | the ANC packets to encode |
| [in] | size | the size of out. ignored if out is NULL. |
| [out] | out | Output bytes. Doesn't write anything if out is NULL. |
Definition at line 173 of file smpte_436m.c.
Referenced by ff_eia608_to_smpte436m_filter().
| int av_smpte_436m_anc_append | ( | struct AVPacket * | pkt, |
| int | anc_packet_count, | ||
| const AVSmpte436mCodedAnc * | anc_packets | ||
| ) |
Append more ANC packets to a single AV_CODEC_ID_SMPTE_436M_ANC AVPacket's data.
| [in] | anc_packet_count | number of ANC packets to encode |
| [in] | anc_packets | the ANC packets to encode |
| pkt | the AVPacket to append to. it must either be size 0 or contain valid SMPTE_436M_ANC data. |
Definition at line 201 of file smpte_436m.c.
Referenced by mcc_read_header().
| int av_smpte_436m_anc_iter_init | ( | AVSmpte436mAncIterator * | iter, |
| const uint8_t * | buf, | ||
| int | buf_size | ||
| ) |
Set up iteration over the ANC packets in a single AV_CODEC_ID_SMPTE_436M_ANC AVPacket's data.
| [in] | buf | Pointer to the data from a AV_CODEC_ID_SMPTE_436M_ANC AVPacket. |
| [in] | buf_size | Size of the data from a AV_CODEC_ID_SMPTE_436M_ANC AVPacket. |
| [out] | iter | Pointer to the iterator. |
Definition at line 234 of file smpte_436m.c.
Referenced by ff_smpte436m_to_eia608_filter(), and mcc_write_packet().
| int av_smpte_436m_anc_iter_next | ( | AVSmpte436mAncIterator * | iter, |
| AVSmpte436mCodedAnc * | anc | ||
| ) |
Get the next ANC packet from the iterator, advancing the iterator.
| [in,out] | iter | Pointer to the iterator. |
| [out] | anc | The returned ANC packet. |
Definition at line 250 of file smpte_436m.c.
Referenced by ff_smpte436m_to_eia608_filter(), and mcc_write_packet().
| int av_smpte_436m_coded_anc_payload_size | ( | AVSmpte436mPayloadSampleCoding | sample_coding, |
| uint16_t | sample_count | ||
| ) |
Get the minimum number of bytes needed to store a AVSmpte436mCodedAnc payload.
| sample_coding | the payload sample coding |
| sample_count | the number of samples stored in the payload |
Definition at line 265 of file smpte_436m.c.
Referenced by av_smpte_291m_anc_8bit_encode(), and av_smpte_436m_coded_anc_validate().
| int av_smpte_291m_anc_8bit_decode | ( | AVSmpte291mAnc8bit * | out, |
| AVSmpte436mPayloadSampleCoding | sample_coding, | ||
| uint16_t | sample_count, | ||
| const uint8_t * | payload, | ||
| void * | log_ctx | ||
| ) |
Decode a AVSmpte436mCodedAnc payload into AVSmpte291mAnc8bit.
| [in] | sample_coding | the payload sample coding |
| [in] | sample_count | the number of samples stored in the payload |
| [in] | payload | the bytes storing the payload, the needed size can be obtained from avpriv_smpte_436m_coded_anc_payload_size |
| [in] | log_ctx | context pointer for av_log |
| [out] | out | The decoded ANC packet. |
Definition at line 295 of file smpte_436m.c.
Referenced by ff_smpte436m_to_eia608_filter(), mcc_read_header(), and mcc_write_packet().
| void av_smpte_291m_anc_8bit_fill_checksum | ( | AVSmpte291mAnc8bit * | anc | ) |
Fill in the correct checksum for a AVSmpte291mAnc8bit.
| [in,out] | anc | The ANC packet. |
Definition at line 337 of file smpte_436m.c.
Referenced by av_smpte_291m_anc_8bit_decode(), and ff_eia608_to_smpte436m_filter().
| int av_smpte_291m_anc_8bit_get_sample_count | ( | const AVSmpte291mAnc8bit * | anc, |
| AVSmpte436mPayloadSampleCoding | sample_coding, | ||
| void * | log_ctx | ||
| ) |
Compute the sample count needed to encode a AVSmpte291mAnc8bit into a AVSmpte436mCodedAnc payload.
| [in] | anc | The ANC packet. |
| [in] | sample_coding | The sample coding. |
| [in] | log_ctx | context pointer for av_log |
Definition at line 346 of file smpte_436m.c.
Referenced by av_smpte_291m_anc_8bit_encode().
| int av_smpte_291m_anc_8bit_encode | ( | AVSmpte436mCodedAnc * | out, |
| uint16_t | line_number, | ||
| AVSmpte436mWrappingType | wrapping_type, | ||
| AVSmpte436mPayloadSampleCoding | sample_coding, | ||
| const AVSmpte291mAnc8bit * | payload, | ||
| void * | log_ctx | ||
| ) |
Encode a AVSmpte291mAnc8bit into a AVSmpte436mCodedAnc.
| [in] | line_number | the line number the ANC packet is on |
| [in] | wrapping_type | the wrapping type |
| [in] | sample_coding | the payload sample coding |
| [in] | payload | the ANC packet to encode. |
| [in] | log_ctx | context pointer for av_log |
| [out] | out | The encoded ANC packet. |
Definition at line 375 of file smpte_436m.c.
Referenced by ff_eia608_to_smpte436m_filter(), and ff_eia608_to_smpte436m_init().
| int av_smpte_291m_anc_8bit_extract_cta_708 | ( | const AVSmpte291mAnc8bit * | anc, |
| uint8_t * | cc_data, | ||
| void * | log_ctx | ||
| ) |
Try to decode an ANC packet into EIA-608/CTA-708 data (AV_CODEC_ID_EIA_608).
This
| [in] | anc | The ANC packet. |
| [in] | log_ctx | Context pointer for av_log |
| [out] | cc_data | the buffer to store the extracted EIA-608/CTA-708 data, you can pass NULL to not store the data. the required size is 3 * cc_count bytes. SMPTE_291M_ANC_PAYLOAD_CAPACITY is always enough size. |
Definition at line 433 of file smpte_436m.c.
Referenced by ff_smpte436m_to_eia608_filter(), and mcc_read_header().
1.8.17