Manipulation AVC and HEVC tracks in ISOBMFF.  
More...
 | 
| GF_Err  | gf_media_change_pl (GF_ISOFile *isom_file, u32 trackNumber, u32 profile, u32 compat, u32 level) | 
|   | GPAC_DISABLE_AV_PARSERS.  
  | 
|   | 
| GF_Err  | gf_media_nal_rewrite_samples (GF_ISOFile *isom_file, u32 trackNumber, u32 new_size_in_bits) | 
|   | 
| GF_Err  | gf_media_split_svc (GF_ISOFile *isom_file, u32 trackNumber, Bool splitAll) | 
|   | 
| GF_Err  | gf_media_merge_svc (GF_ISOFile *isom_file, u32 trackNumber, Bool mergeAll) | 
|   | 
| GF_Err  | gf_media_split_lhvc (GF_ISOFile *isom_file, u32 trackNumber, Bool for_temporal_sublayers, Bool splitAll, GF_LHVCExtractoreMode extractor_mode) | 
|   | 
| GF_Err  | gf_media_split_hevc_tiles (GF_ISOFile *isom_file, u32 signal_only) | 
|   | 
| GF_Err  | gf_media_filter_hevc (GF_ISOFile *isom_file, u32 trackNumber, u8 max_temporal_id_plus_one, u8 max_layer_id_plus_one) | 
|   | 
Manipulation AVC and HEVC tracks in ISOBMFF. 
This section documents functions for manipulating AVC and HEVC tracks in ISOBMFF. 
◆ GF_LHVCExtractoreMode
LHVC extractor mode 
| Enumerator | 
|---|
| GF_LHVC_EXTRACTORS_ON  | use extractors  
 | 
| GF_LHVC_EXTRACTORS_OFF  | don't use extractors and keep base track inband/outofband param set signaling  
 | 
| GF_LHVC_EXTRACTORS_OFF_FORCE_INBAND  | don't use extractors and force inband signaling in enhancement layer  
 | 
 
 
◆ gf_media_change_pl()
      
        
          | GF_Err gf_media_change_pl  | 
          ( | 
          GF_ISOFile *  | 
          isom_file,  | 
        
        
           | 
           | 
          u32  | 
          trackNumber,  | 
        
        
           | 
           | 
          u32  | 
          profile,  | 
        
        
           | 
           | 
          u32  | 
          compat,  | 
        
        
           | 
           | 
          u32  | 
          level  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
GPAC_DISABLE_AV_PARSERS. 
Changes the profile (if not 0) and level (if not 0) indication of the media - only AVC/H264 supported for now 
- Parameters
 - 
  
    | isom_file | the target ISOBMF file  | 
    | trackNumber | the target track  | 
    | profile | the new profile to set  | 
    | compat | profile compatibility flag for H264  | 
    | level | the new level to set  | 
  
   
- Returns
 - error if any 
 
 
 
◆ gf_media_nal_rewrite_samples()
      
        
          | GF_Err gf_media_nal_rewrite_samples  | 
          ( | 
          GF_ISOFile *  | 
          isom_file,  | 
        
        
           | 
           | 
          u32  | 
          trackNumber,  | 
        
        
           | 
           | 
          u32  | 
          new_size_in_bits  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Rewrite NAL-based samples (AVC/HEVC/...) samples if nalu size_length has to be changed 
- Parameters
 - 
  
    | isom_file | the target ISOBMF file  | 
    | trackNumber | the target track  | 
    | new_size_in_bits | new size in bits of the NALU length field in the track, for all samples description of the track  | 
  
   
- Returns
 - error if any 
 
 
 
◆ gf_media_split_svc()
      
        
          | GF_Err gf_media_split_svc  | 
          ( | 
          GF_ISOFile *  | 
          isom_file,  | 
        
        
           | 
           | 
          u32  | 
          trackNumber,  | 
        
        
           | 
           | 
          Bool  | 
          splitAll  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Split SVC layers 
- Parameters
 - 
  
    | isom_file | the target ISOBMF file  | 
    | trackNumber | the target track  | 
    | splitAll | if set each layers will be in a single track, otherwise all non-base layers will be in the same track  | 
  
   
- Returns
 - error if any 
 
 
 
◆ gf_media_merge_svc()
      
        
          | GF_Err gf_media_merge_svc  | 
          ( | 
          GF_ISOFile *  | 
          isom_file,  | 
        
        
           | 
           | 
          u32  | 
          trackNumber,  | 
        
        
           | 
           | 
          Bool  | 
          mergeAll  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Merge SVC layers 
- Parameters
 - 
  
    | isom_file | the target ISOBMF file  | 
    | trackNumber | the target track  | 
    | mergeAll | if set all layers will be merged a single track, otherwise all non-base layers will be merged in the same track  | 
  
   
- Returns
 - error if any 
 
 
 
◆ gf_media_split_lhvc()
Split L-HEVC layers 
- Parameters
 - 
  
    | isom_file | the target ISOBMF file  | 
    | trackNumber | the target track  | 
    | for_temporal_sublayers | if set only temporal sublayers are split, otherwise layers are split  | 
    | splitAll | if set each layers will be in a single track, otherwise all non-base layers will be in the same track  | 
    | extractor_mode | extractor mode  | 
  
   
- Returns
 - error if any 
 
 
 
◆ gf_media_split_hevc_tiles()
      
        
          | GF_Err gf_media_split_hevc_tiles  | 
          ( | 
          GF_ISOFile *  | 
          isom_file,  | 
        
        
           | 
           | 
          u32  | 
          signal_only  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Split HEVC tiles into different tracks 
- Parameters
 - 
  
    | isom_file | the target ISOBMF file  | 
    | signal_only | if set to 1 or 2, inserts tile description and NAL->tile mapping but does not create separate tracks. If 2, NAL->tile mapping uses RLE  | 
  
   
- Returns
 - error if any 
 
 
 
◆ gf_media_filter_hevc()
      
        
          | GF_Err gf_media_filter_hevc  | 
          ( | 
          GF_ISOFile *  | 
          isom_file,  | 
        
        
           | 
           | 
          u32  | 
          trackNumber,  | 
        
        
           | 
           | 
          u8  | 
          max_temporal_id_plus_one,  | 
        
        
           | 
           | 
          u8  | 
          max_layer_id_plus_one  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Filter HEVC/L-HEVC NALUs by temporal IDs and layer IDs, removing all NALUs above the desired levels. 
- Parameters
 - 
  
    | isom_file | the target ISOBMF file  | 
    | trackNumber | the target track  | 
    | max_temporal_id_plus_one | max temporal ID plus 1 of all NALUs to be removed.  | 
    | max_layer_id_plus_one | max layer ID plus 1 of all NALUs to be removed.  | 
  
   
- Returns
 - error if any