Skip to content

Commit 7d3bb90

Browse files
committed
transcoder_fftool: add cutting, qscale, pix_fmt, scale set
Fix code style typos in transcoder and common Signed-off-by: Jack Lau <[email protected]>
1 parent 731e219 commit 7d3bb90

File tree

12 files changed

+258
-192
lines changed

12 files changed

+258
-192
lines changed

src/builder/src/cut_video_page.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -416,8 +416,8 @@ void CutVideoPage::OnCutClicked() {
416416
ProcessParameter *processParam = new ProcessParameter();
417417

418418
// Set start and end time (convert milliseconds to seconds)
419-
encodeParam->SetStartTime(startTime / 1000.0);
420-
encodeParam->SetEndTime(endTime / 1000.0);
419+
encodeParam->set_start_time(startTime / 1000.0);
420+
encodeParam->set_end_time(endTime / 1000.0);
421421

422422
// Use copy mode for fast cutting (no re-encoding)
423423
// Leave video and audio codec empty to copy streams

src/common/include/encode_parameter.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ class EncodeParameter {
6666

6767
void set_preset(std::string p);
6868

69-
void SetStartTime(double t);
69+
void set_start_time(double t);
7070

71-
void SetEndTime(double t);
71+
void set_end_time(double t);
7272

7373
std::string get_video_codec_name();
7474

@@ -88,9 +88,9 @@ class EncodeParameter {
8888

8989
std::string get_preset();
9090

91-
double GetStartTime();
91+
double get_start_time();
9292

93-
double GetEndTime();
93+
double get_end_time();
9494
};
9595

9696
#endif // ENCODEPARAMETER_H

src/common/src/encode_parameter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,18 +117,18 @@ void EncodeParameter::set_preset(std::string p) {
117117

118118
std::string EncodeParameter::get_preset() { return preset; }
119119

120-
void EncodeParameter::SetStartTime(double t) {
120+
void EncodeParameter::set_start_time(double t) {
121121
startTime = t;
122122
available = true;
123123
}
124124

125-
void EncodeParameter::SetEndTime(double t) {
125+
void EncodeParameter::set_end_time(double t) {
126126
endTime = t;
127127
available = true;
128128
}
129129

130-
double EncodeParameter::GetStartTime() { return startTime; }
130+
double EncodeParameter::get_start_time() { return startTime; }
131131

132-
double EncodeParameter::GetEndTime() { return endTime; }
132+
double EncodeParameter::get_end_time() { return endTime; }
133133

134134
EncodeParameter::~EncodeParameter() {}

src/main.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -302,25 +302,25 @@ bool handleCLI(int argc, char *argv[]) {
302302

303303
// Handle time parameters with validation
304304
if (startTime >= 0.0) {
305-
encodeParam->SetStartTime(startTime);
305+
encodeParam->set_start_time(startTime);
306306
}
307307

308308
// Calculate endTime from duration if -t is specified
309309
// Note: -to takes precedence over -t if both are specified
310310
if (endTime >= 0.0) {
311-
encodeParam->SetEndTime(endTime);
311+
encodeParam->set_end_time(endTime);
312312
} else if (duration >= 0.0) {
313313
// Calculate endTime = startTime + duration
314314
double calculatedEndTime = (startTime >= 0.0 ? startTime : 0.0) + duration;
315-
encodeParam->SetEndTime(calculatedEndTime);
315+
encodeParam->set_end_time(calculatedEndTime);
316316
std::cout << "Duration: " << duration << "s, calculated end time: "
317317
<< calculatedEndTime << "s\n";
318318
}
319319

320320
// Validate time range (will be checked in transcoder as well)
321-
if (startTime >= 0.0 && encodeParam->GetEndTime() >= 0.0) {
322-
if (encodeParam->GetEndTime() <= startTime) {
323-
std::cerr << "Error: End time (" << encodeParam->GetEndTime()
321+
if (startTime >= 0.0 && encodeParam->get_end_time() >= 0.0) {
322+
if (encodeParam->get_end_time() <= startTime) {
323+
std::cerr << "Error: End time (" << encodeParam->get_end_time()
324324
<< "s) must be greater than start time (" << startTime << "s)\n";
325325
result = false;
326326
goto end;

src/tests/transcoder_test.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ TEST_F(TranscoderTest, VideoCutCopyMode) {
123123
ProcessParameter processParams;
124124

125125
// Set start and end time (cut first 1 second)
126-
encodeParams.SetStartTime(0.0);
127-
encodeParams.SetEndTime(1.0);
126+
encodeParams.set_start_time(0.0);
127+
encodeParams.set_end_time(1.0);
128128
// Leave codecs empty for copy mode
129129

130130
auto converter = std::make_unique<Converter>(&processParams, &encodeParams);
@@ -149,8 +149,8 @@ TEST_F(TranscoderTest, VideoCutWithTranscode) {
149149
ProcessParameter processParams;
150150

151151
// Set start and end time (cut from 0.5s to 1.5s)
152-
encodeParams.SetStartTime(0.5);
153-
encodeParams.SetEndTime(1.5);
152+
encodeParams.set_start_time(0.5);
153+
encodeParams.set_end_time(1.5);
154154

155155
// Set video codec for transcoding
156156
encodeParams.set_video_codec_name("libx264");
@@ -174,8 +174,8 @@ TEST_F(TranscoderTest, VideoCutInvalidTimeRange) {
174174
ProcessParameter processParams;
175175

176176
// Set invalid time range (end time before start time)
177-
encodeParams.SetStartTime(2.0);
178-
encodeParams.SetEndTime(1.0);
177+
encodeParams.set_start_time(2.0);
178+
encodeParams.set_end_time(1.0);
179179

180180
auto converter = std::make_unique<Converter>(&processParams, &encodeParams);
181181
converter->set_transcoder("FFMPEG");
@@ -199,7 +199,7 @@ TEST_F(TranscoderTest, VideoCutStartTimeOnly) {
199199
ProcessParameter processParams;
200200

201201
// Set only start time (should cut from start time to end of video)
202-
encodeParams.SetStartTime(0.5);
202+
encodeParams.set_start_time(0.5);
203203
// Don't set end time (defaults to -1.0)
204204

205205
auto converter = std::make_unique<Converter>(&processParams, &encodeParams);
@@ -227,8 +227,8 @@ TEST_F(TranscoderTest, VideoCutWithDuration) {
227227
// This simulates: -ss 0.5 -t 1.0 (cut from 0.5s for 1 second duration)
228228
double startTime = 0.5;
229229
double duration = 1.0;
230-
encodeParams.SetStartTime(startTime);
231-
encodeParams.SetEndTime(startTime + duration); // endTime = 1.5s
230+
encodeParams.set_start_time(startTime);
231+
encodeParams.set_end_time(startTime + duration); // endTime = 1.5s
232232

233233
auto converter = std::make_unique<Converter>(&processParams, &encodeParams);
234234
converter->set_transcoder("FFMPEG");

src/transcoder/include/transcoder.h

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626

2727
class Transcoder {
2828
public:
29-
Transcoder(ProcessParameter *processParameter,
30-
EncodeParameter *encodeParameter)
31-
: processParameter(processParameter), encodeParameter(encodeParameter) {
29+
Transcoder(ProcessParameter *process_parameter,
30+
EncodeParameter *encode_parameter)
31+
: process_parameter(process_parameter), encode_parameter(encode_parameter) {
3232
last_ui_update = std::chrono::system_clock::now();
3333
}
3434

@@ -50,8 +50,8 @@ class Transcoder {
5050
duration_history.size();
5151
}
5252

53-
void send_process_parameter(int64_t frameNumber, int64_t frameTotalNumber) {
54-
processNumber = frameNumber * 100 / frameTotalNumber;
53+
void send_process_parameter(int64_t frame_number, int64_t frame_total_number) {
54+
process_number = frame_number * 100 / frame_total_number;
5555

5656
static auto last_encoder_call_time = std::chrono::system_clock::now();
5757
auto now = std::chrono::system_clock::now();
@@ -62,8 +62,8 @@ class Transcoder {
6262
last_encoder_call_time = now;
6363

6464
double smooth_duration = compute_smooth_duration(duration);
65-
if (frameNumber > 0 && frameTotalNumber > 0) {
66-
remainTime = smooth_duration * (100 - processNumber) / 1000;
65+
if (frame_number > 0 && frame_total_number > 0) {
66+
remain_time = smooth_duration * (100 - process_number) / 1000;
6767
}
6868

6969
// Only update UI if enough time has passed (100ms)
@@ -72,27 +72,27 @@ class Transcoder {
7272
now - last_ui_update)
7373
.count();
7474
if (time_since_last_ui_update >= 100) {
75-
processParameter->set_process_number(processNumber);
76-
if (frameNumber > 0 && frameTotalNumber > 0) {
77-
processParameter->set_time_required(remainTime);
75+
process_parameter->set_process_number(process_number);
76+
if (frame_number > 0 && frame_total_number > 0) {
77+
process_parameter->set_time_required(remain_time);
7878
}
7979
last_ui_update = now;
8080
}
8181

82-
std::cout << "Process Number (percentage): " << processNumber << "%\t"
82+
std::cout << "Process Number (percentage): " << process_number << "%\t"
8383
<< "Current duration (milliseconds): " << duration << "\t"
8484
<< "Smoothed Duration: " << smooth_duration << " ms\t"
85-
<< "Estimated Rest Time (seconds): " << remainTime
85+
<< "Estimated Rest Time (seconds): " << remain_time
8686
<< std::endl;
8787
}
8888

89-
ProcessParameter *processParameter = NULL;
90-
EncodeParameter *encodeParameter = NULL;
89+
ProcessParameter *process_parameter = NULL;
90+
EncodeParameter *encode_parameter = NULL;
9191

92-
int64_t frameNumber = 0;
93-
int64_t frameTotalNumber = 0;
94-
int processNumber = 0;
95-
double remainTime = 0;
92+
int64_t frame_number = 0;
93+
int64_t frame_total_number = 0;
94+
int process_number = 0;
95+
double remain_time = 0;
9696

9797
std::chrono::system_clock::time_point
9898
last_ui_update; // Track last UI update time

src/transcoder/include/transcoder_bmf.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525

2626
class TranscoderBMF : public Transcoder {
2727
public:
28-
TranscoderBMF(ProcessParameter *processParameter,
29-
EncodeParameter *encodeParamter);
28+
TranscoderBMF(ProcessParameter *process_parameter,
29+
EncodeParameter *encode_parameter);
3030

3131
bool prepare_info(std::string input_path, std::string output_path);
3232

@@ -38,8 +38,8 @@ class TranscoderBMF : public Transcoder {
3838

3939
private:
4040
// encoder's parameters
41-
bool copyVideo;
42-
bool copyAudio;
41+
bool copy_video;
42+
bool copy_audio;
4343

4444
int width;
4545
int height;

src/transcoder/include/transcoder_ffmpeg.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ typedef struct FilteringContext {
3737

3838
class TranscoderFFmpeg : public Transcoder {
3939
public:
40-
TranscoderFFmpeg(ProcessParameter *processParameter,
41-
EncodeParameter *encodeParameter);
40+
TranscoderFFmpeg(ProcessParameter *process_parameter,
41+
EncodeParameter *encode_parameter);
4242
~TranscoderFFmpeg();
4343

4444
bool transcode(std::string input_path, std::string output_path);
@@ -76,10 +76,10 @@ class TranscoderFFmpeg : public Transcoder {
7676
AVStream *outStream);
7777

7878
private:
79-
char errorMsg[128];
79+
char error_msg[128];
8080
// encoder's parameters
81-
bool copyVideo;
82-
bool copyAudio;
81+
bool copy_video;
82+
bool copy_audio;
8383

8484
// Decoder and encoder contexts
8585
StreamContext *decoder;

src/transcoder/include/transcoder_fftool.h

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
class TranscoderFFTool : public Transcoder {
2222
public:
23-
TranscoderFFTool(ProcessParameter *processParameter,
24-
EncodeParameter *encodeParameter);
23+
TranscoderFFTool(ProcessParameter *process_parameter,
24+
EncodeParameter *encode_parameter);
2525
~TranscoderFFTool();
2626

2727
bool prepared_opt();
@@ -30,17 +30,27 @@ class TranscoderFFTool : public Transcoder {
3030

3131
private:
3232
// encoder's parameters
33-
bool copyVideo;
34-
bool copyAudio;
33+
bool copy_video;
34+
bool copy_audio;
3535

36-
std::string videoCodec;
37-
int64_t videoBitRate;
38-
std::string audioCodec;
39-
int64_t audioBitRate;
36+
std::string video_codec;
37+
int64_t video_bit_rate;
38+
std::string audio_codec;
39+
int64_t audio_bit_rate;
4040

41-
static int frameNumber;
41+
// Additional video parameters
42+
uint16_t width;
43+
uint16_t height;
44+
int qscale;
45+
std::string pixel_format;
4246

43-
int64_t frameTotalNumber;
47+
// Time range parameters
48+
double start_time; // in seconds
49+
double end_time; // in seconds
50+
51+
static int frame_number;
52+
53+
int64_t frame_total_number;
4454
};
4555

4656
#endif // TRANSCODERFFTOOL_H

0 commit comments

Comments
 (0)