This file is indexed.

/usr/include/libdv/dv.h is in libdv4-dev 1.0.0-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
/*
 *  dv.h
 *
 *     Copyright (C) Charles 'Buck' Krasic - April 2000
 *     Copyright (C) Erik Walthinsen - April 2000
 *
 *  This file is part of libdv, a free DV (IEC 61834/SMPTE 314M)
 *  codec.
 *
 *  libdv is free software; you can redistribute it and/or modify it
 *  under the terms of the GNU Lesser Public License as published by
 *  the Free Software Foundation; either version 2.1, or (at your
 *  option) any later version.
 *   
 *  libdv is distributed in the hope that it will be useful, but
 *  WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Lesser Public License for more details.
 *   
 *  You should have received a copy of the GNU Lesser Public License
 *  along with libdv; see the file COPYING.  If not, write to
 *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 
 *
 *  The libdv homepage is http://libdv.sourceforge.net/.  
 */

/** @file
 *  @ingroup decoder
 *  @ingroup encoder
 *  @brief   Interface for @link decoder DV Decoder @endlink
 */

/** @addtogroup decoder DV Decoder
 *  @{
 */

#ifndef DV_H
#define DV_H


#include <libdv/dv_types.h>

#include <stdio.h>
#include <inttypes.h>
#include <time.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Main API */
extern dv_decoder_t *dv_decoder_new     (int ignored, int clamp_luma,
	                  int clamp_chroma);
extern void         dv_decoder_free     (dv_decoder_t*);
extern void         dv_init             (int clamp_luma, int clamp_chroma);
extern void         dv_cleanup          (void);
extern void         dv_reconfigure      (int clamp_luma, int clamp_chroma); 
extern int          dv_parse_header     (dv_decoder_t *dv, const uint8_t *buffer);
extern void         dv_parse_packs      (dv_decoder_t *dv, const uint8_t *buffer);
extern void         dv_decode_full_frame(dv_decoder_t *dv, 
					  const uint8_t *buffer, dv_color_space_t color_space,
					  uint8_t **pixels, int *pitches);
extern int          dv_decode_full_audio(dv_decoder_t *dv, 
					  const uint8_t *buffer, int16_t **outbufs);
extern int          dv_set_audio_correction (dv_decoder_t *dv, int method);            
extern FILE         *dv_set_error_log (dv_decoder_t *dv, FILE *errfile);            
extern void         dv_report_video_error (dv_decoder_t *dv, uint8_t *data);

#define LIBDV_HAS_SAMPLE_CALCULATOR
extern int          dv_calculate_samples( dv_encoder_t *, int frequency, 
					  int frame_count );

/*@}*/

/** @addtogroup encoder
 *  @{
 */

extern dv_encoder_t *dv_encoder_new     (int rem_ntsc_setup, int clamp_luma,
	                  int clamp_chroma);
extern void         dv_encoder_free     (dv_encoder_t* dv_enc);
extern int          dv_encode_full_frame(dv_encoder_t *dv_enc, uint8_t **in,
					  dv_color_space_t color_space, uint8_t *out);
	
extern int          dv_encode_full_audio(dv_encoder_t *dv_enc, int16_t **pcm, 
					  int channels, int frequency, uint8_t *frame);
extern void         dv_encode_metadata(uint8_t *target, int isPAL, int is16x9,
					  time_t *datetime, int frame);
extern void         dv_encode_timecode(uint8_t *target, int isPAL, int frame);

/*@}*/

/** @addtogroup decoder
 *  @{
 */

/* Low level API */
extern int dv_parse_video_segment(dv_videosegment_t *seg, unsigned int quality);
extern void dv_decode_video_segment(dv_decoder_t *dv, dv_videosegment_t *seg, unsigned int quality);

extern void dv_render_video_segment_rgb(dv_decoder_t *dv, dv_videosegment_t *seg,
					uint8_t **pixels, int *pitches);

extern void dv_render_video_segment_yuv(dv_decoder_t *dv, dv_videosegment_t *seg, 
					uint8_t **pixels, int *pitches);

extern int dv_encode_videosegment( dv_encoder_t *dv_enc,
					dv_videosegment_t *videoseg, uint8_t *vsbuffer);

/* ---------------------------------------------------------------------------
 */
extern int dv_set_quality (dv_decoder_t *dv, int quality),
           dv_is_PAL (dv_decoder_t *dv);

/* ---------------------------------------------------------------------------
 * functions based on vaux data
 * return value: <0 unknown, 0 no, >0 yes
 */
extern int dv_frame_changed (dv_decoder_t *dv),
           dv_frame_is_color (dv_decoder_t *dv),
           dv_system_50_fields (dv_decoder_t *dv),
           dv_format_normal (dv_decoder_t *dv),
           dv_format_wide (dv_decoder_t *dv),
           dv_format_letterbox (dv_decoder_t *dv),
           dv_is_progressive (dv_decoder_t *dv),
           dv_get_vaux_pack (dv_decoder_t *dv, uint8_t pack_id, uint8_t *pack_data);

/* ---------------------------------------------------------------------------
 * functions based on ssyb data
 * return value: 0 not-present, >0 ok
 */
extern int dv_get_timestamp (dv_decoder_t *dv, char *tstprt),
           dv_get_recording_datetime (dv_decoder_t *dv, char *dtptr),
           dv_get_timestamp_int (dv_decoder_t *dv, int *timestamp),
           dv_get_recording_datetime_tm (dv_decoder_t *dv, struct tm *rec_dt),
           dv_get_ssyb_pack (dv_decoder_t *dv, uint8_t pack_id, uint8_t *pack_data);

/* ---------------------------------------------------------------------------
 * functions based on aaux data
 */
extern int dv_is_new_recording (dv_decoder_t *dv, const uint8_t *buffer),
		   dv_is_normal_speed (dv_decoder_t *dv),
           dv_set_mixing_level (dv_decoder_t *dv, int new_value);

/* ---------------------------------------------------------------------------
 * audio query functions
 */
extern int dv_get_num_samples (dv_decoder_t *dv),
           dv_get_num_channels (dv_decoder_t *dv),
           dv_get_raw_samples (dv_decoder_t *dv, int chan),
           dv_is_4ch (dv_decoder_t *dv),
           dv_get_frequency (dv_decoder_t *dv);

#ifdef __cplusplus
}
#endif

#endif // DV_H 

/*@}*/